理乃美

ソフトとハードと論理の覚え書き

やはり荷が重かった

2021-06-20 00:34:36 | 自作パソコン

風通しの悪い今のPCケースに代わる、新しいPCケースが届いた。

MASTER BOX CM694 TG。12cmファンがフロントに2台、リアに1台、天井も全面メッシュで、電源は下から吸気して後ろに排気という、今時の通気の良いミドルタワー。

これで、もういちど大手裏剣参を試してみる。

Intel Extream Tuning Utilityでパッケージ温度を観察しながら、Cinebench R23 でCPU 負荷をかけてみる。外気温は、23.6℃。アイドリング時のパッケージ温度は37℃程度だったが、Cinebench動作とともに急上昇。2分かそこらで100℃になりサーマルスロットリングが発動。

大手裏剣参は、Core i7(11700K)ターボブースト時の180W超は荷が重いと言わざるを得ない。

# もうすこし、ケースのエアフローの違いが出るかとは思ったのだけどね

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

またもや熱に敗れる

2021-06-12 18:01:00 | 自作パソコン

しばらく前にヤフオクでTESLA K80を入手していたが、やっと試すことができた。で、結局は熱の問題で出直しである。

TESLA K80は、ヤフオクで5万円程度でいくつも出品されている。消費電力が300Wの大飯食らいとパッシブ冷却という扱いにくさでニーズが無いのだろう。

K80は、Keplerアーキテクチャ。現在のAmpere からさかのぼって、Volta, Pascal、Maxwell、Kepler というように4世代前の代物。それをなぜ買ったのかというと、倍精度番長だから。カタログスペックは、倍精度で1.87Tflops(Boost時 2.91TFlops)。

GPGPUの昔の用途は科学技術計算だったが、その後、人工知能にシフトしたことで倍精度演算がなおざりにされた。なので、倍精度の計算に限れば KeplerはそのあとのMaxwell, Pascalより早い。ディープラーニングをやらせたら今どきのグラボにもぼろ負けだろうけどね。

ボードの電源はグラボと違ってCPU補助電源. どうしようかと思ったら、ainex から EPS 12V用電源変換ケーブル (ペリフェラルx2 <-> EPS 12V 8ピン x1)[型番 PX-009A) というおあつらえのコードがあったのでポチッた。これがぴったり。

冷却が問題。eBayにはファンを取り付けるアダプターが出品されていたりするけど、よく読むとフルパワー時には冷却が足りないよと書いてあるものもあってなんだかなぁ。ということで、二つ並べた6cmファンから風を送り込むアダプターをえっちらおっちらと自作。

ということで、やっとTESLA K80をインストール。サンプルソフトを動かすのにちょっと手間取ったけど。

で、nbodyを動かして負荷をかけながら、GPU-Z で GPUの温度を観察してみるとやばい状態。外気温が26.5℃くらいだが GPUは92℃まで上がってさらにじりじりと上がりそうな雰囲気。こりゃだめだ。

調べてみるとK80にろくに風が通っていない。K80の冷却フィンのトンネルの空気抵抗が大きくて、ファンは回ってもファンの外回りのすきまから吹き戻ってしまっているようだ。

ファンを変えるにしても、今のケースでは、もう寸法的に余裕がない。別の手段としては、K80のカバーを外し、むき出しになった放熱器へ横からファンで風をあてて冷やす手が良く使われているようだ。グラボの3連ファン部分だけを隣に置くかんじ。だが、そうなると今度もまたPCケースの排熱が問題になる。CPUクーラーからの180Wすら籠ってしまうのに、300Wとなったらどうにもならない。PCケースあらためオーブントースターとなってしまう。

ということで、今回も熱に敗退。あたらしいPCケースが届いたら、改めて作戦を立てることにしよう。

後日談

横から風をあてて冷却をこころみたのがこちら。Tesla K80の熱は手ごわい - 理乃美

強力なファンに変えて、冷却はできたけど... というのがこちら。Tesla K80 の発熱に勝った..のか? - 理乃美

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Tesla K80を動かしてみる

2021-06-12 10:47:00 | ソフトウェア

NVIDIAの TESLA K80で手始めにサンプルプログラムを動かすところまでの記録。ハマった原因は二つ。

1.  TESLA K80は、Kepler という今では4世代前の古いアーキテクチャ

2.  CPUの内蔵グラフィクスを利用

ハードウェアは CPUが 11700K (第11世代 Core i7)で、マザーボードは ASUS TUF GAMING Z590 PLUS、グラボなしの構成。

ソフトウェアは、Windows 10 . ドライバーは、NVIDIAのサイトから入手.  (462.31-data-center-tesla-desktop-win10-64bit-international.exe).  開発環境は、Microsoft Visual Studio Community 2019 にCUDA Toolkit 11.3.1 (cuda_11.3.1_465.89_win10.exe) をインストール。

#ちなみに、VS2019には、intel oneAPI ツールキットも先にインストールしていたが問題ないようだ。

Step 0. インストール

インストールに特別なことはなし。GPUカードを刺して立ち上げ、ドライバーをインストール。Visua Studioはインストール済みのところへ、CUDA Toolkit をインストール。

Step 1. hello.cu の実行

まず、これが正しく動作しなくて悩む。

こちら (https://www.kkaneko.jp/tools/win/cuda10.html#S2) に従って hello.cuを作成しコンパイル。

で、実行結果した結果はこうなるはずが...

C:\test>a.exe
Max error: 0.000000

下記のようになってしまった。

C:\test>a.exe
Max error: 2.000000

いろいろデバッグしてみた結果、GPU側のコードが動いていないようなので、下記のようにソースを書き換えてみると... エラーコード 209が起きていると判明。

------------

  // Perform SAXPY on 1M elements
  saxpy<<<(N+255)/256, 256>>>(N, 2.0f, d_x, d_y);

err = cudaGetLastError();
printf("LastError %d\n",err);

-------------

今回のケースだと、古いアーキテクチャのKeplerで動くようにはできてませんというエラー。nvcc のパラメータでターゲットを指定できるのではないかと調べると、やはりありました。

下記のように -arch sm_37 と指定すれば、「古いアーキテクチャだからそのうちサポートしなくなるよ」という警告が出るもののちゃんとコンパイルできる。


C:\test>nvcc -arch sm_37 hello.cu
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
hello.cu

これでOK. ちゃんと、a.exe は期待通りの動作をするようになった。

Step 2.  CUDA Toolkit のサンプルプログラム nbodyを動かす。

CUDA Toolkitにはサンプルプログラム一式もついてくる。そのうちnbodyのありかは下記.

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v11.3\5_Simulations\nbody

ここにある nbody_vs2019.sln を Visual Studio 2019で開き、ソリューションのビルドをすれば完了。

だが、Visual Studioから実行をかけると下記のように即終了してしまう。本来はウインドウが開いて質点が動き回わる様子が表示されるはずなのだが。

...(省略)...

CUDA error at C:\ProgramData\NVIDIA Corporation\CUDA Samples\v11.3\5_Simulations\nbody\bodysystemcuda_impl.h:188 code=304(cudaErrorOperatingSystem) "cudaGraphicsGLRegisterBuffer(&m_pGRes[i], m_pbo[i], cudaGraphicsMapFlagsNone)"

C:\ProgramData\NVIDIA Corporation\CUDA Samples\v11.3\bin\win64\Debug\nbody.exe (プロセス 13336) は、コード 1 で終了しま した。
デバッグが停止したときに自動的にコンソールを閉じるには、[ツール] -> [オプション] -> [デバッグ] -> [デバッグの停止時に自 動的にコンソールを閉じる] を有効にします。
このウィンドウを閉じるには、任意のキーを押してください...

 

この原因は、グラフィクス出力が必要だけど計算をしているTESLA K80にディスプレイ出力が無い、ということらしい。グラボでCUDAの場合はそのグラボにディスプレイを接続して解決だけど、K80にはもともとディスプレイ出力機能は無いし...  で、はたと思いついた。グラフィクスはCPU側で行っているのだから nbodyのパラメータにある -hostmem を指定してデータをホスト側メモリにストアさせればいけるんでないかい。試してみるとビンゴ。無事に画面が開いた。DOS窓から実行形式を起動する場合のパラメータの指定方法は書くまでもないが、Visual Studioから起動する場合は、デバッグプロパティで指定する。

プルダウンメニューの デバッグ > nbodyのデバッグ プロパティ  でプロパティページを開き、左のペーンにあるツリーで構成プロパティ>デバッグ を選択。コマンド引数 のところの値が空だけど、そこに-hostmem と書いて OK をクリックする。 ReleaseとDebugの二つの構成のそれぞれに行っておく。

なお、Debug構成でビルドしたものとRelease構成でビルドしたものでは実行速度が格段に違う。Release だと光点がびゅうびゅん飛び回る.  K80の半分しか使っていないけど約 1TFLOPS.

以上はソフトの話だが、Tesla K80 の冷却で試行錯誤した話はこちら。

またもや熱に敗れる - 理乃美

横から風をあてて冷却をこころみたのがこちら。Tesla K80の熱は手ごわい - 理乃美

強力なファンに変えて、冷却はできたけど... というのがこちら。Tesla K80 の発熱に勝った..のか? - 理乃美

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

CPU冷却の問題 - 11700Kを冷やしきれない

2021-06-07 00:10:07 | 自作パソコン

自作PCのCPU冷却で困ったというお話。

久しく自作から遠ざかっていたが、メインPCのマザボ故障で止む無くこのタイミングでマシンを組むことになった。選んだCPU は、11世代のCorei7 (11700K)。  OCをやるつもりはないが、内蔵グラフィクスで済ませたかったのと、たまにHPCなプログラムを流すからという選択。

TDPが125Wということで、CPUの冷却をまじめに考える必要がある。まあ、普通なら虎徹とかアサシンとかの評判のクーラーを使うのだろうが.... 入らない。これまで使ってきたPCケースの厚みは17.5cm (7 inch)。ふた昔前では至極当たり前のサイズなんだが、今どきの高性能サイドフロー型CPUクーラーはクーラーの背が高くて入らない。

ということで、トップフロー型の大手裏剣参を選んだのだが残念な結果になった。いや、CPUクーラーの性能以前にPCケースの排熱が問題だった。

Intel Extreme Tuning UtilityでCPUのパッケージ温度などを観察しつつCinebenchで負荷をかけてテストしてみた。

室温は24.5℃くらい。アイドリング時のパッケージ温度は35度ほど。Cinebench R23を走らせるとパッケージ温度は跳ね上がるが何とか踏みとどまる。ターボブーストで180W台になっていてもサーマルスロットリングが起きたのはほんの一瞬だけ。無事全部走り切った。

でもこれは、ケースのサイドパネルを外していた場合。

パネルを閉めると、Cinebench R23の実行して2分ほどでパッケージ温度が100℃に到達し、サーマルスロットリングが発動する。

ケースに熱が籠ってしまえばCPUクーラーがいくら頑張ってダメというのが今回の結論。

 

今のケースは、ふた昔より前の製品。ケースファンなんて無くて当たり前の時代。排熱の貧弱の事はわかっていたので、マザボのバックパネルの上に6cmファン2個を並べると共に、5インチベイのめくら蓋を外して14cmファンで外気を押し込んでみたがたいして役に立っていない。まあ、エアフローを考えるとどうしても無理があるね。

結論は、今どきのケースに買い替えるしかない、ということで新しいケースの到着待ち。

大手裏剣参の購入を考えている方へ、今のクーラーはうるさいからという動機なら大手裏剣参は良い選択かもしれません、でも今のクーラーでは冷えないからという理由なら、...たぶん方向性が間違ってます。

 

(後日談:  11700Kに本気な数値計算をさせると360mm簡易水冷でも力不足である事が判明. Cinebenchみたいな軽いソフトなら大丈夫なんだけど. 「簡易水冷の逆襲・・ならず」)

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする