AMD Ryzen 7 1700
8C16TにもかかわらずTDP65WのCPUなので24時間稼働が基本(?)のBOINCにはおあつらえ向きのモデル。
CoolerMaster製との噂のあるTDP 95Wまで対応するという WraithSpire cooler 付き
ヨドでは46,050円だったが還元ゴールドポイント4,605Pで実質41,445円でした。
残念ながらAVX2性能はオマケ程度なのでPrimeGrid LLR系演算には向かないが、WCGrid系の演算にはけっこう良い感じです。ひとまずAMD復活ばんざーい!
RyzenでSEGV発生!
Linux環境でカーネルビルドするとごく希にSegmentation Fault なるエラーが発生するという噂が流れた。
Twitterにて #ryzen_segv_battle なるハッシュタグまで付けられる始末。
BOINCで長時間演算をする身としてはかなり気になる。
ということで実際に検証してみた。
PC構成
CPU:AMD Ryzen 7 1700 (全コア3.45GHzにOC)
M/B:ASRock Fatal1ty X370 Gaming K4 (BIOS 2.50 AGESA to 1.0.0.6)
RAM:8GBx2 W4U2666BMT-8G (残念ながらデュアルランクメモリっぽい)
SSD:crucial CT250MX200SSD1
GPU:GT710
PSU:Seasonic SS-1050XM
OS:UbuntuMATE 17.04 64bit
Ryzenにまつわる2つの問題 sat (id:satoru_takeuchi)
http://satoru-takeuchi.hatenablog.com/entry/2017/04/24/135914
ryzen-problem-repro3
https://gist.github.com/satoru-takeuchi/23afbf565c2d97c3ef16e5d46d11f5bf
を用いて、Linuxカーネル4.11を688回ビルドしてみたもののSEGVは1回も発生せず。
たぶん、接触不良辺りや、電源やメモリの相性じゃないの?と思いつつもしばらく安穏としていたが……
ある日突然、某氏から報せが届く
SEGVが出るコードが出来上がってしまいました haya @homuh0mu
https://twitter.com/homuh0mu/status/879330494789308416
hayamdk/ryzen_segv_test
https://github.com/hayamdk/ryzen_segv_test
を早速DLして解凍し
make
./run.sh 8 2500000
を実行。約18分経過後、ctrl+cで強制終了して出力されたlog.txtを確認……
617663行目にそれはあった!!!!!
----------------------------------------------------
17: 2017年 6月 27日 火曜日 16:26:53 JST: OK
PID:24424 CPU:10
16: 2017年 6月 27日 火曜日 16:26:54 JST: OK
PID:24429 CPU:4
17: 2017年 6月 27日 火曜日 16:26:54 JST: OK
PID:24435 CPU:10
Segmentation fault (core dumped)
18: 2017年 6月 27日 火曜日 16:26:54 JST: NG
PID:24440 CPU:6
18: 2017年 6月 27日 火曜日 16:26:54 JST: OK
PID:24445 CPU:12
16: 2017年 6月 27日 火曜日 16:26:54 JST: OK
---------------------------------------------------
311,699 OK
29 NG
どうやら、うちのRyzenでSEGVが発生する確率は約0.0093%の様です。
BOINC的にはあまり無視できないですね。約1万回処理して約1個SEGVが発生するという確率です。
このSEGVを再現するコードですが、少しでも配列変えたり数字を変えたりするとSEGVは出なくなるとのこと。また、Intel Core i7 2600KだとこのコードでもSEGVが発生しないとのこと。
Ubuntu 17.04系 の gcc + Ryzen で限定的に発生するものなのかどうかはまだ今後更なる検証が必要ですね。
gccを改修すれば済む問題なのかと言われると回避自体はできても、gcc以外の他の処理でSEGVが発生する可能性自体は依然として有り得るわけで、けっこう由々しき事態と言えます。
AMDにはSEGVを回避するためのmicrocodeアップデートか(出来ればPhenom(I)のTLBエラッタ対応パッチみたいな性能ダウンは避けて欲しい)交換を求めます。
なお、2017年33週以降のRyzenや今日発売されたというEPYCや今後出るThreadripperでは問題ないそうです。
とはいえ、今のところBIOSアップデートの度にSEGVが発生する頻度は低くなってきているみたいなので、今後のアップデートに期待でしょうか。
2017/12/25での状況
Ryzen R7 1700
ASRock Fatal1ty X370 Gaming K4 BIOS 3.40
Ubuntu Mate 17.10 64bit
の環境ですが、BIOS設定でOp CacheをEnableにしても SEGVが出なくなった様です。
OS側で強制的にμOp Cache を無効にする様にしたのでしょうか?
LOGの書き出し速度がかなり遅くなっているのが気になります。
一応、BOINC WCGridでは今のところ目立ったエラーは出ていません。
-
購入金額
46,050円
-
購入日
2017年03月08日
-
購入場所
ヨドバシ
ZIGSOWにログインするとコメントやこのアイテムを持っているユーザー全員に質問できます。