web-dev-qa-db-ja.com

CUDAを機能させようとすると、サンプルでhelper_cuda.hが見つかりません

CUDAをインストールしたばかりで、フォローしています http://docs.nvidia.com/cuda/cuda-getting-started-guide-for-mac-os-x/index.html

DeviceQueryなどのサンプルコードを〜/ Desktopにコピーしてコンパイルしようとするまで、すべてがうまくいきます。

コンパイル時に次のエラーが発生します。

/Developer/NVIDIA/CUDA-5.5/bin/nvcc -ccbin g++ -I../../common/inc  -m64 -Xcompiler -Arch -Xcompiler x86_64   -gencode Arch=compute_10,code=sm_10 -gencode Arch=compute_20,code=sm_20 -gencode Arch=compute_30,code=sm_30 -gencode Arch=compute_35,code=\"sm_35,compute_35\" -o deviceQuery.o -c deviceQuery.cpp
deviceQuery.cpp:23:25: error: helper_cuda.h: No such file or directory
deviceQuery.cpp: In function ‘int main(int, char**)’:
deviceQuery.cpp:111: error: ‘SPRINTF’ was not declared in this scope
deviceQuery.cpp:116: error: ‘_ConvertSMVer2Cores’ was not declared in this scope
deviceQuery.cpp:206: error: ‘checkCudaErrors’ was not declared in this scope
deviceQuery.cpp:230: error: ‘checkCudaErrors’ was not declared in this scope
deviceQuery.cpp:241: error: ‘checkCudaErrors’ was not declared in this scope
make: *** [deviceQuery.o] Error 1

コードはコンパイルされてCUDAディレクトリで実行され、コンパイラがhelper_cuda.hを見つけることができないことは明らかです。私もそれを見つけることができません。誰かが解決策を持っていますか?

9
deltap

コンパイルオプション-I../../common/incで示されているように、helper_cuda.h$CUDA_HOME/samples/common/inc/にあります。

サンプルをカスタマイズした場所にコピーする場合は、samples dir全体をコピーするか、コード/コンパイルオプションを変更してcommon/dirにスタッフを含める必要があります。

23
kangshiyin

http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#environment-setup

NVIDIA CUDA Toolkitには、ソース形式のサンプルプログラムが含まれています。 〜/ NVIDIA_CUDA-8.0_Samplesに変更し、makeと入力してコンパイルする必要があります。結果のバイナリは〜/ NVIDIA_CUDA-8.0_Samples/binの下に配置されます

必ず確認してください。

$ export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}

$ export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64\ ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

$ nvcc -V

バージョンを表示する必要があります。

$ cd ~/some_path/NVIDIA_CUDA-8.0_Samples

$ make

0
YuryChu