理乃美

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

KVMスイッチ SW-KVM4U3HD レビュー

2023-07-30 13:27:57 | 自作パソコン
KVMスイッチを買い替えた。これで4代目かな?
ビデオ信号はHDMIかDVIで、メイン、サブ、在宅勤務時の会社のノートPCの3台は切り替える必要あり、となると機種が限られて、結局サンワのSW-KVM4U3HDにした。
で開封がこちら。
本体、説明書、ACアダプターと電源コード、そして1.8mの HDMI, USBケーブル、3.5φのオーディオケーブル が4セット。



想定外だったのは電源が必要だったこと。前のKVMスイッチはUSBラインからの給電で動いていたのだよね。
しかも、ACアダプタのプラグがアース付きの3極タイプ(いわゆるOAコンセント)。 あまり家庭用とは思っていないのかなぁ。まあ、自室は3極タイプに変えてあるから困らないけど。
使用していて気になるのは、動作が遅いこと。切り替えスイッチを押してから実際に切り替わるまで1秒かかる。まえのKVMでは押したらすぐに切り替わったので不満。新しいKVMには「切り替えスイッチの2度押しでオーディオのみ切り替え」というギミックがある。それゆえ、スイッチが押されても、2度押しでないことを待って確かめてからでないと切り替えられないという仕様になってしまっている。これは止めて欲しい。
また、電源オンでの起動にも2秒くらいかかるのが難。

ちなみに、以前のKVMスイッチはサンワのSW-KVM4LU。
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

サブPCを3万円で更新

2023-07-16 17:13:41 | 自作パソコン
今のメインマシンは、Visual Studio Express & Cuda tool kitを入れているうえ、Windows11とUbuntu のデュアルブートにしてピュアなLinuxでの実験もできるようにしてあるけれど、普段使いのマシンがゆえに使いにくい。
そこで、実験用のサブPCを更新することにした。とりあえず、予算は2万円程度。3年間はサブ機として使いたいのでWindows 11対応が条件。また、BRドライブが必須。で、方策を考えた。

1. ヤフオクで中古機を購入
コンパクトデスクトップなら2万円台でWindows11導入済みの品もあるが、光学ドライブはスリムドライブになるのが難点。
2. 現行のローエンドのCPU, マザボ, メモリを購入
AMDならいけそうだが、intel派なので...
3. ショップから中古のCPU, マザボ、メモリを購入
中古はCPUよりマザボの品が少ないが、幸い第10世代向けのマザボがあった。これに中古のCore i3とメモリ(新品) なら、少々の予算オーバーで済みそう。

ということで、結局はトータル3万円ほどで以下を購入。

CPU: 第10世代 Core i5 10600 (中古)
マザー Z490-S01 (中古) MSI製でBTOメーカ向けモデルらしい
メモリ DDR4-3200 8G x2 (トータル16G. 新品)

さらに、CドライブはHDDからメインPCからのお下がりのM.2へ変更。
グラボのRTX A2000もメインPCから移動

出来上がってみると、メインPCからもさほど見劣りしないマシンに仕上がっちまった。ブート時間などは、メインPCより早い。

お約束のFF15ベンチの結果は、8122で快適の判定. 第11世代 Core i7のメインPCだと 8306。FF15ベンチの場合、ある程度いってたらあとはグラボ勝負なのかな?

ちなみに、ドライバはWindows11に入っていたもので、バージョン 30.0.14.7141. CUDA Tool Kitを入れるとドライバも更新されて、バージョン 31.0.15.3625に変わる。もう一度、FF15ベンチを取ったら8093だったが、わずかな違いなのでドライバの相違のせいかもしれないし、計測誤差なのかもしれない。まあ、どっちでもよいか。

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

TESLA K80 から RTX A2000 へ乗り換え

2023-05-07 16:17:09 | 自作パソコン
GPUを K80からRTX A2000に変えた。
まずは気になる演算性能をnbodyで比較すると、
単精度の場合 K80の2895GFLOP/s に対して A2000は3782GFLOP/s 。大きく世代が違うので、Kepler を二つ並べても Ampere にはかなわない。
その一方で倍精度となると、K80の1396GFLOP/s に対して A2000は 145GFLOPS/s。タイポじゃないよ、笑っちゃうね。

本来RTX A2000はグラボなので、お約束のFF15ベンチを実行。スコア8306で快適判定 だったのだが、ググってみるとGeForce RTX 3050とかのレベルらしい。ゲーマーじゃないので他はパス。


このRTX A2000も中古で購入。RTX A2000はQuadroの系統のグラボで、AmpereアーキテクチャのGA106。メモリは、6GBと少ない。
幅は2スロットながらロープロファイルでコンパクト。普通のGPGPUと並べるとこんなに違う。


インストールはPCI-eのスロットに刺すだけ。K80のように補助電源を用意したり送風ユニットを用意したりといった手間がなくてとっても楽だった。

換装理由は、もちろん ChatGTP や Midjourneyで大きく盛り上がっているAI。
周回遅れながら勉強を始めてみるかと思ったが、GPUにKeplerだとアーキテクチャが古すぎる。もうすこし新しい、できればTensorコアのあるのが欲しいが予算は押さえたいと思いながら中古のリストを見ていたらAmpereが載っていて5万円程度のこれを見つけた。別の選択肢として GeForceの4070TI あたりを奮発するのもありだろうが、自分としてはメインマシンの更新時にゲーミングPC化するつもりなのでタイミングが良くない。また、TESLA P100だと倍精度演算能力はよいが TensorコアがないのでAIにはさほど向かない。A2000はQuadroの系統というも選んだ理由の一つかな。
まあ、なんだかんだ言って結局は物欲でしかないのだけれど。



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

自宅のPCでFDPSを使ってみる

2022-10-08 00:30:03 | 自作パソコン
FDPS (Framework for Developing Particle Simulator) [1]は、オープンソースの粒子シミュレーションのフレームワークである。( https://github.com/FDPS/FDPS )
これを自宅のPCで動かしてみた。今となっては2世代前の第11世代 Core i7のデスクトップ。OSはUbuntu 22.04。

GitHubからソース一式をダウンロードしmakeすれば 重力N体シミュレーションコード(sample/c++/nbody) は素直にビルドできた。OpenMPのみの利用、PIKGによるAVX-512利用もチュートリアルの記載どおりにMakeファイルを修正すればビルドできて動く。
NVIDIAのGPUを使うには、チュートリアルの記載に加え Makefile 35行目でnvccのコマンドパラメータの修正が必要だった。まず、-std=c++11 とあるのは -std=c++17 にしないとコンパイルが通らない。また、私のPCに載っているのは古い TESLA K80なので、-arch sm_37 を指定する必要がある。その二つの変更を追加すればOK。

で、重力N体シミュレーションコード (nbody.out)の実行時間 (timeコマンドでrealの値) は次のとおり。粒子数が64K個でもどうという事なく計算できている。


粒子数 AVX512+OpenMP AVX512 OpenMP 1 core 1 thread K80+OpenMP K80
1024 1.306 1.086 1.552 2.63 1.831 1.344
2048 1.575 2.684 2.367 7.363 2.543 2.768
4096 2.364 7.379 3.791 18.16 4.585 7.023
8192 3.616 14.621 7.559 41.434 7.913 13.112
16384 6.968 35.919 15.626 101.708 17.502 32.182
32768 17.246 88.197 35.687 236.615 40.989 78.441
65536 34.685 173.999 77.391 524.673 78.302 144.925

ここで予想外だったのは、TESLA K80が CPU(AVX-512利用)に負けていること。
nvidia-smiで見てみると、理由が見て取れた。K80は外見は一つだが、中身は二つのGPUからできている。nvidia-smiで見てみると、GPUが一つしか使われていないうえ、GPUの使用率が30%強だった。つまりCUDA用の実装がいまいちでGPGPUの実力を完全には引き出せていないという事なのだろう。
このサンプルプログラムでは、n_group_limitがデフォルトで64となっている。つまり、最大でも64粒子になるまで分割している。もっと大きな塊で計算させればCUDAの効率を上げられるのではということで n_group_limit を変えてみた結果がこちら。粒子数10万個で、n_group_limitを64から4096まで変えてみた。AVX-512を使った場合もCUDAを使った場合も最初は実行時間が減るが、これは領域分割・ツリー構築の時間が減ったためだろう。やがて重力相互作用の計算時間が増える影響がでて実行時間が増える。AVX-512に比べCUDAのほうが増加が緩やかなので逆転はする。だが、最適なn_goup_limitだとAVX-512のほうが早い。 nvidia-smiで見てみると n_group_limit = 4096の場合でGPU使用率が50%前後。でもK80全体の1/4しか使えていないことになる。


ちなみに、私はWindowsユーザーだが、サンプルプログラムのnbodyは、POSIX API (unistd.h) を使っていたりして Windows上でビルドするのが面倒だったので 素直にLinuxにした。

PCのスペック詳細
CPU: intel 第11世代 Core i7 11700K
Memory: 64GB
マザーボード: ASUS TUF GAMING Z590-PLUS
ストレージ: SATA接続 SSD
OS: Ubuntu 22.04
GPGPU: TESLA K80

[1] Iwasawa et al. (PASJ, 68, 54), Namekawa et al. (PASJ, 70, 70)
コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Tesla K80 の発熱に勝った..のか?

2022-05-05 21:52:00 | 自作パソコン

ファンレスグラボ用の外付け3連ファンで長いあいだお茶を濁していたK80だが、連休で時間がとれたのでファンを付け直すことにした。

今度使うのは、中華通販で入手した2連の4cm角タンデムファンのGFB0412EHS。DELLのラックマウントサーバー用のユニットのようだ。

ファンを取り付けるスロートは、3Dプリンタで作るのが今どきの流儀だろうが、そうもいかないのでアルミ板と木切れででっちあげた。GPGPUボードの延長線上にファンがくる配置なので、ケース内の3.5inchベイを1ユニット外して場所を開けた。

で、その効果だが nbody.exe を K80の両方のGPUを同時に使い倍精度で計算する設定でぶんまわして、GPU-ZでGPU温度を観察した。今回は、片方は58℃、もう片方は48℃で安定。(外気温は26℃)    ちなみに、ケース背面には、まるでヘアドライヤーのように熱風が噴出している。

と、いう事でTESLA K80の発熱に打ち勝った...のだろうか?確かに、GPU温度は抑え込めたが、ファンの爆音が残った。そう、あのサーバールームの轟音が自宅で手軽に味わえるようになってしまったのだ。うーむ、困ったものだ。

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