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

AGI時代に向けたプログラマーの未来:役割変化とキャリア戦略

AGI時代に向けたプログラマーの未来:役割変化とキャリア戦略

はじめに 私がはじめてコードを書いたのは1989年です。 当時NECのPC88というパソコンを中古でかってもらい N-88 Basic というBASIC言語のコードをみようみまねで書いて動かしたあの日から何年経つのでしょうか。 当時、電波新聞社のマイコンBASICマガジンという雑誌があり、ベーマガにはいろんなパソコン向けのプログラムコードが掲載されていました。 そんなわけでもう35年以上趣味や仕事でプログラミングに従事していますが、開発環境、情報流通の仕組みには革命といっていいほどの変化、進化がおこりました。 しかしながら、そんな中でも、あくまでコードを書くのは「私」という生身の人間でした。 そうしたある種の古き良き時代は、いよいよ本格的に終わりを告げようとしています。 2023年ごろからのLLM技術の飛躍的進歩により、プログラミング業界は大きな転換期を迎えています。 特に、OpenAI o3,o1やClaude 3.5、Gemini2.0などの大規模言語モデル(LLM)の進化や、その先にある将来的な汎用人工知能(AGI)の出現は、プログラマーやAIエンジニアの役割に根

By Tomonori Misawa / CEO
PythonとWSL開発のトラブルシューティング: PyCharmとCondaの環境不一致問題

PythonとWSL開発のトラブルシューティング: PyCharmとCondaの環境不一致問題

こんにちは! 今回は、WSL上のConda環境をPyCharmから利用する際に発生した「同じ環境なのにパッケージリストが一致しない」という問題に遭遇したため、その原因と対策について書いてみたいとおもいます 問題の状況 開発の流れは以下のようなものでした 1. WSL環境でConda仮想環境を作成 2. その環境をPyCharmのプロジェクトインタプリタとして設定 3. 開発を進める中で奇妙な現象に気づく 具体的には、次のような不一致が発生していました * PyCharmのプロジェクト設定で表示されるpipパッケージのリスト * WSLでConda環境をアクティベートした後にpip listコマンドで表示されるパッケージのリスト これらが一致せず、「WSL側のシェルから直接インストールしたパッケージがPyCharmで認識されない」という問題が生じていました。 この手の問題でよくある原因は、PyCharm側がWSL側の更新を得るのに少し時間がかかったり、 Indexing が遅れているなどなのですが、今回はそれが原因ではありませんでした。 危険な「静かな

By Qualiteg プロダクト開発部
人気ゲーム「ヒット&ブロー」で学ぶ情報理論

人気ゲーム「ヒット&ブロー」で学ぶ情報理論

こんにちは! Qualiteg研究部です! 今日はAIにおいても非常に重要な情報理論について、Nintendo Switchの人気ゲーム「世界のアソビ大全51」にも収録されている「ヒット&ブロー」というゲームを題材に解説いたします! はじめに 論理的思考力を鍛える定番パズルゲームとして長年親しまれている「ヒット&ブロー」(海外では「Mastermind」として知られています)。 このゲームは一見シンプルながらも、その攻略には深い論理的アプローチが必要とされております。 本稿では、このゲームについて情報理論という数学的概念を用いてゲームの素性を分析する方法について掘り下げてみたいとおもいます。 さらに、この情報理論が現代の人工知能(AI)技術においてどのように活用されているかについても触れていきます。 ヒット&ブローのルール説明 ヒット&ブローは、相手が秘密に設定した色や数字の組み合わせを推測するゲームです。日本では主に数字を使った「数当てゲーム」として親しまれていますが、本記事では色を使ったバージョン(マスターマインド)に焦点を当てます。 Nintendo Sw

By Qualiteg 研究部
Model Context Protocol(MCP)入門:いよいよセマンティックWebの世界へ

Model Context Protocol(MCP)入門:いよいよセマンティックWebの世界へ

こんにちは! きょうは話題のMCPについて解説いたします! はじめに 「AIが便利なのはわかるけど、自分のデータにアクセスさせたり、他のアプリと連携させたりするのは難しそう...」 このような悩みを持っている方は多いのではないでしょうか。 実際、従来のAIには大きな壁がありました。トレーニングデータの範囲でしか回答できない、リアルタイム情報にアクセスできない、外部アプリケーションを操作できないなどの制約です。 トレーニングデータの外側にあるデータをうまく検索する技術としてLLM黎明期からRAGとよばれる技術が発展してきました。 データ検索だけではなく、あらゆる分野でAIが半ば自動で連携してくれる技術が登場しました。 それが「Model Context Protocol(MCP)」です。 本記事では、AIと外部ツールの連携を革新的に簡単にするMCPについて、基本から実用まで詳しく解説します。 MCPの本質:AIのための標準インターフェース MCPは、AIモデルと外部ツール・アプリケーションの間の通信を標準化するプロトコルです。これはインターネットの世界でいえば、

By Qualiteg プロダクト開発部