2
関数cudaMemcpyToSymbol
を呼び出すと、無効な値エラー(cudaErrorInvalidValue
)が表示されます。エラーが発生したコードは次のようなものです。ここでcudaMemcpyToSymbolを呼び出すとcudaErrorInvalidValueエラーが発生する
__constant__ int c_queryLength; //Length of query sequence in chunks of 4
...............
if((cuda_err = cudaMemcpyToSymbol(c_queryLength,&queryLengthInChunks,
sizeof(queryLengthInChunks),0, cudaMemcpyHostToDevice))!=cudaSuccess)
{
// Check which error occured;
...............
}
タイプsize_t
であるqueryLengthInChunks
の値は、36なぜ私はこのエラーを取得しています。それにはどんな理由がありますか?
'size_t'はシステム上のCUDA' int'と同じサイズ、つまり4バイトですか? –
私は64ビットWindowsシステムを使っているので、size_tは私のシステムでは8バイトです。この場合、問題はありますか? – MetallicPriest
もちろん、CUDAのintはわずか4バイトです。 8バイトの変数を4バイトの定数にコピーすることはできません。 –