ラベル Linux の投稿を表示しています。 すべての投稿を表示
ラベル Linux の投稿を表示しています。 すべての投稿を表示

2025年12月17日水曜日

UBUNTU 24.04 & MINT 22.2 & CUDA & RTX-A6000 (A100、RTX3090、RTX5090他もおなじ)をGPU計算機としてセットアップする

「いま」の定義:2025年12月


以前GPUのセットアップ(CUDA)について書いたのが、2023年1月だったので、

https://doraemonkokoro.blogspot.com/2021/09/ubuntu-20041lts-cuda-rtx-a6000.html

3年ほどが経過しました。この間にCUDAのセットアップはかなり簡単になりましたので、改めて記録しておきます。


【OS】

いま、CUDAが対応している最新のUBUNTUは24.04になっておりますが、私は最近はUBUNTUではなく、MINT 22.2をわりと多用しています(MINT 22.2は、UBUNTU 24.04と同等品)。理由はよくわかりませんが、MINTのほうが多種多様なPCにインストールするときにトラブルがすくない印象です。UBUNTUではインストールが失敗するPCでもMINTではできた、ということが時折あります。

ただし!

リモートデスクトップをよく使う人はUBUNTUを優先させたほうがいいとおもいます。MINTではリモートデスクトップはデフォルトでは入っておりませんので煩雑なセットアップが必要になります。


【CUDA】

いまは、13.1です。


(OSをUSB経由でインストールしたら、まずは)

$ sudo apt update

$ sudo apt upgrade

$ sudo apt install python3-pip


(ここから本番)

https://developer.nvidia.com/cuda-toolkit

NVIDIAのサイトに行きます。


ダウンロードを押したあとに、

LINUX、x86_64、UBUNTU、24.04、deb(local)を選択します。

あとは指示された通りのコマンドをターミナルにコピペして実行します。

Keyのところは、ターミナルに指示がでますので、ターミナルに提示されたコマンドをコピペして実行です。


最後のコマンドを実行し終わったら、

すぐ下のボックスにあるドライバーのインストールを行います。

通常はオープンドライバーを選びます

完了したら再起動。

$ sudo reboot


$ nvidia-smi

で、GPUが認識されているかどうかを確認。

以上で、GPUのセットアップはおわり。

めちゃ簡単です。


===

追記:

Ubuntu 24.04、あるいはMint 22.2のバージョンでは、

python環境の大きな仕様変更がおこなわれています。

pipでのパッケージのインストールが仮想環境 venv でしかできません。

さらにインストールしたpipパッケージは仮想環境上でしか動作しません。

下記URLを参照してください。

https://qiita.com/keith_campbell/items/e7dc4afc44527b802f6e


仮想環境はpathで別々に作成されているので、

あるpathでインストールした環境はそのpathでしか通用しません。

フォルダー事に異なる環境が作れるようになったと考えるといいでしょう。

環境が独立しているので複数の環境構築によるトラブルが少なくなっています。




2023年3月13日月曜日

LINUX MINT 21をGPU計算機に使用する

LINUX MINTが人気です。


本家UBUNTUと比べてかなり軽く、しかもWINDOWSと似たUIが使いやすいです。

古いマシンでテストしたところ、ディスプレイ表示のために使われるメモリーが三分の一くらいになっていました(300メガ強が100メガ弱に!)。

特に、特定の目的に特化している旧型のGPUを積んだマシンには、適任かもしれません。


ただ、本家UBUNTUをGUIなしモード(CUI)で使えば、軽くなりますので、

sudo systemctl set-default multi-user.target(CUIモードへ)

sudo systemctl set-default graphical.target(GUIモードへ)

それでいいのでないか、と言えば、それまでです。


ただ、WINDOWSと似たUIで使いたい、UBUNTUの紫が嫌、などの特別な理由がある場合は、LINUX MINT、あるいは、その他のLINUXの選択はアリだとおもいます。

別になんでもいいや、と言う方は、本家UBUNTUの一択です。安心感が違いますし、周辺のサポート体制も圧倒的ですので、あえて他のLINUXを使う理由は見当たりません。


追記:

といいつつ、現在はラボはMintが増えつつあります。MintのほうがさまざまなPCとの相性がいいようです。あとデフォルトのスクリーンセイバーは必見。




2023年3月9日木曜日

AI初心者Q&A

"""

よく受ける質問をまとめておきます。この記事は順次更新します。

"""

Q1:深層学習はGoogle Colabじゃダメですか?

A1:ダメじゃないです。

共同研究者との共有が簡単に出来るので、Google Colabですべてが出来れば、再現性という意味では理想的です。が、学習をガンガンやりだす、あるいは遺伝子データや動画データなどの巨大なデータを扱い出すと、無理筋になる状況が出てきますので、その時点が分岐点です。逆に、場合によってはGoogle Colabではローカルよりも大きなメモリー空間を確保できることがあります。これはGoogle Colabのメリットです。教育用のプラットホームとしてもたいへん優れています。

"""

Q2:深層学習をローカルサーバーでやるか、クラウドサーバーでやるか?

A2:どちらでもいいです。が、クラウドでやるにしても一つくらいはローカルサーバーはあったほうがいいので、第一選択としてローカルサーバー、それ以上の処理はクラウドサーバー。また最近ではGUI完備のAIツールもでてきているので、その場合、ローカルサーバーはあったほうが随分操作が楽になります。AWSやGoogleなどのクラウドサーバーは高額ですが、公立の研究者であれば、大学や研究所が共同利用のために用意しているスパコンは格安で使えることがあります。また逆に潤沢な研究資金があるならば、自分でニューラルネットワークをあれこれ触らなくてもノーコードのクラウドサービスもいっぱいあります。

"""

Q3:深層学習はWindowsじゃダメですか?

A3:ダメじゃないです。ただ、深層学習のコードの大半はLinux(多くの場合はUbuntu)で開発されていますので、Windowsで動かないコードがあります(経験談)。例えば、DeepLabCutのようなメジャーコードですら一発起動とはいかないことがありました。とういわけで、Linuxが第一選択になります。あえてWindowsを第一選択にするとすれば、SONY Neural Network Console(非推奨)をメインで使いたいときです。

最近のWindowsはWSL2というバーチャル空間にUbuntuを内挿しており、これは「完全なUbuntu」を謳っておりまり、このWSL2を深層学習に利用する手があります。純粋なLinuxと比べれば、それなりのクセがありますが、Windows側からもファイルにアクセスできますし、Linux側からもWindowsのファイルにアクセスできますのでとても便利です。また、ハードウエアのセッティングはWindowsがやってくれますので超楽ちんです。ゲーミングPCを買ってきたらすぐに深層学習ができます。生粋のUbuntuよりは計算処理スピードの面で劣っておりますし(当社比で半分程度)メモリーもWindowsから恵んでいただく状態なのは大問題ですが、これもそのうち多少は改善されるでしょうし、今後、windowsは選択肢としてはありかもです。ただ私は非推奨です。

"""

Q4:深層学習はMacじゃダメですか?

A4:いまのところダメです。優れたコードエディターとしては使えますが、Macだけで深層学習をやることはできません。理由はNvidiaのGPUが使えないからです(いまのところ)。NvidiaのGPUで計算しても数十時間の学習はざらにありますので、それが使えない環境は、選択肢から外れます。ただ、どのみちローカルGPUも、SSH接続や、リモートデスクトップで使いますので、手元のマシンは慣れたOSがいいので、手元のインターフェースとしてMacはいい選択でしょう。ただし!LLMの推論用としてはUnified Memoryは圧倒的な性能を発揮するようです。ローカルLLMを組みたい方は選択肢として大いにありです。最近のNvidiaのSparkもその流れです。

"""

Q5:GPUワークステーションは値段が高いのですが、必要でしょうか?

A5:市販のゲーミングPCで十分です。というか、速度だけで言えば、ゲーミングPCのほうが速いことが多いです(経験談)。GPUメモリーのエラーチェック機構は深層学習には必要ありません。選ぶ基準はGPUメモリーの大きさを優先させてください。次は電源の大きさ、メインメモリーの大きさ(GPUメモリーの倍くらい欲しい)、熱処理(とても大事。最悪扇風機の出番)、筐体の大きさ(できるだけ大きいほうがいい)、拡張性の高さなどです。

もうひとつ言うと、GPUワークステーションは拡張性は高く、しかも使われているパーツの耐久性は抜群なのですが、メモリーやファンなど、ワークステーション専用のパーツを使っていることが多く、これらのパーツは手に入りにくく、しかも高価です。

ゲーミングPCのGPUで対応しきれなくなったらクラウドPCのレンタルという選択が良いと思います。現状のゲーミングPCのGPUメモリーが24Gbが最大(2023年3月現在)ですので、このメモリーを超えるような処理が必須になってきた時、クラウドPCの40Gb、80Gb(あるいはそれ以上のモンスター)の出番となります。

"""

Q6:コードエディターは何がいい?

A6:好きなものをお使いください。ちまたではVS Codeが大人気です。迷ったらVS Codeです。みんなが使っているので安心感が違います。私は使っていません笑。

===

Q7:

A7:


===



2018年12月12日水曜日

Ubuntu16.04LTSにChainerをInstallする(GTX1080 & GTX1080Ti)

Ubuntu14.04LTSのサポート終了も迫ってきておりますので、
Ubuntu16.04LTSでChainerを使えるようにセットアップしました。

sudo do-release-upgrade

というコマンドを打てば、OSのアップグレードは通常問題なく行われます。が、今回はSSDをクリーンにして、そこへUbuntu16.04.5LTSとChainerを導入しました。
**(後日、別のPC2台「1台は1080、もう一台は1080Ti」では、sudo do-release-upgradeを試みました。オプションはすべてデフォルト対応でうまくアップグレードされました。うまくいくかどうかはドライバーのバージョンなどに依存しそうな気もしていますが、do-release-upgradeは超便利なので、とりあえずこっちでやってみて、もしダメならそのとき考えるという方針がいいとおもいます)。

基本的には
UbuntuにChainerをInstallする(GTX1080)
と同じやり方です。

変更点や気になったところをいくつか列挙します。

(1)今回は4)~11)は飛ばしてドライバー導入から始めました。今回のPCはマザーのビデオポートがないので、最初からGTX1080にディスプレイが繋がっています。最近のUbuntuには汎用ドライバーが組み込まれているので、もんだいなく画面は映ります。ただし、GTX1080専用のドライバーではありません。人によっては、この汎用ドライバーを使えなくしてから、GTX1080専用のドライバーを導入しているようです(途中X-Windowが使えなくなるかもです)。今回は邪魔くさいので、汎用ドライバーはキルしていません。

(2)Nvidiaドライバーは、この時点(2018年12月12日)での最新は415でしたので、nvidia-415をいれましたが、CUDA Toolkit(バージョン10)を入れた時点で410にダウングレードされました。ここでnvidia-smiを実行しますと、Driver/Library version mismatchエラーがでます。前回はドライバーバージョンを再び無理無理上げましたが、今回はそのままリブートしました(リブート前に念のため415は手動でも削除)。リブートしてnvidia-smiを実行すると410で動いているのが確認されました。

(3)sudo apt-get install cudaのあと、apt-keyの設定をコマンド上で指示されていたので、指示通りに設定しました。

(4)パスを通した後、apt系、pip系のインストールをしました(可能な限りたくさん)。前回やりませんでしたが、今回はsudo pip install chainerの前に、sudo pip install cupyを手動で行いました(インストールに結構時間がかかります)。

(5)本質的なことではないのですが、この時点でpipはバージョン8です。最新はバージョン18(番号デカい!)ですので、「バージョンアップよろしく」というメッセージがpipをつかうたびにでますが、これは無視しました。再帰的なバージョンアップは好ましくないとおもいます。pipはもともとaptで導入したので、aptでアップグレードしたほうがいいので、apt側の対応を待ちます。

Chainerは、まだ18.04LTSはリコメンドしていませんでの、この状態がいまのところベストかとおもいます。




2018年12月7日金曜日

フォルダー名とディレクトリー名にスペース禁止

【リナックス豆知識】

よくみかけますよね。
_ アンダーバー。

これには重要な意味があります。
コマンド命令をするとすぐにわかます。
スペースがあると命令が途切れてしまいます。
そこでアンダーバーです。

フォルダー名とディレクトリー名にスペースは使ってはいけないのです。
OSで禁止されていないのが変ですが避けるべきものです。
どのOSでもアンダーバーを使うクセをつけておくのがよいとおもいます。




2017年8月3日木曜日

Timeコマンドで実行時間を計測 【便利なプチ基礎知識】

プログラムの実行時間を知りたいとき、
Timeコマンドが便利です。

deep.pyというプログラムがあったらターミナルで
time python deep.py
という具合にtimeを頭にくっつけるだけです。

例えば、いま行っているDNNプログラムで100万回学習させると
結果は、

real 642m44.506s
user 606m28.208s
sys 30m52.744s

と、でてきます。計算に約10時間かかったことになります。

realは、実際にスタートしてから計算終了までにかかった時間
userは、計算プロセスが直接使ったCPU時間
sysは、システムが使ったCPU時間
です。

userとsysをあわせると、ほぼほぼrealになります。




2017年6月28日水曜日

An error occurred while mountingを回避【Ubuntu 14.04】

UBUNTU14.04にて。

起動時にAn error occurred while mountingなるエラーが出た。
外部ディスクの間違った情報が残ったままになっている様子。

基本的にはここで解決。

https://ubuntuforums.org/showthread.php?t=1474478

コマンドラインで
gksudo gedit /etc/fstab
にてswap以降を削除。
エラーは回避できた。

一応
/mnt/
内のそれらしいフォルダーも削除。

これでほんとうにいいのかどうかはわからんが
基本的にはこの手のエラーは/etc/fstabに問題があるようです。




2017年5月30日火曜日

Linuxコマンドを連続使用する 【便利なプチ基礎知識】

参考はこちら。
http://qiita.com/egawa_kun/items/714394609eef6be8e0bf

たいていの場合&&でいいようです。

プログラムで書いてもいいのでしょうが
なにも考えずテキストエディターコピペ置換して
下記のように一気に処理するときに便利ですね。

下記の500倍の長さのコマンドラインを打ち込んでも
まったく問題なく動作しました。さすがです。

cd '/home/eijwat/optical_flow_7_matome/OF_result_8videos/15rpm_L01/1' && python optical_flow.py result/test_20y_0.jpg result/test_20y_1.jpg -s 0 -l 1 -cc yellow -lc red -s 2 -l 2 -vs 30.0 && cd '/home/eijwat/optical_flow_7_matome/OF_result_8videos/15rpm_L01/2' && python optical_flow.py result/test_20y_0.jpg result/test_20y_1.jpg -s 0 -l 1 -cc yellow -lc red -s 2 -l 2 -vs 30.0



追記:無論、改行でもよい

UBUNTU 24.04 & MINT 22.2 & CUDA & RTX-A6000 (A100、RTX3090、RTX5090他もおなじ)をGPU計算機としてセットアップする

「いま」の定義:2025年12月 以前GPUのセットアップ(CUDA)について書いたのが、2023年1月だったので、 https://doraemonkokoro.blogspot.com/2021/09/ubuntu-20041lts-cuda-rtx-a6000.html 3...