CUDA上的布尔运算

时间:2012-01-15 16:45:16

标签: cuda boolean

我的应用程序需要对位向量执行OR和XOR等位向量操作。

e.g suppose array   A     = 000100101 (a.k.a bit vector)
                    B     = 100101010
                    A . B = 100101111

CUDA是否支持布尔变量?例如如在C中bool。如果是,它是如何存储和操作的?它是否也支持位向量操作?我在CUDA编程指南中找不到答案。

1 个答案:

答案 0 :(得分:8)

CUDA支持标准C ++ bool,但在C ++中,它只是一种保证支持两种状态的类型,因此不应在其上使用位操作。在CUDA中,与C ++一样,您可以获得整数类型(和,或者xor,补码和左右移位)的按位运算符的标准补码。理想情况下,您应该针对内存吞吐量的原因使用32位类型(或打包的32位CUDA向量类型)。