B4の柴田です。
最近、研究の中でcudaを使用する必要が出てきたので、GPU搭載のPCに入れたUbuntu上でcudaをインストールしました。その過程で意外と手こずったので一部共有します。
環境は以下 PC:Lenovo ideapad gaming 3 15imh05 OS:Ubuntu18.04 LTS(Window10とデュアルブートして利用) GPU:GTX 1650TI
この記事でやっていること:Nvidia社が製造しているGPUを扱うために、Nvidiaのドライバとcudaというソフトウェアをインストールする。
UbuntuにNvidiaドライバをインストールする方法は調べると色々出てきます。ドライバをインストールした後はcudaをインストールし、、、となっていくのですが、この一連の作業で結構沼にはまりました。sudo apt-get updateやupgradeで依存関係のエラーが出たり、再起動後、画面が真っ暗のままデスクトップが起動しなくなったりしました。
また、いくらやってもnvidia-smi(nvidiaドライバの動作状況を確認するためのコマンド)で以下のエラーが出ました。
そこで一度 $ sudo apt-get --purge remove nvidia-* $ sudo apt-get --purge remove cuda-* でごちゃごちゃインストールしたnvidiaとcuda関連のものをすべて削除し、cudaのみをインストールすることにしました。
cudaのインストール時にSecure bootの説明(英語)が表示され、パスワードの設定が求められる。パスワードを設定して再起動。
再起動時に青い画面になりenterキーを求められる。
enterを押した後「Enroll MOK」を選択。
起動後正常にnvidia-smiが動作し、ドライバも自動でインストールされている。
こうなれば出来ているはず。
Enroll MOKを選択するか否かで明暗が分かれます。そんな一番大事なところのスクリーンショット無いので分かりにくいかもしれませんが、今回の記事で伝えたいのは ・Ubuntuでcudaを使いたいときはNvidiaドライバのインストールはいったん忘れて先にcudaを入れてみる。 ・その際のSecure boot設定後の再起動時に忘れずにEnroll MOKを選択する。 の二点です。
ただ、研究室の違うPCで同じことをしようとしていた人にこの方法を教えてもうまくいかなかったみたいなのでPCによって動作が違ってくるのかもしれません。とはいえ、一番最初にNvidiaドライバのインストールを試みないほうがいいという点はどんなパソコンでも同じなのかなと思います。(あくまで感覚として)