nvcc
-deviceemu
CUDA Toolkit 3.0でオプションを戻すために使用されていました
CUDA Toolkit 3.0をダウンロードしてインストールし、簡単なプログラムを実行しようとしました。
#include <stdio.h>
__global__ void helloWorld() {
printf("Hello world! I am %d (Warp %d) from %d.\n",
threadIdx.x, threadIdx.x / warpSize, blockIdx.x);
}
int main() {
int blocks, threads;
scanf("%d%d", &blocks, &threads);
helloWorld<<<blocks, threads>>>();
cudaDeviceSynchronize();
return 0;
}
CUDAツールキット3.0がいることを注意nvcc
していました/usr/local/cuda/bin/
。
それをコンパイルするのが難しいことがわかりました:
NOTE: device emulation mode is deprecated in this release
and will be removed in a future release.
/usr/include/i386-linux-gnu/bits/byteswap.h(47): error: identifier "__builtin_bswap32" is undefined
/usr/include/i386-linux-gnu/bits/byteswap.h(111): error: identifier "__builtin_bswap64" is undefined
/home/user/Downloads/helloworld.cu(12): error: identifier "cudaDeviceSynchronize" is undefined
3 errors detected in the compilation of "/tmp/tmpxft_000011c2_00000000-4_helloworld.cpp1.ii".
私はインターネットgcc-4.2
でgcc-4.9.2
、エラーの代わりに使用したり、同様に古いものを使用したりすると、エラーが消える可能性があることを発見しました。私はあきらめた。