絶望からの生還っ!Tesla P100をPrecision 5820で動かす奇跡の道筋っ!

トラブル解決

※この記事はAIを活用して作成しています。

ねえ、聞いてくれるっ?

私、最近ね、とんでもない体験をしちゃったのですよっ!

高性能なGPU、Nvidia Tesla P100。もうね、これが手に入った時のワクワク感と言ったら、たまらないものがありますよね。

そう。

AIやディープラーニングの世界に飛び込むには、まさに夢のような存在、というわけですな。

私の愛機、Precision 5820 Tower。この子にP100を載せれば、もう最強!そう信じて疑わなかったのですっ。

しかし。

いざ、P100を Precision 5820に差し込んでみた時、ですよ。電源ON!

……プツン。

またON!

……プツン。

そう、ひたすら再起動を繰り返す、あの「Boot Loop」ですよっ!

「え、うそでしょ!?」

「なんで!?」

「せっかくのP100が、動かないなんてっ!」

目の前でPCが何度も再起動を繰り返す絶望感…あなたも同じ経験、ありませんか?

もし今、目の前でPCが同じように真っ青になっているのなら…どうぞ、深呼吸してくださいな。

大丈夫なのですよ。

実はね、これ、ほとんどの場合、故障じゃないんですよっ!

「え、ホントかいな!?」

ホントなのですよっ!

これはね、「グラフィックボードが求めるデータの使い方が、マザーボードの限界をちょっとだけ超えちゃった」ことによる、設定の食い違いが原因、というわけですな。

私自身、もう半泣きになりながら、夜なべして解決策を探したのですからっ。

その結果、見つけましたよ、奇跡の裏技をっ!

今日は、私が辿り着いたこの「ちょっと特殊だけど、ちゃんと動くようにする方法」を、余すことなくあなたにお伝えしちゃいますっ!

そう。これで、あなたも絶望の淵から這い上がれる、というわけですな。

さてさて。

まずは、一体何が起こっているのか、ざっくりと説明させてくださいな。

「なんで私のP100ちゃん、動いてくれないのよーっ!」って思いますよね。

これね、原因はTesla P100が持っている「Large BAR」という、とっても便利な機能にあるのですよ。

「ラージバー?って何?」

ざっくり言えばですね、このP100という子、とってもパワフルなので、一度に「16GB」という、それはそれは巨大な「データの通り道」を一気に確保しようとするわけですな。

「おーい!もっと広い道を開けてくれっ!16GB分一気に通るぞーっ!」って叫んでいるイメージ、なのですよ。

しかし。

私たちの愛しいPrecision 5820くんのマザーボードは、この巨大な通り道を一度に扱う機能(ReBAR、リサイズアブルバーというのですよ)を持っていないのですね。

「え、え、そんなに急に言われても…うち、そんなに広い道、用意できないよぉ…」ってなっちゃう、というわけですな。

結果、データの受け渡しに失敗して、パソコンが「あれ?なんかおかしいぞ?」って思って、起動プロセス(POST)の途中でエラーを起こし、再起動を繰り返してしまう…というわけなのですっ!

そう。

だから、故障ではない、なのですよ。

ただ、P100くんの「要求サイズ」と、5820くんの「対応サイズ」が、ちょっとズレているだけ、というわけですな。

じゃあ、どうすればいいか?

解決方法は、とってもシンプルなのですよ。

P100くんの「データの通り道サイズ」を、16GBから、Precision 5820くんが無理なく対応できる「256MB」へと、ちょこっと書き換えてあげる、というわけですな。

そうすれば、お互いが「うん、これなら大丈夫!」って納得して、無事に起動してくれるようになる、なのですよっ!

「へぇ〜!そんなことできるんだ!」

できるんですっ!

でもね、ここからがちょっとトリッキーなのですよ。

この作業、残念ながら問題が起きているPrecision 5820単体ではできないのです。

なぜかというと、P100が動かないから、中身をいじることもできない、というわけですな。

なので、「Tesla P100をちゃんと認識して、BIOS画面まで起動できる、別のパソコン」を用意する必要があるのですよっ。

私の場合は、OptiPlex 3020という子が活躍してくれましたっ!

さあ、準備に取り掛かりましょうっ!

必要なものは、これらなのですよっ。

まずは、Tesla P100がちゃんと認識できる、「別のPC」ですね。

これがね、意外と重要ポイントなのですよっ!ちゃんと認識しないと、始まらないから、というわけですな。

次に、「LinuxのLive USB」です。

私のおすすめはLubuntuなど、軽くて起動が早いものなのですよ。OSをインストールするわけではないので、気軽に使えるのがいいですね。

そして、グラフィックボードの中身を書き換えるための、とっておきのツール「nvflash(Linux版)」が必要になりますっ!

これはね、まるで魔法の杖、というわけですな。

最後に、「もう一本のUSBメモリ」

nvflashを入れたり、万が一のためにP100の現在の設定データをバックアップしておくのに使いますよ。これも大事な保険、なのですよっ!

「ふむふむ、これ全部揃えるのかい?」

そう。これでね、絶望から希望への第一歩を踏み出せる、というわけですなっ!

準備ができたら、いよいよ作業開始なのですよっ!

ステップ1:別のPC(OptiPlex)でGPUを認識させる

まずは、作業用のPCでP100くんを「見える状態」にしてあげましょう。

用意したLubuntuのLive USBから、別のPCを起動しますよっ!

起動直後のメニュー(GRUB画面というのですよ)が出たら、linux /casper/vmlinuz … で始まる行を探してくださいな。

キーボードの矢印キーでその行を選んだら、splash の間に、pci=realloc と追加で入力するのですよっ!

こんな感じになりますね。

… splash pci=realloc —

入力したら、Ctrl + X を押して起動してくださいっ。

これで、一時的にGPUのメモリ割り当てが調整されて、無事に起動できるはずなのですよ!

起動したら、ターミナルを開いて、lspci | grep -i nvidia と入力してみてくださいな。

「おっ!P100が認識されてるっ!」

そう。これで一安心、というわけですなっ!

ステップ2:書き換えツール(nvflash)の準備

次に、魔法の杖「nvflash」を準備するのですよっ!

まずは別のWindows PCで、TechPowerUpさんのサイトからnvflashをダウンロードして、もう一本のUSBメモリにコピーしてくださいな。

コピーできたら、そのUSBを作業用PC(OptiPlex)に挿します。

ターミナルで以下の操作をして、ツールを使える状態にするのですよっ!

ls /media/

これで、USBメモリがどこにいるか、場所を確認するのですよ。

cp /media/lubuntu/[USB 名 ]/nvflash ~/

見つけたら、nvflashを作業場所(ホームディレクトリ)にコピーします。

chmod +x nvflash

最後に、このコマンドで実行権限を与えてあげれば、いつでも使える状態、というわけですなっ!

ステップ3:GPUのモードを書き換える(最重要っ!)

さあ、ここが一番のヤマ場なのですよっ!

いよいよ、P100くんの設定を「巨大な通信」から「標準的な通信」へと書き換えますっ!

でもね、その前に、とっても大切なことがあります。

それは「バックアップを取る」ということ。

万が一のために、今の設定を保存しておくのですよ。

sudo ~/nvflash –save ~/backup.rom

このコマンドで、現在の設定ファイルがbackup.romという名前で保存されます。

保存できたら、忘れずにUSBメモリにコピーしておくのですよっ!

cp ~/backup.rom /media/lubuntu/[USB名]/

これで、保険はバッチリ、というわけですな。

そして、いよいよ本命のモード切り替えっ!

以下のコマンドを実行してくださいな。

sudo ~/nvflash –gpumode graphic

このコマンドを実行すると、「本当にやるの?」という確認メッセージ「press “y” to …」が出るはずです。

迷わず「y」を入力して、エンターを押してくださいなっ!

「ドキドキするねっ!」

そう。

成功すると、こんなメッセージが出るはずなのですよっ!

Successfully updated GPU mode to “physical_display_enabled_256MB_bar1” (Mode 1). A reboot is required for the update to take effect.

「やったーっ!うまくいったみたいっ!」

そう!グラフィックスモードへの切り替えが完了した、というわけですなっ!

これで、P100くんはPrecision 5820くんと仲良くできるようになった、なのですよっ!

ステップ4:元のPC(Precision 5820 Tower)に戻す

設定が終わったら、P100くんを作業用PCから外して、元の愛機Precision 5820に差し直しましょうっ!

しかし、ここでもう一つ、忘れちゃいけない大切なことがありますよ。

P100をPrecision側に差し込む前に、必ずBIOS設定を確認してくださいな。

Precision側のBIOS設定で、「Above 4G Decoding」という項目を「有効(Enabled)」にしておくのですよっ!

これがね、意外と見落としがちだけど、とっても重要なポイントなのですよっ!

これで、すべての準備が整いました。

ドキドキしながら、Precision 5820の電源をONっ!

……どうでしょう?

今度こそ、無事に起動できたのではないでしょうかっ!?

私の場合、この手順で、本当に起動できたんですよっ!

あの時の感動と言ったら…もうね、言葉にできないほど、というわけですなっ!

ねっ?

絶望から希望へ、ちゃんと道は開けるのですよっ!

まとめると、こうですな。

あなたのPrecision 5820がTesla P100で起動しない原因は、P100くんが要求する「データの通り道」が、Precisionくんのマザーボードの「器」よりも大きすぎたから、というわけなのですよ。

そして、その解決策は、ちょっと手間がかかるけれど、別のPCを使ってnvflashというツールでP100くんのモードを書き換えてあげること。

最後に、元のPCに戻す前に、マザーボードのBIOS設定(Above 4G Decodingを有効にすること!)を忘れずに確認する、ということでしたねっ!

この作業はね、たしかにちょっと高度な部類に入るかもしれません。

でも、一つ一つ丁寧に、落ち着いて進めれば、必ず成功できるはずなのですよっ!

あなたのPrecision 5820が、Tesla P100という強力な相棒を得て、バリバリと動いてくれることを、私も心から願っていますっ!

長くなったのでここまでっ!

次回もお楽しみにっ!

コメント

タイトルとURLをコピーしました