ubuntu上cmake時にcudaのバージョンが一致しないことを発見しました
1368 ワード
文書ディレクトリ一、問題 二、解決方法 三、原理 一、問題
システムを再インストールしましたが、元のソフトウェアはアンインストールされていない可能性があります.例えば、以前インストールされていたのはcuda 8.0+opencv 3.4.1で、新しくインストールされたのはcuda 9.0+opencv 3.4.1です.ここではopencv 3.4.1を紹介しません.cmakeが直面した問題だけです.
cmakeリンクopencvの場合、このステップでCould NOT find CUDA:Found unsuitable version"8.0"、but required is exact version"9.0"(found/usr/local/cuda)に遭遇します.
システムかcuda 8.0かと思いますが、実は9.0のバージョンをインストールしています.端末nvcc-Vの時も9.0のバージョンで、8.0のフォルダをすべて削除しましたが、cmakeではcuda-9.0は見つかりませんでした.
Opencvの再ロード、環境変数の設定などは解決できません.
二、解決方法
以下の資料を調べて得た:ブロガーの解決方法:まずcdを現在のフォルダに
三、原理
げんりかいてんhttp://www.it1352.com/344521.html:
cmakeの言及CUDA_TOOLKIT_ROOT_DIRは、環境の1つではなくCMakeの変数として使用されます.これがなぜあなたがそれを.bashrcが働かないのかということです.FindCUDA.cmakeを見て、スクリプトはユーザーにCUDA_を指定するように要求します.TOOLKIT_ROOT_DIR prefiXがNVCCの位置ができない場合、システムパスと要求の決定でfind_に指定されます.package().使用するインストールバージョン別ツールボックス環境変数CUDA_を設定BIN_PATHがcmakeを実行する前(例えば、CUDA_BIN_PATH=の/usr/ローカル/cuda 1.0であり、デフォルト/usr/ローカル/CUDAではない)または構成後にCUDA_を設定するTOOLKIT_ROOT_DIR.値CUDA_を変更した場合TOOLKIT_ROOT_DIRは、依存経路上の様々なコンポーネントが移行します.
だからCUDA_BIN_PATHから.bashrcまたはCUDA_の指定TOOLKIT_ROOT_DIR来cmakeの:http://www.it1352.com/344521.html
システムを再インストールしましたが、元のソフトウェアはアンインストールされていない可能性があります.例えば、以前インストールされていたのはcuda 8.0+opencv 3.4.1で、新しくインストールされたのはcuda 9.0+opencv 3.4.1です.ここではopencv 3.4.1を紹介しません.cmakeが直面した問題だけです.
cmakeリンクopencvの場合、このステップでCould NOT find CUDA:Found unsuitable version"8.0"、but required is exact version"9.0"(found/usr/local/cuda)に遭遇します.
find_package(OpenCV REQUIRED)
システムかcuda 8.0かと思いますが、実は9.0のバージョンをインストールしています.端末nvcc-Vの時も9.0のバージョンで、8.0のフォルダをすべて削除しましたが、cmakeではcuda-9.0は見つかりませんでした.
Opencvの再ロード、環境変数の設定などは解決できません.
二、解決方法
以下の資料を調べて得た:ブロガーの解決方法:まずcdを現在のフォルダに
mkdir build
# cmake .. ,
cmake -D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-9.0 .. #ok , cuda
三、原理
げんりかいてんhttp://www.it1352.com/344521.html:
cmakeの言及CUDA_TOOLKIT_ROOT_DIRは、環境の1つではなくCMakeの変数として使用されます.これがなぜあなたがそれを.bashrcが働かないのかということです.FindCUDA.cmakeを見て、スクリプトはユーザーにCUDA_を指定するように要求します.TOOLKIT_ROOT_DIR prefiXがNVCCの位置ができない場合、システムパスと要求の決定でfind_に指定されます.package().使用するインストールバージョン別ツールボックス環境変数CUDA_を設定BIN_PATHがcmakeを実行する前(例えば、CUDA_BIN_PATH=の/usr/ローカル/cuda 1.0であり、デフォルト/usr/ローカル/CUDAではない)または構成後にCUDA_を設定するTOOLKIT_ROOT_DIR.値CUDA_を変更した場合TOOLKIT_ROOT_DIRは、依存経路上の様々なコンポーネントが移行します.
だからCUDA_BIN_PATHから.bashrcまたはCUDA_の指定TOOLKIT_ROOT_DIR来cmakeの:http://www.it1352.com/344521.html