虽然浮动类型主题有几个问题,但我仍有一些要点需要澄清。我使用的是OpenCL 1.1(NVIDIA)。
我想比较数字以及将它们用作数组的索引:哪个更快? 1.)使用整数进行比较和索引 2.)或使用浮动并在我将其用作数组的索引时进行转换?
不幸的是,我不确定哪个更贵;将float转换为整数或比较整数而不是float。
在有符号整数上使用无符号整数有什么好处吗?
编辑:我问这个问题的主要原因是我有一个OpenCL代码(我的意思是主机代码和内核代码),它没有我想象的那么快,我的第一个想法就是这样。因为我使用uint而不是浮动。答案 0 :(得分:0)
我不会指望将(int) (FLOAT_MAX - 1)
与(int) (FLOAT_MAX - 2)
进行比较。结果可能会说,它们是平等的。
你的阵列有多大?可能是较小的数据类型,例如half
- 浮点数,或byte
/ short
而不是int
?