後藤弘茂のWeekly海外ニュース

Intelが進める、32コアCPU「Larrabee」




●32コアに続いて48コアバージョンも計画

 Intelは、メニイコア(Many-core)CPUの第1弾「Larrabee(ララビー)」の製品化に向けて進んでいる。Intelでは、数十個規模のCPUコアを載せたマルチコアCPUをメニイコアと呼んでいる。Larrabeeは“ハイスループットコンピューティング”向けに特化した、IA(Intel Architecture)プロセッサで、多数のCPUコアで並列処理を行なう。

 業界関係者によると、Intelは、まずLarrabeeの32コア版を投入、その1年後に、48コアのプロセス微細化版を投入する予定だという。また、32コア版からの派生で24コア版(不良コアを無効化したバージョン)も製品化する予定だという。

IntelのLarrabeeの想定ロードマップ(※別ウィンドウで開きます)
PDF版はこちら

 ちなみに、コア数は、なにをコアとして数えるかによって変わる可能性がある。32コアという数字は、複数の情報ソースで確認できているが、異なるコア数も伝えられているからだ。しかし、Larrabeeがある程度GPUと似たようなベクタ型構造を持っているとすると、GPUと同様にコア数は定義によって異なってくる。ベクタ型の命令制御を行なう単位が“コア”なのか、その下のプロセッサエレメントが“コア”なのか、定義によって数え方は違う。

What the Cores will look like:(※別ウィンドウで開きます)
PDF版はこちら

 LarrabeeのCPUコア数は多いが、各コアは「浮動小数点演算に特化したインオーダ型マイクロアーキテクチャで非常に小さいため、経済的なダイサイズ(半導体本体の面積)に収まる。コアはそれぞれ4wayマルチスレッディングもサポートする」(業界関係者)という。インオーダで浮動小数点演算に特化すると、CPUコアサイズは現行CPUの数分の1にすることが可能だ。

NoC Die Overview(※別ウィンドウで開きます)
PDF版はこちら

Small cores for high power efficiency
(※別ウィンドウで開きます)
PDF版はこちら

Increasing Throuput through Parallelism
(※別ウィンドウで開きます)
PDF版はこちら

Patrick(Pat) P. Gelsinger氏

 Larrabeeの開発はすでにかなり進んでおり「2008年にはLarrabeeの動作デモを公開する」とIntelのPatrick(Pat) P. Gelsinger(パット・P・ゲルシンガー)氏(Senior Vice President and General Manager, Digital Enterprise Group)は説明している。製品の投入時期については「2008年末~2009年のタイムフレーム。場合によっては、次世代CPU『Nehalem(ネヘーレン)』より前になるかもしれない」とある業界関係者は語る。ただし、最初に登場するのは「言ってみれば“練習版”、まだ本格的な製品とは言えない」(業界関係者)そうだ。これは当然で、Larrabeeの場合はGPUのように出してすぐに使えるアプリケーションがあるというチップではないからだ。


●CPUアーキテクトチームが開発を担当

 長らくディスクリートGPUと見られていたLarrabeeは、実際にはGPUではない。多くのデータを並列に処理するストリームコンピューティングに特化したメニイコアCPUだ。Gelsinger氏は次のように表現する。

 「Larrabeeはハイスケール並列マシンだ。非常に多くのコアを搭載しており、我々のメニイコア(Many-core)の最初の製品となる」

Jim Held氏

 Larrabeeは、IntelのメニイコアCPU研究の最初の成果という位置付けだ。Intelのメニイコアプロジェクトを率いるJim Held氏(Intel Fellow & Director of Intel Tera-scale Computing Research, Intel)によると、LarrabeeはすでにHeld氏の属するリサーチ部門を離れ開発フェイズが進んでいるという。

 開発を主導しているのは、Intelのグラフィックス部門ではなく、CPU部門だという。それも、Core Microarchitectureを開発したIntelイスラエルではなく、P6/Pentium 4系アーキテクチャを開発してきたIntelオレゴンチームだと言われる。「アーキテクトチームは、CPU側のアーキテクト陣。Pentium 4のチームのうち半分がNehalemに、半分がLarrabeeに行ったような雰囲気だ」とある業界関係者は語る。オリジナルプランのNehalemのアーキテクトDong Carmean氏(2002年のレポート『Intelが新アーキテクチャのCPU「Nehalem(ネハレム)」を2004年に投入』を参照)がメインアーキテクトとも報じられている。

●x86命令セットアーキテクチャにこだわったLarrabee

 Larrabeeの最大のポイントは、IA(x86系)命令セットアーキテクチャを拡張した、高並列プロセッサである点だ。そこが独自命令セットアーキテクチャのGPUや他のストリームプロセッサとは大きく異なっている。

 「LarrabeeのコアはIA命令セット互換だ。これは非常に重要な特徴だと考えている。ただし、命令セットには浮動小数点命令が拡張されている。高並列ワークロードのために特化した命令セット拡張だ。また、コアにまたがる形でキャッシュコヒーレンシーを取る(共有)キャッシュを備える。これ(キャッシュコヒーレンシ)はプログラマビリティを考えると非常に重要だ。加えて、特殊用途ユニットとI/Oを搭載する。

 Larrabeeは、決して、GPGPU(汎用GPU)のスペースでの伝統的なグラフィックスパイプラインではない。より汎用プロセッサ、つまり、IAプログラマビリティが重要となる用途に向けたプロセッサだ。しかし、命令セットの拡張によって、特定のワークロードに答えることができる」(Gelsinger氏)

 GPUのように、グラフィックスパイプラインを汎用途向けに改革した製品ではなく、より汎用性の高いアプローチを取ったのがLarrabeeだ。そのために、IA(x86系)命令セットアーキテクチャへの後方互換を取る。汎用CPUであるIAコアから出発して、浮動小数点演算のストリーム型コンピューティングに向いたマイクロアーキテクチャへと拡張したプロセッサだ。

 実際には、Intelには、IntelグラフィックスコアチームのディスクリートGPUプランも存在する。こちらは、Larrabeeとは全くアーキテクチャも実装も異なる、Intelグラフィックスのディスクリート版だという。CSI世代のグラフィックス統合チップセットは、ディスクリートGPUを派生させやすいため、これは自然な流れだ。Intelは以前からこのプロジェクトを進めていたが、具体的な製品ロードマップは聞こえてこないため、消えた可能性もある。

●Larrabeeがターゲットにする並列コンピューティングの市場

 Larrabeeがターゲットとするワークロードは、データ並列性の強いタスクだ。Intelは科学技術コンピューティング、RMSと総称されるRecognition(認識), Mining(分析&抽出), Synthesis(合成)、ビジュアライゼーション、財務分析、医療といったアプリケーションを挙げる。「これらのワークロードは非常に並列性が高い。そのためLarrabeeのようなマシンで性能を上げることができると考えている」(Gelsinger氏)。

 Larrabeeのアプリケーションにはグラフィックスも含まれるが、より汎用であることをIntelは強調する。

 「我々は、まだ(Larrabeeの)製品のターゲットをどこに置くのか正確には明確にしていない。通常、我々がアーキテクチャと機能を決める段階では、どの市場に最初の製品を展開するかは描いていない。(Larrabeeがターゲットとするアプリケーションの)リストにはグラフィックスを含むビジュアライゼーションも含まれている。だから、(グラフィックス市場を狙う)潜在性はあるが、まだ、狙う特定の市場セグメントは発表していない」(Gelsinger氏)

 Larrabeeではグラフィックス処理も可能だが、そこに特化したアーキテクチャではない。Intelは、LarrabeeをまずPCI Express Gen2カードとして提供する見込みだが、GPUとしてプッシュするかどうかはわからない。Larrabeeのアーキテクチャ上の強みを活かすとしたら、非グラフィックスアプリケーション、どちらかと言えばハイパフォーマンスコンピューティング(HPC)などを最初のターゲットとする可能性が高い。

 「Larrabeeが登場したら、ハイパフォーマンスコンピューティングのベンチマークを総なめにする可能性がある」とある業界関係者は期待を語る。

 Larrabeeのターゲットアプリケーションは、一目見てわかる通り、GPUがGPGPU(またはGPUコンピューティング)でターゲットにし始めている領域と完全に重なる。つまり、LarrabeeはIntelによるGPGPUの動きに対する回答だ。IntelとGPUベンダーは、ハイパフォーマンスな浮動小数点演算性能が必要な並列コンピューティングの領域で、真っ向からぶつかることになる。

●GPUとは異なるアプローチの並列プロセッサ

 グラフィックス処理でのLarrabeeのパフォーマンスは未知数だ。グラフィックス処理はシェーダプログラムの実行性能にどんどん寄っているため、Larrabee型のアーキテクチャが利点となる可能性は高い。しかし、グラフィックスパイプラインには、ラスタライズのように完全に固定された機能ユニットの方が有効な処理や、フィルタリングやラスタオペレーションのように半固定的なユニットが有効な処理が多く含まれている。これらを全てプロセッサで処理すると、ムダが多くパフォーマンス/電力を上げてしまう。

 そのため、グラフィックスでの効率は、LarrabeeがどれだけGPU的なハードを備えているかによって変わってくる。回路規模が小さなユニットについては、専用ハードを持っている可能性もある。

 現在のLarrabeeは、グラフィックスにフォーカスしたものではなく、非グラフィックスにかなり寄ったアーキテクチャであるのは明白だ。

 「Larrabeeについては非常に長期間のリサーチが行なわれた。開発チームの編成も変わり、アーキテクチャも何回も練り直された。命令セットについても、さまざまな検討が行なわれたようだが、最終的にx86アーキテクチャの拡張に落ち着いた」とある業界関係者は語る。

 命令セットがIAの上位互換となったことで、LarrabeeはGPUとはかなり位置付けが異なるプロセッサになった。

 そもそも、GPUとCPUでは命令セットアーキテクチャ(ISA)についての考え方が大きく異なる。CPUでは、ハードウェアのネイティブ命令セットアーキテクチャをプログラマに対して公開する。命令セットに対しては、通常、CPU世代間にまたがる長期的なサポートを行なう。そのため、CPUハードウェアが新世代になっても、同じバイナリコードの同じ命令が通る。命令セットの継承性は、CPUの重要な要素だ。

 それに対して、GPUのネイティブ命令セットは、メーカーによって異なるだけでなく、同じメーカーでもGPU世代によっても異なっている。例えば、GeForce 8(G8x)系とGeForce 7(G7x)では全くネイティブ命令セットアーキテクチャが異なる。また、GPUメーカー毎にも命令セットアーキテクチャが異なる。その代わり、GPUでは、ソフトウェア層でラップして、ランタイムコンパイラがネイティブ命令セットへの変換を行なう。そのため、GPUではネイティブ命令セットアーキテクチャは通常は公開しない。公開する場合も、GPU世代間の命令セットの継承性は現在では保証されていない。

 それに対して、Larrabeeでは当然、命令セットは公開。しかも、それがメインCPUコアと共通性を持つというアプローチだ。

●Intelの強みはIA(x86)命令セットの資産

 IntelがLarrabeeにIAアーキテクチャを持ち込んだ理由は明瞭だ。それはIntelの強みを活かすためだ。

 「Gelsinger氏は、『Intelの強みは、IA命令セットと製造プロセス技術だ。だからそれを活かす道を選ぶ』と社内に常に語っている。Larrabeeもその現れだ」とあるIntel関係者は語る。Intel幹部の強い意志でIAアーキテクチャが推進されていることになる。

 「IA命令セットとの互換性は非常に重要だ。なぜなら、ソフトウェアツール、ライブラリなど、既存の全ての資産を活かすことができるからだ」とGelsinger氏は強調する。

 目に見える資産だけでなく、IA命令セットへの慣れも含めたソフトウェア側の資産を活かそうという戦略だ。そのため、Larrabeeに限らず、Intelのメニイコア系プロセッサ全体の戦略の根幹は、アプリケーションソフトウェア側からは、命令セット的に均質に見えるようにすることにある。

Bringing IA Programmability and Parallelism to High Throughput Computing(※別ウィンドウで開きます)
PDF版はこちら

 Intelのメニイコアプロジェクトを率いるJim Held氏は、5月に開催されたMicroprocessor Forumでのプレスミーティングで次のように語っている。

 「プログラマは対称型アーキテクチャのシンプルさを好んでいる。ソフトウェアコミュニティはプログラム上の複雑さが増すことは望んでいない。ヘテロジニアス(Heterogeneous:異種混合)型は、一時的には有効かもしれない。しかし、(CPU側の)アーキテクチャが変わって行くと継承することが難しい。そのため、我々の研究では、できるかぎりホモジニアス(Homogeneous)にしようとしている」

 ここで注意が必要なのは、この議論のホモジニアスかヘテロジニアスかというポイントは、主に命令セットアーキテクチャにある点だ。命令セットを均質に保てば、ソフトウェア側に受け入れられやすく、また、CPUマイクロアーキテクチャを変えても、同じバイナリコードを継承できる。命令セットをリセットせずに、継承する形でデータ並列コンピューティングを取り込んで行こうというのがIntelの戦略だ。

●LarrabeeもCPUへの統合を見据える

 実際には将来のプロセッサハード自体は、ヘテロジニアス化して行く可能性が高い。Held氏も、プロセッサの実装自体は消費電力とパフォーマンスのトレードオフから、異なるタイプの混在が有効になる可能性を認めている。IntelのJustin R. Rattner(ジャスティン・R・ラトナー)氏(現Intel Senior Fellow, Director, Corporate Technology Group)も、以前、次のように説明していた。

 「我々はホモジニアス(均質)な命令セットアーキテクチャ(ISA)にフォーカスしている。命令セットが混在するアーキテクチャは、すでに並列プログラム化のために複雑な状況になっているプログラム側に、さらに余計な複雑性を加えてしまうと考えている。ただし、ホモジニアス(ISA)フレームワークの中で、特殊化と最適化をして行く。おそらく、単一命令セットアーキテクチャの、ミクスド(異種混載)プロセッサコアになるだろう」

 Larrabeeカードを装着したシステムは、システムレベルでヘテロジニアスなIAシステムとも言える。さらに、将来的にLarrabeeとIntelの汎用CPUコアを1CPUに統合した場合には、CPUハードウェア的にヘテロジニアスマルチコアとなる。IntelがLarrabeeにIA命令セットを選んだことは、CPUへの統合も視野に入れてのことだと推測される。

 システムまたはチップの中に、ヘテロジニアスなコアが混在しても、命令セットはできる限りホモジニアスに保ち、アプリケーションからは可能な限り隠蔽する。それがIntelのポリシーのようだ。異なるコアタイプの制御を行なうとしても、それはOSやHypervisor層がハンドルするという構想だ。

 では、IntelのLarrabeeに対して、競合するAMDやNVIDIAはどう出るのだろう。

□関連記事
【5月24日】【MPF】【Intel編】高速化をもたらすRadix-16 DividerとSuper Shuffle Engine
http://pc.watch.impress.co.jp/docs/2007/0524/mpf01.htm
【5月7日】【元麻布】組み込み市場へのIA浸透を目指すIntel
http://pc.watch.impress.co.jp/docs/2007/0507/hot482.htm

バックナンバー

(2007年6月11日)

[Reported by 後藤 弘茂(Hiroshige Goto)]


【PC Watchホームページ】


PC Watch編集部 pc-watch-info@impress.co.jp ご質問に対して、個別にご回答はいたしません

Copyright (c) 2007 Impress Watch Corporation, an Impress Group company. All rights reserved.