2012-01-15 2 views
3

내 응용 프로그램은 비트 벡터에서 OR 및 XOR과 같은 비트 벡터 연산을 수행해야합니다.CUDA의 부울 연산

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

부울 변수를 지원합니까? 예 : bool C와 같습니다. 그렇다면 어떻게 저장하고 작동합니까? 그것은 또한 비트 벡터 연산을 지원합니까? CUDA 프로그래밍 가이드에서 답을 찾을 수 없습니다.

답변

8

CUDA는 표준 C++ bool을 지원하지만 C++에서는 두 상태를 지원할 수있는 유형이므로 비트 연산을 사용하면 안됩니다. C++ 에서처럼 CUDA에서 정수형 (and, or, xor, complement, left and right shift)에 대한 bitwise 연산자의 표준 보완을 얻을 수 있습니다. 이상적으로는 메모리 처리량 측면에서 32 비트 유형 (또는 32 비트 CUDA 벡터 유형)을 사용하는 것이 좋습니다.