基本的に、カーネルに if() があり、条件が検証された場合は、動的リストまたは配列に新しい値を格納したいと考えています。問題は、すべてのカーネルに入力されるわけではないため、threadIdx を使用できないことです。
何かのようなもの :
__global__ void myKernel(customType *c)
{
int i = threadIdx.x;
//whatever
if(condition)
c->pop(newvalue)
}
実際、ac[i]=newvalue は避けたいと思います。なぜなら、ホスト コードに for ループを使用して値が挿入されているかどうかを最後にすべての c[i] で確認し、別の構造を適切に埋める必要があるからです。スラストについて考えましたが、私の「単純な」問題にはやり過ぎのようです。
回避策を見つけるのを手伝っていただければ幸いです。