最近の話題 2013年5月4日

1.SPARC64 Xの消費電力は?

  牧野先生の4月28日の公開日誌で,マイナビのSPARC64 Xに関する私のレポートを参照戴いて,「電力はこれも不明。まあノードあたり400-500W いきそう。」と書かれています。

  富士通のM10サーバのページには電力計算ツールがあって,M10-4の2.8GHzクロックのSPARC64 X CPU 2ソケット32コアアクティブ,32GB DIMM×8と600GB HDDという構成で計算すると985Wと表示されます。これに2ソケット追加して64コアとすると1554Wとなり,2ソケットの増分は569Wです。計算された電力は,電源ロスやクローズドループの冷却水を廻すポンプやファンなどの消費電力も含んでいる筈で,これも2ソケットから4ソケット化で増えているとすれば,2.8GHzクロックのSPARC64 Xチップの消費電力は250W程度ではないでしょうか。

  32GBのDIMMを8枚積み増すと104W増加するので,SPARC64 X 2個と128GBメモリで673W,これを2ノードと見るとノードあたり336.5Wとなり,牧野先生の見積もりより低めとなります。

  なお,M10-1で2コアアクティブと16コアアクティブの電力の差は114Wで,コアあたりのアクティブとアイドル状態の消費電力の差は8.14Wと言う計算(これも電源のロス 等を含みます)になります。

  リークなども含めてコアあたり11Wと見ると,16コアで176W,24MBのL2$と8チャネルのDDR3インタフェース,CPU間接続の14.5GB/sの5本のリンク,PCIeなどのコア以外が合計で70〜80Wという程度の配分でしょうか。

  この電力はTDPのような最大定格ではなく,ある程度ヘビーだけど現実的な使用時の電力ではないかと思いますので,TDPで言えばもう少し大きくなると思われます。

  NECの次世代スパコンのCPUチップはSPARC64 Xと同じ28nmプロセスで,チップサイズもほぼ同等ですが,クロックは1.0GHzと上で計算したSPARC64 Xの1/2.8です。ということでスイッチファクタが同じとすると100Wを若干下回るという計算になります。ベクトルパイプがフルに動くとスカラCPUよりスイッチファクタが大きくなるという可能性はありますが,特に根拠はないのですが,それでも150W位ではないでしょうか?ただし,DIMMが16枚ですから,これで100W増えるとノードで言うとSPARC64 Xと同じような電力と思われます。

2.先週のNECの次世代ベクトル機の話題の訂正

  先週の話題でNECの次世代ベクトル機を紹介し,その中で,

  「そして,初代地球シミュレータもそうですが,共通メモリ方式をとっており,全てのベクトルプロセサコアがメモリ経由でデータが共有できます。 プログラムが作りやすく,機能的には望ましい構成なのですが,巨大なバンド幅を持つ共通メモリと多数のプロセサを接続する巨大なクロスバが必要となり,コストが高くなるのという問題があります。」

  と書いたのですが,読者の方から,地球シミュレータはノード内は共有メモリだけど,ノード間は分散メモリというご教授を戴きました。ノード内の共有メモリもバンド幅が高くコストが嵩んでいる,640ノードを単段のクロスバで接続しているというのは正しいのですが,ノード間が共有メモリというのは間違いでした。

  また,SX-9ではノード間の接続はFat Treeになっているとのことで,SX-Xでも特に変わっていないということになります。ただ,従来はノードが複数チップに分かれていたので,ノード内の共有メモリを作るのも大変だったのですが,SX-Xではノードがワンチップに収容されたので,造りがずっと簡単になったということになります。

  謹んで,訂正させていただきます。

3.Intel i7とAMD A10のOpenCLベンチマーク性能比較は予想外の結果

  2013年4月29日のSemiAccurateが ,Intelのi7-3770kとAMDのA10-5800kの性能をOpenCLのベンチマークで比較した結果を報じています。

  i7-3770kは,コアはクロックが3.5/3.9GHzで4コア,8MB L3キャッシュで,GPUはHD4000でクロックは0.65/1.15GHzとなっています。GPUコア数は16で,各コアに4個の単精度積和演算ユニットを備えているので,最大では4×16×2×1.15=147.2GFlopsとなります。 しかし,CPUも16×4×3.9=249.6GFlopsあります。

 一方,A10-5800kはPiledriverコアを使用し,クロックは3.8/4.2GHzで4コア,4MBキャッシュ,GPUはHD7660Dでクロックは800MHz。GPUは384 VLIW4シェーダコアなので,384×2×0.8=614.4GFlopsとなります。Piledriverは2コアで16演算/サイクルの演算器を共有しているので,A10-5800kのCPUは16/2×4×4.2=134.4GFlopsです。

  ということで,CPU+GPUで単精度浮動小数点演算のピーク性能はIntelが396.8GFlops,AMDが748.8GFlopsとなります。

 ということで,GPU単体,あるいはCPU+GPUの生性能ではAMD圧勝なのですが,SemiAccurateの結果ではFlopsCL-floatではIntelは0.43倍,FlopsCL-Doubleでは0.69倍と劣るものの,Raytraceは1.34倍,Folding@Homeでは2種のアルゴリズムで,1.10倍と0.93倍と全体的にみて互角の性能となっています。

  まあ,IntelのHD 4000はDoubleの演算器は持っていないはずで,FlopsCL-DoubleのスコアはCPUコアが出していると思われます。FlopsCL-floatの0.43倍は,まあ,CPU+GPUのピーク性能比と近い値です。

  また,単精度でやっていると思われるraytraceでは,2倍近い生性能の違いにも拘わらず,IntelがAMDより高い性能をたたき出しています。Intelのi7のGPUはL3キャッシュ使えるのに対して,AMDのA10はCPUコア側のL2キャッシュは使えないなどの点で差が出ている可能性がありますが,具体的にどの程度, 効いているのかは分かりません。

  しかし,ハードの生性能にかなりの違いがあるのにOpenCLベンチマークでは互角という結果から判断すると,IntelのOpenCLはCPUコアをうまく使っており,全体としてかなり性能が良く,SemiAccurateが言うように成熟度が高いようです。

4.AMDのHSAはCPU,GPUのキャッシュコヒーレンシをサポート

  2013年4月30日のEE Timesが,AMDが設立したHSA Foundationの,ユニフォームメモリアクセステクノロジの発表を報じています。

  CPUコアのキャッシュとGPUのキャッシュの間で,ハードウェアで内容の不一致を解消するコヒーレンシ機能をサポートするとのことです。AMDは,今年末までに出荷するKaveriでこの機能をサポートするとのことです。

  マルチコアのCPUコア間では一般的なキャッシュコヒーレンシですが,AMDのAPUではCPU,GPUのキャッシュコヒーレンシはサポートされておらず,矛盾が出ないようにプログラムを書く必要がありました。GPUがCPU処理とは独立のグラフィックス処理をやっている場合はこれは大きな問題ではないのですが,汎用の科学技術計算をCPUとGPUで分担して,頻繁に結果をやり取りするようになると,プログラミングが難しくなります。

  この新しいHSA仕様では,このCPU,GPU間のキャッシュコヒーレンシがハードウェアで保たれ,プログラマの負担が減ります。また,この仕様では,GPUも仮想記憶がサポートされ,アクセスした際にそのアドレスのメモリはHDDに退避されてメインメモリ上に無い場合でも,仮想記憶でHDDからメインメモリに復元されるとのことです。

  リアルタイムのグラフィックスの場合は,HDDから復元しては間に合わないので不要な機能と思いますが,メインメモリに収まらない巨大なデータを扱う計算には役に立つかもしれません。しかし,仮想記憶が動くと大幅に性能ダウンするので,最近はメインメモリを大量に搭載してオンメモリで処理するという方が流行で,セーフティーネットくらいにしか使われないのではないでしょうか?

5.IntelのHaswellはDRAMキャッシュをパッケージに搭載

  2013年5月2日のThe Inquirerが,IntelのJohn Webb氏が,HaswellではCPUと同一のパッケージにCPUとGPUのキャッシュとなるDRAMを搭載することを認めたと報じています。このDRAMはDDR3などではなく,Intelのカスタム品で,CPUとGPUからアクセスでき,キャッシュコヒーレンスが維持されるとのことです。

  2013年4月23日のReal World Technologiesによると,6月に京都で開催されるVLSIシンポジウムでIntelが発表する組み込みDRAMがこのキャッシュ用チップと見られるとのことです。この論文のタイトルではMIMCAPと書かれており,トランジスタは22nm FinFETで,配線層にキャパシタを作りこんでいるようです。これならFinFETを作るフロントエンドのプロセスに影響を与えないので,プロセスの開発は比較的,やりやすいと思われます。

  アブストラクトによると,セルサイズは0.029umで,17.5Mbit/mm2の密度で,128Mbマクロを作っているとのことです。DRAMセルの情報保持時間は95℃で100us以上となっています。通常のDRAMに比べるとかなり短い保持時間ですので,リフレッシュの電力がどの程度なのか気になります。

  RWTは,この密度で128MBのチップを作ると,DRAMセル部分が60mm2程度で周辺などを含めて70〜80mm2のチップとなるので,HaswellのDRAMは128MBのチップであると推測しています。そして,このチップはL4キャッシュとして動作し,バンド幅としては64MGB/sを上回ると推測しています。

  Haswellは電源のVRをオンパッケージに搭載することが北京IDFで発表されていますので,パッケージは単なるCPUのパッケージではなく,色々なチップや部品を搭載する配線基板というような位置づけになりそうで,コストが上がりそうです。これにカスタムのDRAMを乗せると更に高くなると思われますが,RWTは,DRAMチップが載るのは最上位のGT3e(Crystalwell) 搭載のチップだけと書いています。

6.AMDがカスタムチップの受託開発ビジネスを開始

  2013年5月2日のThe Inquirerが,AMDが受託開発を行うSemi-Custom Business Unitを設立したと報じています。昨年,Trident MicrosystemsからAMDに移籍したSaeid Moshkelani氏がこのビジネスユニットを率いるとのことです。

  このビジネスユニットは,社内の全てのIPにアクセスでき,x86コア,開発中のARMコア,GPUコア,その他のメモリコントローラやPCIeコントローラなどのIPが揃っています。更に,顧客から要求された 仕様のカスタムIPを新設計したり,顧客が持っているカスタムIPを組み込むなどのカストマイズをしたチップの開発を受託するとのことです。

  公表された最初の仕事は,ソニーのPS4のSoCとのことです。コアのライセンスだけを行うARMとは違った切り口で自社のIPを活用するビジネスで,お値段にもよりますが,需要はあるのではないでしょうか。また,x86コアが必要という顧客にはオンリーワンのソリューションとなります。

 

 

 

inserted by FC2 system