レビューメディア「ジグソー」

RyzenでSEGVは発生するのか?

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復活ばんざーい!

更新: 2018/01/25

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が発生する頻度は低くなってきているみたいなので、今後のアップデートに期待でしょうか。

更新: 2018/01/25

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日

  • 購入場所

    ヨドバシ

18人がこのレビューをCOOLしました!

コメント (0)

ZIGSOWにログインするとコメントやこのアイテムを持っているユーザー全員に質問できます。

YouTube の動画を挿入

YouTube の URL または動画の ID を入力してください

動画の ID が取得できません。ID もしくは URL を正しく入力してください。

ニコニコ動画の動画を挿入

ニコニコ動画の URL または動画の ID を入力してください

動画の ID が取得できません。ID もしくは URL を正しく入力してください。

ZIGSOWリンク挿入

検索対象とキーワードを入力してください

    外部リンクを挿入

    リンク先の URL とタイトルを入力してください

    URL を正しく入力してください。

    画像を挿入(最大サイズ6MB)

    画像を選択してください

    ファイルサイズが6MBを超えています

    別の画像を追加

    ZIGSOW にログイン

    ZIGSOW会員登録(無料)はこちらから