0

カーネル関数の char 型に問題があります。大きなchar型を小さなchar型に分割したい。

    __global__ void kernelExponentLoad(char* BiExponent,int lines){ 
  // BiExponent is formed from 80x100000 numbers
        const int numThreads = blockDim.x * gridDim.x;
        const int threadID = blockIdx.x * blockDim.x + threadIdx.x;
        for (int k = threadID; k < 100000; k += numThreads){
            char* cstr = new char[80];
            for(int i=0; i<80; i++){    
            cstr[i] = BiExponent[(k*80)+i];
            ...
            delete[] cstr;
            }
        }
    }

この私の解決策は機能しません - 起動後にカーネルがクラッシュします (作業を停止します)。「char *BiExponent」のデータは問題ありません (関数 printf は正常に動作します)。

4

1 に答える 1