OpenCL:浮点数或整数

OpenCL: float or integer?

本文关键字:整数 浮点数 OpenCL      更新时间:2023-10-16

尽管浮点类型主题中有几个问题,但我仍然有一些开放点需要澄清。我使用 OpenCL 1.1 (NVIDIA)。

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

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

使用无符号整数

比使用有符号整数有什么优点吗?

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

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

您的阵列有多大。也许较小的数据类型可以容纳,例如half -floats,或byte/short而不是int