intelのつよいプロセッサーを買おう(提案)

この記事はSFC-RG Advent Calendar 2017の7日目です。


みなさんが開発したプログラムを走らせるとき、どんな環境を使っていますか？
開発したノートPC端末でそのまま？デスクトップPCで？それともサーバーのインスタンスを借りて？
本筋のプログラムに関する技術ではありませんが、実行するハードウェアも開発において重要です。そんなとき、スペックの参考になるいい感じのまとめが無かったので作りました。
ここで取り扱うのはデスクトップ向けのものだけです。
ノートPCのはまた変わってくるのでご了承を。

#パソコンまわりの数字の大原則
デカイのが正義(至言)
というのはネタにしても、基本同じ世代であれば数字が大きければ大きいほど速いと思ってください。

##intel Coreシリーズの世代
現在のi7-8700KをフラッグシップとするCoffee Lakeの世代は第8世代となります。

型番と世代の対照表
第1世代 Nehalem (Core ix-9xx,8xx)
第2世代 Sandy Bridge (Core ix-2xxx, i7-39xx(LGA2011))
第3世代 Ivy Bridge (Core ix-3xxx, i7-49xx/48xx(LGA2011))
第4世代 Haswell (Core ix-4xxx, i7-59xx/58xx(LGA2011-v3))
第5世代 Broadwell (Core ix-5xxx, i7-69xx/68xx(LGA2011-v3))
第6世代 Skylake (Core ix-6xxx, i7/9-79xx/78xx(LGA2066))
第7世代 Kaby Lake (Core ix-7xxx, i5/7-77xx)
第8世代 Coffee Lake (Core ix-8xxx)
第9世代 Ice Lake(Core ix-9xxx? i7/9-89xx/88xx?)

注意点としては、HEDT向けのLGA20xx世代は約2まわりほどアーキテクチャ的には適用が遅いということでしょうか。
Xeonも同様で、
第1世代 Nehalem (Xeon X/E/L xxxx)
第2世代 Sandy Bridge (Xeon E7/E5/E3-xxxx)
第3世代 Ivy Bridge (Xeon E7/E5/E3-xxxx v2)
第4世代 Haswell-EP (Xeon E7/E5/E3-xxxx v3)
第5世代 Broadwell-EP (Xeon E7/E5/E3-xxxx v4)
第6世代 Skylake-SP (Xeon Scalable 41xx, 51xx, 61xx, 71xx)
第7世代 Cascade Lake?
第8世代 Ice Lake?
となっています。

ちなみに、第1世代のCore世代ではDDR3のメモリチップの認識できる容量の限界が小さいため現在市販されているDDR3の4GBモジュールは基本的に使えません。
さすがに時代もかなり経って高速化されていますので、新しいマシンへの置き換えも検討しましょう。

#利用できる拡張命令
Intelはベクトル処理の命令をいくつか持っています。世代によってサポートされている命令が異なるので注意が必要です。
第1世代 Nehalem　　　　SSE4.2
第2世代 Sandy Bridge　SSE4.2、AVX
第3世代 Ivy Bridge　　SSE4.2、AVX
第4世代 Haswell　　　SSE4.2、AVX、AVX2
第5世代 Broadwell 　　SSE4.2、AVX、AVX2
第6世代 Skylake 　　　SSE4.2、AVX、AVX2、AVX512(Xeon Scalableプロセッサのみ)
第7世代 Kaby Lake 　　SSE4.2、AVX、AVX2
第8世代 Coffee Lake 　SSE4.2、AVX、AVX2
第9世代 Ice Lake　　　SSE4.2、AVX、AVX2


さて、では現行のIntelのざっくりしたラインナップはこんな感じです。
#intel Core i7/5/3プロセッサー
![processor-badge-8th-gen-core-family-16x9.png.rendition.intel.web.224.126.png](https://qiita-image-store.s3.amazonaws.com/0/217644/05046b37-2893-16fb-61dc-20982ce28556.png)
今皆さんが買うとしたら多くはこれじゃないでしょうか。
第8世代のデスクトップ用Coreシリーズ(Coffee Lake)だと、
Core i7 = 6C12T
Core i5 = 6C6T
Core i3 = 4C4T
となっています。
第7世代以前のデスクトップ用Coreシリーズは、
Core i7 = 4C8T
Core i5 = 4C4T
Core i3 = 2C4T
となっています。

これから買うなら大体最新のCore i7の8700Kを積んでおけば問題ないかと思います。お値段は約4万6000円、タダも同然です。

#intel Core i7/i9プロセッサー
![family-corex-ext-m-rgb-3000.png](https://qiita-image-store.s3.amazonaws.com/0/217644/f6cf823e-6ae1-4a92-613f-70db6d9cb7e2.png)
所謂「X299」と呼ばれるチップセットを利用するシステムです。
これの特徴は、44レーンという広めのPCI-Expressと最大18C36T対応のモデルが出ていることでしょうか。
そして、メモリが4チャネルアクセス対応なので帯域が広いのも特徴です。
最新のCore i7/i9 7xxxX/XEシリーズは、Skylakeコアを利用したSkylake-Xシリーズです。
Xeonのシリコンをそのまま転用しているため、サーバー向けの機能が使えたりもします。(VROCやECCメモリなど)

拡張性が欲しい人、サーバーに近いスペックで走らせたい人におすすめです。このあたりからシステムの値段がおかしくなってきます。
最速のi9-7980XE(18C36T)は25万。まだ安い！！！！！！

#Xeon Scalableプロセッサー
![intel-xeon-scalable-processors.png](https://qiita-image-store.s3.amazonaws.com/0/217644/33a80ca8-6133-5dde-f994-f0e3aed9f84a.png)
最大28C56Tのダイを擁し投入された、Intelのサーバー用プロセッサです。
PCI-ExpressはCPUあたり最大48レーン、メモリーは怒涛の6チャネルアクセス対応です。
信頼性や処理性能ではコンシューマ用を圧倒します。
また、チップセットも下から2番目以上のSKUで10G Ethernetに対応するなどクソ強いです。
最新のモデルはSkylake-SP,ソケットはピン数なんと3647本のLGA3647に対応します。
なお値段も性能が上がると同時に跳ね上がり、最上位のPlatinum 8180はなんと石一つ100万円オーバーの$10009.00とかいう天文学的価格になる模様
おひとつ100万円以上のプロセッサ、使ってみてはいかがでしょうか？

#Xeon Phiプロセッサー
![processor-badge-xeon-phi-1x1.png.rendition.intel.web.128.128.png](https://qiita-image-store.s3.amazonaws.com/0/217644/b99fe6d4-c1d6-786b-2f94-e18a9fd09131.png)
Intelのやべー奴(真顔)
最新のKnights Landingは、Atom(Silvermont)ベースのコアを最大72コア詰め込んだ並列処理番長です。
なんならハイパースレッディングで1コア当たり4スレッドの実行ができるので288スレッド同時実行ができます。
更にはフルスペックのAVX512対応と合わせて、ベクトル化されたモダンなコードでは無類の強さを誇ります。
また、アーキテクチャ的な特徴で言えばMCDRAMと呼ばれる広帯域メモリをオンパッケージで搭載しています。
これに収まるコードを書けばかなり高速化が狙えます。

なお、だいぶ魔改造は施されてはいるとはいえベースはAtomです。
そのため、苦手な整数演算などではAtomクラスになります。
よって、分野を選べば最速ですが、かなり高度な最適化が必要なためかなりプログラムを選びます。
TDPは怒涛の245W。これを4台2Uに詰め込んだコンピュートノードはこれからの時期の暖房にぴったりです。
きっとHPLinpackでも流せば部屋はすぐ暖かくなるでしょう。多分ファンの騒音で死にますが。

#まとめ
みんなもXeonをパソコンに使おう！400万円で超ハイエンドマシンをゲットだ！

なお消費電力と騒音