nvcc -V および nvidia-smi で表示される cuda バージョンの不一致の原因と解決策


ここに画像の説明を挿入
mmdetect 環境の最後のステップである python setup.py 開発をインストールすると、検出された cuda バージョンは 9.1 ですが、要件は 10.2 であることが表示されます。nvidia-smi を使用して、実際にバージョン 10.2であることを確認してください。/usr/local address, use stat cuda コマンドのビューも 10.2 を指しています。
ここに画像の説明を挿入
後で、nvcc -V を使用すると、クエリされたバージョン番号が 9.1 であることがわかりました。理由を確認したところ、
ここに画像の説明を挿入
CUDA には 2 つの主要な API があります: ランタイム (ランタイム) APIそしてドライバーAPI。これら 2 つの API には、対応する CUDA バージョン (9.0 や 11.1 など) があります。

ドライバー API (libuda.so など) をサポートするために必要なファイルは、GPU ドライバー インストーラーによってインストールされます。nvidia-smi は、このカテゴリの API に属します。
ランタイム API (libcudart.so や nvcc など) をサポートするために必要なファイルは、CUDA Toolkit インストーラーによってインストールされます。(CUDA Toolkit インストーラーは GPU ドライバー インストーラーを統合する場合があります)。nvcc は、CUDA Toolkit とともにインストールされる CUDA コンパイラ ドライバー ツールです。nvcc は、それ自体がビルドされたときの CUDA ランタイム バージョンのみを認識します。どのバージョンの GPU ドライバーがインストールされているか、または GPU ドライバーがインストールされているかどうかさえもわかりません。
要約すると、ドライバー API とランタイム API の CUDA バージョンに一貫性がない場合、CUDA Toolkit インストーラーの GPU ドライバー インストーラーではなく、別の GPU ドライバー インストーラーを使用していることが原因である可能性があります。

しかし、実際にはcudaをインストールしただけだったので、パスの問題だと判断し、パスに以下の2行のコードを追加しました。

vim .bashrc
export PATH=/usr/local/cuda-10.2/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64:$LD_LIBRARY_PATH

次にアクティブ化します

source ~/.bashrc

最後に問題を解決します。ここに画像の説明を挿入
mmdetctのインストールも成功しました

Guess you like

Origin blog.csdn.net/onepunch_k/article/details/123334444