発端
先日、Linux Mint20.1にCUDAをインストールしてさあ、GPGPUを再開しましょうと意気込んでいると・・・動作しません。端末からnvidia-smiと入れるとエラーです。ドライバがうまく機能していないようです。使っていたのは古いGTX960です。もう対応してないのかも?とこの際、GTX1650に換装しました。試行錯誤の上、CUDAも動作するようになりました。後日のために記録します。
ハード
もともとはドスパラ製のガレリアというゲームマシンです。GPGPUを試すのに買ったものでした。ドスパラの店員さんに相談してみたら、GTX1650への換装は特に問題なさそうです。msi製のAERO ITX1650を購入しました。1万5千円程度でした。補助電源もGTX960と同じものでOKでした。サイズは1650の方が小ぶりで、余裕でボードに収まりました。
ドライバのインストール
問題はソフトウェアの方でした。次の手順でやるとうまくいきます。
〇まず、普通にLinux Mint 20.1をUSBブートでインストールします。そして再起動して作業開始です。
〇最初にやることはインターネットへの接続です。これがないとドライバを取得できません。私の場合、有線接続なので以前の自分の記事を見ながらネットに接続しました。
https://qiita.com/sym_num/items/cfb32a3841721eed98e4
〇端末より sudo apt update sudo apt upgrade を実行します。
けっこう時間がかかります。20分くらいかかってました。
途中、次のような画面になります。セキュアブートのためにパスワードを2回、入力します。
〇メニューからドライバマネージャを呼び出します。
当初は次のような状態です。
〇再起動
これを推奨である460に変更します。そして再起動です。ここからが重要です。セキュアブートです。次のように画面で矢印キーで選択して進みます。これをやらないで単に進んでしまうとドライバが正しくインストールされません。途中パスワードの入力を求められます。これはupgradeの時に入力したものを入力します。エコーは表示されません。
〇確認
再起動したら再度ドライバマネージャで確認します。正しく推奨の460に変更されています。
〇換装
ここまで来たらいったん電源を落とします。GTX960のボードを外し、GTX1650のボードに入れ替えます。補助電源のプラグの接続を忘れないように。
〇電源投入
これで動くはず・・・が、画面が真っ黒のまま先に進みません。おかしいなぁ? 一度、電源を強制的に落として再起動させました。今度は正しく動作しました。
〇CUDAインストール
あとはひたすらCUDAのインストールです。下記の記事を参考にしてください。
https://qiita.com/sym_num/items/557f2a17eda5e2c90706
上手くいきました。