web-dev-qa-db-ja.com

エラー:cuda_runtime.h:そのようなファイルまたはディレクトリはありません

Gccにcuda_runtime.hの/ usr/cuda/local/includeを検索させるにはどうすればよいですか?

CラッパーでCUDAアプリケーションをコンパイルしようとしています。 Ubuntu 10.04を実行しています。

次のコマンドを使用して、CUDAアプリケーションを.soに正常にコンパイルしました。

nvcc -Arch=sm_11 -o libtest.so --shared -Xcompiler -fPIC main.cu

次のコマンドでcラッパーファイルをコンパイルしようとすると、

gcc -std=c99 -o main -L. -ltest main.c

私はエラーを受け取ります:

error: cuda_runtime.h: No such file or directory

Cuda_runtime.hが実際には/ usr/local/cuda/includeにあることを確認しました

16
skrieder

-Iスイッチを使用すると、gccはcuda_runtime.hファイルを見つけることができます。

gcc -std=c99 -I/usr/local/cuda/include -o main -L. -ltest main.c
10
skrieder

CMakeを使用している場合

find_package(CUDA  REQUIRED)
include_directories("${CUDA_INCLUDE_DIRS}")
5
Alex Punnen

追加 -isystem /usr/local/cuda-8.0/includeからflags.makeファイルのCXX_INCLUDESに。

0
Vidhu

私たちはCMakeを使用していましたが、それでもヘッダーファイルを見つけることができませんでした(おそらく、ディレクトリを見つけられなかったのはCMakeのバージョン./targets/x86_64-linux/includeまたは複数のCUDAバージョンがあるため)。設定 CPATH およびLD_LIBRARY_PATH修正しました:

export CPATH=/usr/local/cuda-10.1/targets/x86_64-linux/include:$CPATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.1/targets/x86_64-linux/lib:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-10.1/bin:$PATH
0
Yamaneko