Nvidia公式ガイドに従ってcuda-7.0をインストールしましたが、完全な説明が提供されないいくつかの問題がありました。そして、私のテストサンプルはmake
でビルドできません。インストール中に見つけたいくつかの間違いについて説明します。
NVIDIA Corporation GK107 [GeForce GT 640 OEM]
によって返されるlspci | grep -i nvidia
を使用して、64ビットUbuntu 14.04で作業しています。私のgccバージョンは4.4.7です。
https://developer.nvidia.com/cuda-downloads 「Linux x86-> Ubuntu 14.04-> Local Package Installer」からダウンロードしましたが、確認するmd5値は提供されません。しかし、後でインストールは見たところうまくいきました。
やった:
Sudo dpkg -i cuda*.deb # returned: OK
Sudo apt-get update
Sudo apt-get install cuda
公式ガイドが言ったように、まず環境パスを設定する必要があります。変更後:
cd /usr/local/cuda-7.0
パスを追加できます:
export PATH=/usr/local/cuda-7.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-7.0/lib64:$LD_LIBRARY_PATH
最初の問題は次のとおりです。端末を閉じるたびにパスが失われます。最初のディレクトリの下にnvccがあるnvcc -V
で確認できるので。
サンプルをコンパイルしようとしたとき:
cd /usr/local/cuda-7.0/samples
Sudo make
最後にエラーを返しました:
make[1]: entering directory `/usr/local/cuda-7.0/samples/2_Graphics/Mandelbrot'
/usr/local/cuda-7.0/bin/nvcc -ccbin g++ -m64 -gencode
Arch=compute_20,code=sm_20 -gencode Arch=compute_30,code=sm_30 -gencode
Arch=compute_35,code=sm_35 -gencode Arch=compute_37,code=sm_37 -gencode
Arch=compute_50,code=sm_50 -gencode Arch=compute_52,code=sm_52 -gencode
Arch=compute_52,code=compute_52 -o Mandelbrot Mandelbrot.o Mandelbrot_cuda.o Mandelbrot_gold.o -L../../common/lib/linux/x86_64 -L/usr/lib/"nvidia-346" -lGL -lGLU -lX11 -lXi -lXmu -lglut -lGLEW
/usr/bin/ld: warning: libnvidia-tls.so.346.46, needed by /usr/lib/nvidia-346/libGL.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libnvidia-glcore.so.346.46, needed by /usr/lib/nvidia-346/libGL.so, not found (try using -rpath or -rpath-link)
/usr/lib/nvidia-346/libGL.so:‘_nv018tls’ undefined reference
...
# list of undefined reference
そして、私はこれ以上先へ進むことができません。
cat /proc/driver/nvidia/version
にはディレクトリ/proc/driver
がないため、nvidia/
は機能しません。
/dev/nvidia*
は終了しません。
nvidia-smi
コマンドが見つかりません。
これらの問題は、再起動後に発生します。
現在のユーザーの~/.profile
の下にこれらの2行を追加することにより、パスとlibの設定を修正しました。
export PATH=/usr/local/cuda-7.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-7.0/lib64:$LD_LIBRARY_PATH
そして、有用なリンクを見つけました: buntu 14.04でのCUDAのインストールとテスト 代わりに実行ファイルでインストールする必要があるようです。
いくつかの試行の後、私は最終的に解決策を見つけました。 CUDAのインストールは苦痛です。そのため、元に戻す方法のないシステム構成が破損し続けます。
インストールのソリューションは、tty1(コマンドライン)モードで実行する必要があります。NVIDIAドライバをインストールする前にGUIサービスを終了する必要があるためです。働くことを拒否する。そして、.run
ファイルが必要です。理由により、.debファイルが自分自身を正しく構成することは決してなく、それらを機能させることもできません。 look buntu 14.04でのCUDAのインストールとテスト 同様のソリューションについて。
私の証跡によると、言及する必要があります:
同じ問題がありました。次のコマンドを実行すると、問題をテストして理解するのに役立ちました。
ldd /usr/lib/nvidia-346/libGL.so.346.46
最後に、以下を~/.profile
に追加すると問題が解決しました:
export LD_LIBRARY_PATH=/usr/lib/nvidia-346:$LD_LIBRARY_PATH
実際、/usr/lib/nvidia-346
パスはリンカーに与えられていません。
私も、Ubuntu 14.04、x86_64 with cuda 7.5で同じ問題に直面しました。警告は次のとおりです。
/usr/bin/ld: warning: libnvidia-tls.so.352.63, needed by /usr/lib/nvidia-352/libGL.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libnvidia-glcore.so.352.63, needed by /usr/lib/nvidia-352/libGL.so, not found (try using -rpath or -rpath-link)
これはldd /usr/lib/nvidia-352/libGL.so
の出力でした:
$ ldd /usr/lib/nvidia-352/libGL.so
linux-vdso.so.1 => (0x00007ffc1c5d4000)
libnvidia-tls.so.352.63 =>
libnvidia-glcore.so.352.63 =>
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f161512e000)
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f1614f1c000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1614b57000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f1614952000)
libm.so.6 => /lib/x86_64-linux-(0x00007f1615488000)gnu/libm.so.6 (0x00007f161464c000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f161442d000)
/lib64/ld-linux-x86-64.so.2 (0x0000557aa9c51000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f1614228000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f1614022000)
~/.zshrc
(bashを使用している場合は~/.bashrc
...に次の行を追加しました。
export LD_LIBRARY_PATH=/usr/lib/nvidia-352:$LD_LIBRARY_PATH
したがって、次は~/.zshrc
のcudaに関連するエントリです。
export PATH=$PATH:/usr/local/cuda-7.5/bin
export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/lib/nvidia-352:$LD_LIBRARY_PATH
それから私は~/.zshrc
を調達しました
source ~/.zshrc
ldd /usr/lib/nvidia-352/libGL.so
が表示されます:
linux-vdso.so.1 => (0x00007ffc1c5d4000)
libnvidia-tls.so.352.63 => tls/libnvidia-tls.so.352.63 (0x00007f1617f1c000)
libnvidia-glcore.so.352.63 (0x00007f1615488000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f161512e000)
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f1614f1c000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1614b57000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f1614952000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f161464c000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f161442d000)
/lib64/ld-linux-x86-64.so.2 (0x0000557aa9c51000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f1614228000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f1614022000)
この後、NVIDIA_CUDA-7.5_Samples
ディレクトリ内のmake
ディレクトリは正常に完了しました。
同じ問題がありました。 Ubuntu 14.04のnvidia Webサイトから.debパッケージを使用してインストールしました。私にとっての解決策は:
export LD_LIBRARY_PATH=/usr/lib/nvidia-346:$LD_LIBRARY_PATH
を〜/ .bashrcに追加しますSudo bash
source ~./bashrc
make -j
これで解決しました。
Cuda-repo-ubuntuXXX_AMD64.debファイルを使用してCUDAをインストールする場合、いくつかの許可の問題があります。私が持っています