CUDAでメモリ割り当て

cuda-memory.png

cudaMalloc

cudaErrorInvalidValue

This indicates that one or more of the parameters passed to the API call is not within an acceptable range of values.
cudaMalloc((void**)&dev_data,size);

cudaMalloc((void**)dev_data,size);

こんな風に、&を省いたらエラーになった。

cudaMalloc((void**)dev_data[0],size);

間違えてこんな風に書いてもエラーになった。

cudaErrorMemoryAllocation

The API call failed because it was unable to allocate enough memory to perform the requested operation.

cudaMemcpy

cudaMemcpy(dest,src,count,cudaMemcpyDeviceToHost or cudaMemcpyHostToDevice);

Invlid Argument

cudaMallocでまだ確保していない変数を使ってMemCpyしようとするとこのエラーになる。

cudaErrorLaunchTimeout

You need to disable display driver timeout
NVIDIA コントロールパネルで、「PhysXの構成の設定」->「PhysXプロセッサを選択してください。」で「自動選択」ではなく、GPUっぽいのを選ぶべし。

サポートサイト Wikidot.com