有很多数据类型的OpenCL,如int,cl_int,char,cl_char,"短","cl_short".但是int和之间有什么区别,什么cl_int时候应该使用cl_int而不是int?
intC/C++中的大小取决于机器.它保证至少为 16位,但这些天通常是32位,也可能是64位.这在OpenCL中的主机和设备之间传递数据时会出现问题 - 如果设备对于什么有不同的想法a的大小int,然后将int值传递给设备可能不会产生预期的结果.
OpenCL头提供了cl_int定义,以提供始终为 32位的数据类型,该数据类型与OpenCL设备期望的大小相匹配.这意味着您可以将cl_int值或cl_int值数组从主机传递到设备(并返回),而不会遇到大小不匹配的问题.
因此,无论何时编写处理将传递给设备的值或缓冲区的主机代码,都应始终使用cl_数据类型.
| 归档时间: |
|
| 查看次数: |
1749 次 |
| 最近记录: |