CPUメモリ(C++ 11コードを使用)で作成され、または同様の方法でGPUにコピーされたブール配列bool[]
( ではないことに注意)でGPU計算を行う必要があります。std::vector<bool>
cuMemCpy
最初の質問:
sizeof(bool)
1 バイトを報告します。これは C++11 標準で保証されていますか?
2 番目の質問:
true
( )はfalse
常に ( ) として表され1
ます0
か (unsigned char
表現で)、またはコンパイラーはここで自由を持っていますか? (必要に応じて、256 未満のゼロ以外の整数を使用できます)
3 番目の質問 (PTX 固有):
PTX 論理演算or
では、xor
、 などは 8 ビットより大きい型でのみ動作します。つまり、unsigned int
withに対して論理演算を実行できますor.u32 <out>,<in1>,<in2>
。ただし、C++11型は 8 ビットのように見えるため、これは、CPU から GPU メモリに直接コピーさbool
れた の配列を操作できないことを意味するので、最初の配列をいくつかの型 PTX 論理演算に変換する必要がありますか? 、 、などで動作しますか?bools
bools
u32
u16