そのため、NVIDIA の CUDA API 用の 3 つのインストーラーがあります。1 つ目はドライバーで、サイレント インストール フラグ オプションが付属しています (ただし、root であり、実行レベル 3 である必要があります)。
次の 2 つを以下に手動でインストールする方法を示します (簡潔にするために、その後のインストールの長い混乱は省略してください)。
[root]# sh cudatoolkit_4.1.28_linux_64_rhel5.x.run アーカイブの整合性を検証しています...すべて問題ありません。NVIDIA CUDA の解凍............................................................ ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ...................................................
インストール パスを入力してください (デフォルトでは /usr/local/cuda、「/cuda」が追加されます):
以前のバージョンの CUDA が /usr/local/cuda/bin で見つかりました
。アンインストールしますか? (はい/いいえ/中止): はい
つまり、「インストール パスを入力してください」と認識し、'\n' を出力する必要があります。
ここで注意が必要なのは、アンインストールが常に存在するとは限らないことです。そうでない場合は、インストールが完了するのを待つ必要がありますが、「アンインストールしますか?」というメッセージが表示された場合は、完了するには「はい」を出力する必要があります。
3 番目と最後のインストーラーの出力を以下に示します。
[root]# sh gpucomputingsdk_4.1.28_linux.run
アーカイブの整合性を検証しています... すべて問題ありません。
NVIDIA GPU コンピューティングの解凍
SDK................................................................. ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ............................................................................ ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ...................................................................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ............................................................................. ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ............................................................................. ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ............................................................................. ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ............................................................................. ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ............................................................................. ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ............................................................................. ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ............................................................................. ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ................................................................... ............................................................................. ............................................................................. ..........
インストール パスを入力してください (デフォルト ~/NVIDIA_GPU_Computing_SDK): /usr/local/CUDA_SDK
CUDA は /usr/local/cuda
にあります これが正しい場合は、以下のデフォルトを選択してください。
正しくない場合は、CUDA への正しいパスを
入力します CUDA インストール パスを入力します (デフォルトは /usr/local/cuda):
これについては、アンインストール アクションがないため、少し単純に見えます。
「Enter install path」を検出して「/usr/local/CUDA_SDK\n」を出力し、「Enter CUDA install path」を検出して「\n」を出力するだけです。
私の考えは、一対の期待スクリプトを使用することでした-各インストーラーに1つ-しかし、ルートに切り替えるコマンドの二重引用符内にネストされているため、これにはいくつかの問題があります. 私が現在持っているものは次のとおりです。
#!/bin/bash
CR="\"\n\""
YES="\"Yes\""
INSTALL_PATH_REQUEST="\"Enter install path\""
CUDA_PATH_REQUEST="\"Enter CUDA install path\""
UNINSTALL_REQUEST="\"Would you like to uninstall?\""
TOOLKIT=`ls -t cudatoolkit* | head -n 1`
TOOLKIT_EXPECT="sh $TOOLKIT"
SDK=`ls -t gpucomputingsdk* | head -n 1`
SDK_INSTALL_PATH="\"/usr/local/CUDA_SDK\n\""
SDK_EXPECT="sh $SDK"
/bin/su root -c "yum -q -y install expect expectk;
/sbin/init 3; sh `ls -t NVIDIA*|head -n 1` -s --update -a -X;
/usr/bin/expect <<EOF;
spawn $TOOLKIT_EXPECT
expect $INSTALL_PATH_REQUEST
send $CR
expect $UNINSTALL_REQUEST
send $YES
EOF
/usr/bin/expect <<EOF;
spawn $SDK_EXPECT
expect $INSTALL_PATH_REQUEST
send $SDK_INSTALL_PATH
expect $CUDA_PATH_REQUEST
send $CR
EOF
/sbin/init 5"
これにより、root に適切に切り替わり (パスワードが入力されると)、組み込みオプションを使用してドライバーが正しくインストールされます。次に、2 番目のインストール プロセスを生成し、最初の引数 (キャリッジ リターン) を入力するように見えますが、2 番目のインストーラを途中で終了するようです (たとえば、"yes" オプションが表示されません)。
私はかなり近づいているように感じます。うまくいけば、誰かが私が間違っている場所を指摘し、正しい構文を提案してくれることを願っています。
注:
yum install コマンドを追加しました。これは、インストールしている一部のマシンに期待 (stock CentOS 6
) がなかったためです。