OpenCL:浮点数还是整数?

时间:2015-04-11 14:20:54

标签: c++ casting opencl gpgpu nvidia

虽然浮动类型主题有几个问题,但我仍有一些要点需要澄清。我使用的是OpenCL 1.1(NVIDIA)。

我想比较数字以及将它们用作数组的索引:哪个更快? 1.)使用整数进行比较和索引 2.)或使用浮动并在我将其用作数组的索引时进行转换?

不幸的是,我不确定哪个更贵;将float转换为整数或比较整数而不是float。

在有符号整数上使用无符号整数有什么好处吗?

编辑:我问这个问题的主要原因是我有一个OpenCL代码(我的意思是主机代码和内核代码),它没有我想象的那么快,我的第一个想法就是这样。因为我使用uint而不是浮动。

1 个答案:

答案 0 :(得分:0)

我不会指望将(int) (FLOAT_MAX - 1)(int) (FLOAT_MAX - 2)进行比较。结果可能会说,它们是平等的。

你的阵列有多大?可能是较小的数据类型,例如half - 浮点数,或byte / short而不是int