[自作日記17] SW編: NVIDIA Display Driver を GPUマシンの Ubuntu にインストールする

[自作日記17] SW編: NVIDIA Display Driver を GPUマシンの Ubuntu にインストールする

こんにちは!

今回は Ubuntu で GPU を使用できるようにするため、 NVIDIA Display Drive をインストールしていきます

3.2 Nvidia Display Driverのインストール

今回購入した GPU NVIDIA RTX 3090 Ti 24G に対応したディスプレイドライバーをインストールしていきます!

3.2.1 ドライバーのダウンロード

以下のサイトにアクセスして RTX 3090 Ti 用のドライバをさがします

https://www.nvidia.co.jp/Download/index.aspx?lang=jp

自分の環境(RTX 3090 Ti,Linux)を選択して、 探す をクリックするとドライバをさがしてくれるので便利です

ライセンスを確認し同意したらダウンロードの同意 をクリックします

これで、downloads ディレクトリに NVIDIA-Linux-x86_64-525.60.11.run というファイルがダウンロードされます。

3.2.2 ビルドツール gcc のインストール

さきほどインストールしたドライバーのインストールスクリプトを実行するまえに、ドライバーのビルド用のコンパイラ gcc をインストールしておく必要があります。

端末を開いて、以下のコマンドを実行します。

sudo apt install build-essential

ちなみに、gccインストールを忘れると以下のようなエラーがでるので注意しましょう

ERROR: Unable to find the development tool`cc` in your path; please make sure that you have the package 'gcc' installed. If gcc is installed on your system, then please check that `cc` is in your PATH.

上記終了したら、いったんリブートします

sudo reboot

3.2.3 Nvidia ディスプレイドライバのインストール

STEP 1. 以下のコマンドを実行して、インストールスクリプトを実行します

cd downloads/

スクリプトに実行権限を付与し、

chmod +x NVIDIA-Linux-x86_64-525.60.11.run

スクリプトを実行します

sudo ./NVIDIA-Linux-x86_64-525.60.11.run --no-x-check

(オプションに --no-x-check をつけないと、You appear to be running an X server; please exit X before installing.というエラーがでますので、オプションをつけるのを忘れないようにしましょう。)


STEP 2. ドライバのインストールが開始します


STEP 3. 以下の画面がでたら Continue installation を選択します

An alternate method of installing the NVIDIA driver was detected(This is usually a package provided by your distributor.) というメッセージは、Ubuntuでは別のほうほうでインストールできるよ と親切に教えてくれていますが、 apt install をする方法は、環境によってはうまくいかないので、このままNvidiaのインストーラーを使う! のがオススメです。

STEP4.以下の画面は OK を選択します

ERROR: The Nouveau kernel driver is currently in use by your system.This driver is incompatible with the NVIDIA driver, and must be disabled before proceeding.  と出ます。つまり Nouveau kernel driverがあると、Nvidia driverがインストールできないよという警告ですが、次のステップでなんとかなるので、OK をおします。

STEP.以下の画面は YES を選択します

For some distributions, Nouveau can be disabled by adding a file in...
** Nouveau は、無効にできるかもしれないけど試しますか?** ときいているので YES を選択します。
実際これで無効にできます。

STEP 6. 以下の画面は OK を選択します

Nouveau を無効にするための *.conf ファイルを作成した というメッセージとなります

STEP 7.以下の画面は OK を選択します

Installation has failed.Please see the file ... インストールは失敗しました みたいなメッセージがでますが、ここで落ち込まないでください。

Nouveau ドライバーをいま無効にしたので、次のインストールでは成功できますので、心配無用なのです。

STEP 8. Reboot

以下のコマンドで Reboot します

sudo reboot

STEP 9. リブートしたら、端末を開いて再びインストールスクリプトを実行します

sudo ./NVIDIA-Linux-x86_64-525.60.11.run --no-x-check

STEP 10.以下の画面は No を選択します


32ビット互換ライブラリは不要のため

STEP 11.以下の画面は

OK を選択します

WARNING: Unable to determine the path to install the libglvnd EGL vendor library config files. Check that you have pkg-config and the libglvnd development libraries installed, or specify a path with --glvnd-egl-config-path. と表示されています。
このWARNINGがきになる場合は以下を実行して libglvnd をインストールしても問題はないです

sudo apt install pkg-config libglvnd-dev
libglvnd は、複数のベンダー間で OpenGL API 呼び出しを調停するための、ベンダーに依存しないディスパッチ レイヤーです。異なるベンダーの複数のドライバーが同じファイルシステムに共存できるようにし、実行時に各 API 呼び出しをディスパッチするベンダーを決定します。

(https://github.com/NVIDIA/libglvnd)

というもので、OpenGL系のライブラリなので、なんにせよ Deep Learning 用途で使う場合には必要はないですね。

SSTEP 12. 以下の画面は No を選択します

Would you like to run the nvidia-xconfig utility to ...

「Xの設定を更新するか?」聞いています。
今はNoですすめておきます。これはnvidia-xconfigコマンドを使えばいつでも実行可能です。

STEP 12.以下の画面は OK を選択します

これで Nvidia Driver のインストール終了となります。


STEP 14.設定を反映するため リブート

これまでの設定反映のためリブートします

sudo reboot

STEP 15. リブートしたらNvidia Driver のインストールが成功したか確認する

端末を開いて以下のコマンドを実行します

nvidia-settings

OSがGPUをちゃんと認識しており無事ドライバをインストールできました!


次回は、 Anaconda をインストールして Python 環境を作れるようにしましょう!


navigation

Read more

大企業のAIセキュリティを支える基盤技術 - 今こそ理解するActive Directory 第2回 ドメイン環境の構築

大企業のAIセキュリティを支える基盤技術 - 今こそ理解するActive Directory 第2回 ドメイン環境の構築

こんにちは、今回はシリーズ第2回ドメイン環境の構築 - 検証環境の構築手順について解説いたします! 連載の構成 第1章:基本概念の理解 - Active DirectoryとKerberos/NTLM認証の基礎 【★今回です★】第2章:ドメイン環境の構築 - 検証環境の構築手順 第3章:クライアントとサーバーのドメイン参加 - ドメイン参加の詳細手順 第4章:プロキシサーバーと統合Windows認証 第5章:ブラウザ設定と認証 - 各ブラウザでの設定方法 第6章:トラブルシューティング - よくある問題と解決方法 第7章:セキュリティとベストプラクティス - 本番環境での考慮事項 第8章:実践的な構成例 - AIセキュリティツールとの統合事例 第2章:ドメイン環境の構築 2.1 ドメイン名の設計 2.1.1 ドメイン名の命名規則 Active Directoryを構築する際、

By Qualiteg コンサルティング
AIがよく間違える「クロージャ問題」の本質と対策

AIがよく間違える「クロージャ問題」の本質と対策

こんにちは! 本日は「クロージャ問題」に関する話題となります。 Pythonでループ内に関数を定義したことはありますか? もしあるなら、あれれ?な挙動に遭遇したことがあるかもしれません。 本稿では、Pythonプログラマーなら一度は経験する「クロージャ問題」について、初心者にもわかりやすく解説してみたいとおもいます クロージャとは何か? そもそも ”クロージャ” とは何でしょうか。 クロージャ(closure)とは、関数が自分の定義されたスコープの変数を覚えて持ち運ぶ仕組み のことです。 もう少し分解すると、次の2つがポイントとなります 1. 内側の関数が、外側の関数の変数を使える 2. 外側の関数が終了しても、その変数は生き続ける 普通の関数とクロージャ―を使った関数を比較してみましょう 普通の関数との比較 まずは普通の関数から、 def add(x, y): return x + y print(add(3, 5)) # 8 print(add(3, 7)

By Qualiteg プロダクト開発部
フリーランスHub様にQualiteg Blogをご紹介いただきました

フリーランスHub様にQualiteg Blogをご紹介いただきました

この度、フリーランス向け案件検索サービス「フリーランスHub」様の特集記事「トレンドをキャッチアップ!AIに関する情報が得られるメディア・ブログまとめ」にて、弊社が運営する「Qualiteg Blog」をご紹介いただきました。 掲載記事について フリーランスHub様の記事では、AI技術の最前線で活躍するエンジニアや開発者の方々に向けて、価値ある情報源となるメディア・ブログが厳選して紹介されています。 その中で、Qualiteg Blogを「AI技術の専門知識を実践的なビジネス活用につなげる貴重な情報源」として取り上げていただきました。 特に以下の点を評価いただいております * 実践的なビジネス活用事例の提供 AI新規事業創出や事業選定方法など、経営者やビジネスリーダーが直面する課題への具体的な解決策 * 技術的な深掘りコンテンツ リップシンク技術など、実際のサービスで使用されている技術の開発現場目線での詳細な解説 * 多様な情報発信 代表執筆記事、AIトピックス、講演会動画など、幅広いフォーマットでの情報提供 今後も価値ある情報発

By Qualiteg ニュース
PyTorchの重いCUDA処理を非同期化したらメモリリークした話と、その解決策

PyTorchの重いCUDA処理を非同期化したらメモリリークした話と、その解決策

こんにちは!Qualitegプロダクト開発部です! 今回は同期メソッドを非同期メソッド(async)化しただけなのに、思わぬメモリリーク※に見舞われたお話です。 深層学習モデルを使った動画処理システムを開発していた時のことです。 「処理の進捗をリアルタイムでWebSocketで通知したい」という要件があり、「単にasync/awaitを使えばいいだけでしょ?」と軽く考えていたら、思わぬ落とし穴にはまりました。 プロ仕様のGPUを使っていたにも関わらず、メモリ不足でクラッシュしてしまいました。 この記事では、その原因と解決策、そして学んだ教訓を詳しく共有したいと思います。同じような問題に直面している方の参考になれば幸いです。 ※ 厳密には「メモリリーク」ではなく「メモリの解放遅延」ですが、 実用上の影響は同じなので、この記事では便宜上「メモリリーク」と表現します。 背景:なぜ進捗通知は非同期である必要があるのか モダンなWebアプリケーションの要求 最近のWebアプリケーション開発では、ユーザー体験を向上させるため、長時間かかる処理の進捗をリアルタイムで表示することが

By Qualiteg プロダクト開発部