ToDo:
a=min(.99d0,px(i)**2+py(i)**2) dpz=a*(-.5d0-a*(.125d0+a*.0625d0)) dpz=(dpz**2-a)/(2.d0+2.d0*dpz) dpz=(dpz**2-a)/(2.d0+2.d0*dpz)
dpz := Sqrt[1-s] - 1 (但し、s := px^2 + py^2, 0 =< s < 1)を 3次まのでマクローリン展開を種に2回Newton改良を行った近似式
ハードウェア化された開平器がある場合は、素直に計算した方が早いかも...
この場合、s〜0近傍の桁落ちを考量し、dpz := -s / (1 + Sqrt[1 - s])で計算する方が良い(除算一回分不利)
Rythen Threadripper 2950X(Zen+)で、DRIFTを大量に詰め込んだ状態でベンチマークで比較したが、 Newton改良2回のコードと-s/(1+sqrt(1-s))では有意な差が出ない(-O3 -ffast-math時)
コードの改変に対するCPUタイムの変化を調べてみたが、
有意な差がでるので、ボトルネックにはなっている模様
ちなみに、-ffast-mathを外すと-s/(1+sqrt(1-s))はNewton改良2回のコードよりも有意に遅い
全域での精度を考えると、-ffast-math付きでsqrtを使う方が良さそう…
DRIFTとQUADに実装されているが、動作が異なる
Antec P5に夢とロマン(16コア)を詰め込んだマシン達
Ryzen Threadripper 2950X + ASRock X399M Taichi
筐体の吸排気系は、吸気側 NF-A12x25 PWM x2、排気側 NF-A12x25 PWM x1
CPUクーラーは、最終的には Noctua NH-U12S-TR4-SP3の標準ファンを NF-A12x25 PWM x2に換装して、NH-U12S DX-3647相当に改修したものを使用
Noctuaの公式データだと、 ノーマル状態のNH-U12S-TR4-SP3は NSPR 129に対して、NH-U12S DX-3647は NSPR 157
実際、公称TDP 180WのRyzen TR 2950Xを冷やし際、 最初に導入した TR4対応水冷ヘッドでTDP250W対応を自称していた簡易水冷 ELC-LTTR240-TBPに対して、 我がNH-U12S-TR4-SP3改は、連続負荷状態でのTdie平衡温度 -10℃を叩き出している(240mm簡易水冷より冷えた&静かだった)
CPU挿入したらTR4ソケットの蓋がしまらないエラッタ品を掴んだのはいい思いで(解禁当日昼に購入、持ち帰り不具合発覚、当日夕方にショップに持ち込み初期不良と認定され交換対応)
マルチスレッド負荷でハングアップする系のCPUエラッタもあり、安定稼働するAGESAファームが出てくるまで実用に耐えなかった…(ファーム出た後は安定したのだが、検証作業を行う時間が取れなくて実戦投入が遅れた)
Ryzen 5950X + ASRock X570M Pro4
筐体吸排気は初号機を踏襲、CPUクーラーはNoctua NH-U12A
マザーはZen2時代から存在していたもの & NSPR 169に対してTDP 105Wなので大きなトラブルもなく簡単に仕上がった
ASRock X570M Pro4は、UEFIファームに入るところが微妙に不安定でじゃじゃ馬(ホットリスタートからUEFI画面に入るところで相応の確率で固まる、コールドスタート時はOKっぽぃ)なのですが、それ以外は問題なく動きます
同じX570マザーでもATXサイズの Gigabyte X570 AUROS PRO(Ryzen 3700X運用)にはそんな挙動は無いので、ファームのバグなのかなぁ…(癖が分かっていれば対処できるので致命的ではないけど…)
Ryzen 7950X + ASUS ROG X670E GENE
筐体吸排気は初号機を踏襲、CPUクーラーはいつものNoctua NH-U12A
マザーへの配線(CPU 12V 8pinx2)で苦労したのと、出荷状態の初期ファーム(グローバルの解禁日前日にβファームが出てる時点で察するべきだった)だとメモリI/O負荷をかけるとぼろぼろデータ化けする以外は初物にしては大きな問題なく立ち上がった
TDP 170W(PPT 230W)だけど、数値計算用なので SMT offで16コアの並列FP負荷を想定したLinpackによる負荷試験だと平衡状態で Tctl~95℃・PPT 80%・TDC 100%まで回った実績あり (Ryzen Masterで見る限り、4.9~5.1GHz辺りが出ているようなので満足)
マルチコアのメモリテスト負荷だと、PPT 80%にも届かずにTDC100%までいくので、DDR5インターフェースが電気食べてる?
メモリ構成は、AMD EXPOなDDR5-5200 OCメモリなのでその影響もあるかも?
本番環境投入前の各種ベンチマークから、手元の実用負荷だと1号機とほぼ同等の電力枠で、シングルスレッドの数値計算で2倍、並列コンパイル負荷でほぼ3倍の性能が出ている(Zen+/12nm → Zen4/5nmなので電力効率が全然違うのは当然なのだが…)
とりあえず、現状までに分かったことを纏める
Ver. | Date | 備考 |
3.08 | 2024/09/19 | NTP offsetジッター発生より後 |
3.06 | 2024/07/30 | Ryzen 9 9950X運用開始時点のFirmware |
3.01 | 2024/05/16 |
現状の調査状況からは、ntpdのソフトウェアのバグもしくは、NTPDがやりとりするNTPパケット(UDP port 123→port 123)の混線((A)がNAPTな外部Gatewayなのでパケットがあつまる)あたりしか原因が思いつかん Orz
時間が取れたら、RTX830を本番投入してGateway機能を分離してみよう…NTPパケットの混線ならこれで治るはず
カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記
_ Y氏 [無線LANは使えるようですね。 >2週間分の番組がとんだか ご愁傷様です。 #パエリア食べた?]
_ T [22日の日曜日は1号館の定期清掃だそうです。]