我不清楚内置 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/