OpenCL 内置函数 'select'

标签 opencl

我不清楚内置 OpenCL 函数的目的是什么 select .有人可以澄清一下吗?
从 OpenCL 规范:

function select(gentype a, gentype b, igentype c)

returns: for each component of a vector type, result[i] = if MSB of c[i] is set ? b[i] : a[i].


在这种情况下什么是 MSB?我知道 MSB 代表最重要的位,但我不知道它与这种情况有什么关系。

最佳答案

OpenCL select是从一对向量中选择元素 (a, b) ,基于条件向量 ( c ) 的真值,返回由向量 a 中的元素组成的新向量和 b .

这里提到MSB(最高有效位),因为向量元素的真值定义为-1因此应设置 MSB(作为符号位):

a = {1 , 2}  // Pseudocode for select operands
b = {3 , 4}
c = {0 ,-1}
r = {1 , 4}  // The result r contains some of a and b

关于OpenCL 内置函数 'select',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7635706/

相关文章:

c++ - OpenCL 内存带宽/合并

opencl - 调用 clEnqueueNDRangeKernel 时出现错误 CL_INVALID_PROGRAM_EXECUTABLE

c++ - 使用 Boost 的 Visual Studio C++/OpenCL 项目未在 Linux 上使用 g++ 进行编译

c - OpenCL 内核似乎没有获取全局 id "globally"

python - pyopencl array sum 添加数组

pointers - OpenCL:传递指向本地内存的指针

c++ - OpenCL 仅读取/写入缓冲内存的 1/4,有时会崩溃

java - 如果安装了 Nvidia 或 AMD GPU 卡,则获取 bool

compiler-construction - 如何在 Mac OS X 10.6.3 上编译 Open CL?

c - OpenCL get_local_id() 永远不会返回 0?