[自作日記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

Startup JAPAN 2025 に出展いたしました

Startup JAPAN 2025 に出展いたしました

こんにちは! 2025年5月8日(木)-5月9日(金)に東京ビッグサイトで開催された Startup JAPAN 2025 に出展いたしましたので、簡単にレポートいたします😊 開催概要 出展概要 今回は当社が開発するアバター動画生成AI「MotionVox™」を中心に出展させていただきました! 展示会について簡単にふりかえってみたいとおもいます 当社ブース 当社ブースはこんなかんじです。 今回は、ブースというか、このイーゼルのような雰囲気の木枠にポスターをくっつけるというスタイルでの展示方式でした。 こういう方式ははじめてなので斬新でした。おそらくこの方式で相当なコストダウンを図れておりスタートアップにはうれしいですね。セットアップも数分で終わりました。 会場 今回の会場はビッグサイトの南ホールでした。南ホールは、ビッグサイト入口からすぐそこなので駅から会場までたいして歩かず、疲れずに行くことができアクセスがとても良いです。 ホールは広めですが、ところせましと400社の出展会社がひしめきあっておりスタートアップの勢いのある会場となっており

By Qualiteg ビジネス開発本部 | マーケティング部
GPUサービスで「Segmentation Fault 」に出会ったら~分析から解決までの実践アプローチ~

GPUサービスで「Segmentation Fault 」に出会ったら~分析から解決までの実践アプローチ~

こんにちは! 今日は仮想環境+GPUなサービスにおける「Segmentation Fault」について、分析と対処法について書いてみたいと思います。 Segmentation Faultの本質と特徴 Segmentation Faultは、プログラムが保護されたメモリ領域にアクセスしようとした際にOSが発生させる例外です。 今回は複数のGPUサービス(つまりGPUを使うプロセス)が動作していて、そのうちの1つを再起動したときに発生しました。 毎回発生するわけではありません。むしろ数百回の起動に1回程度ですが、1回でも発生すると絶望的な結果につながります。というのも、1つのGPUサービスの停止が SPOF となってサービス全体に影響が発生します。かつ、1回でも「Segmentation Fault」が発生してしまうと、その原因となったプロセスが二度と起動しなくなる、というやっかいな現象でした。 このように「普段は正常に動作しているのに突然動かなくなる」というのがデバッグを非常に難しくします。 とくにGPU+仮想化の組み合わせで従来のC++アプリよりも発生確率がぐっとあがる印象

By Qualiteg プロダクト開発部
シェルスクリプトからcondaコマンドを活用したいとき

シェルスクリプトからcondaコマンドを活用したいとき

こんにちは! 今日はみんな大好きcondaコマンドについてです。 condaコマンドで仮想環境に入って、何らかの処理をして、戻ってくる ようなシェルスクリプト、バッチタスクをやるときのTipsです。 AI開発において、Anacondaとその中核であるcondaパッケージマネージャーはとっても重宝します。 しかし、シェルスクリプトから自動的にcondaを利用しようとすると、意外なハードルがあります。 本記事では、シェルスクリプトからcondaコマンドを正しく呼び出す方法について解説します。 condaと非対話モードの課題 AnacondaがインストールされているLinux環境において、condaコマンドは通常、.bashrcや.bash_profileなどの設定ファイルによって初期化されます。 なんとなくシェルをつかっていると、このcondaコマンドの初期化を忘れてしまいますが、これらの設定は多くの場合シェルの「対話モード」でのみ有効になるように設計されています。 ゆえにシェルスクリプトのような非対話モードでは、condaコマンドが正しく機能してくれません 例えば、.b

By Qualiteg プロダクト開発部
Node.jsで大容量ファイルを扱う:AIモデルのような大きなデータ保存はストリーム処理使いましょう

Node.jsで大容量ファイルを扱う:AIモデルのような大きなデータ保存はストリーム処理使いましょう

こんにちは!今日はAIシステムのフロントサーバーとしてもよく使用するNode.jsについてのお話です。 AIモデルの普及に伴い、大容量のデータファイルを扱う機会が急増しています。LLMなどのモデルファイルやトレーニングデータセットは数GB、場合によっては数十、数百GBにも達することがあります。 一方、Node.jsはWebアプリケーションのフロントサーバーとして広く採用されており、データマネジメントやPythonで書かれたAIバックエンドとの橋渡し役としてもかなりお役立ちな存在です。 本記事では、Node.js v20LTSで5GB程度のファイルを処理しようとして遭遇した問題と、その解決方法について解説します。 Node.jsのバッファサイズ制限の変遷 Node.jsのバッファサイズ制限は、バージョンによって大きく変化してきました Node.jsバージョン サポート終了日 バッファサイズ上限 備考 Node.js 0.12.x 2016年12月31日 ~1GB 初期のバッファサイズ制限(smalloc.kMaxLength使用) Node.js 4.

By Qualiteg プロダクト開発部