Toshiro Shimura's personal annotations on this page
-
SCEがCell B.E.の代わりにLarrabeeを使えないかと検討するのは、自然な流れでもあるし、皮肉でもある。というのは、Larrabee自体が、Intel版のCell B.E.だったからだ。
同時期のPC向けCPUより1桁高い浮動小数点演算性能を実現するCell B.E.のアーキテクチャが明らかになった時点で、CPU業界は揺れた。その前の段階で、消費電力の壁やILP(Instruction-Level Parallelism)の壁のために、CPUコアをどんどん大きくして、ユニプロセッサの整数演算性能を高めて行く路線は崩れていた。そこで、Intelも大型CPUコアの開発計画を破棄、代わってCPUコア数を増やす方向へと転じた。Intelはその時、従来の大型汎用CPUコアを複数個に増やすマルチコア路線と並行して、Cell B.E.のようにデータ演算性能を追求した小型CPUコアを多数載せるメニイコア路線の開発もスタートさせた。その結果、産まれたのがLarrabeeだった。
This link has been bookmarked by 1 people . It was first bookmarked on 07 Mar 2009, by Toshiro Shimura.
-
-
SCEがCell B.E.の代わりにLarrabeeを使えないかと検討するのは、自然な流れでもあるし、皮肉でもある。というのは、Larrabee自体が、Intel版のCell B.E.だったからだ。
同時期のPC向けCPUより1桁高い浮動小数点演算性能を実現するCell B.E.のアーキテクチャが明らかになった時点で、CPU業界は揺れた。その前の段階で、消費電力の壁やILP(Instruction-Level Parallelism)の壁のために、CPUコアをどんどん大きくして、ユニプロセッサの整数演算性能を高めて行く路線は崩れていた。そこで、Intelも大型CPUコアの開発計画を破棄、代わってCPUコア数を増やす方向へと転じた。Intelはその時、従来の大型汎用CPUコアを複数個に増やすマルチコア路線と並行して、Cell B.E.のようにデータ演算性能を追求した小型CPUコアを多数載せるメニイコア路線の開発もスタートさせた。その結果、産まれたのがLarrabeeだった。
-
Page Comments
SCEがCell B.E.の代わりにLarrabeeを使えないかと検討するのは、自然な流れでもあるし、皮肉でもある。というのは、Larrabee自体が、Intel版のCell B.E.だったからだ。
同時期のPC向けCPUより1桁高い浮動小数点演算性能を実現するCell B.E.のアーキテクチャが明らかになった時点で、CPU業界は揺れた。その前の段階で、消費電力の壁やILP(Instruction-Level Parallelism)の壁のために、CPUコアをどんどん大きくして、ユニプロセッサの整数演算性能を高めて行く路線は崩れていた。そこで、Intelも大型CPUコアの開発計画を破棄、代わってCPUコア数を増やす方向へと転じた。Intelはその時、従来の大型汎用CPUコアを複数個に増やすマルチコア路線と並行して、Cell B.E.のようにデータ演算性能を追求した小型CPUコアを多数載せるメニイコア路線の開発もスタートさせた。その結果、産まれたのがLarrabeeだった。
つまり、Cell B.E.が提示したスループットコンピューティングを、Intelなりのアプローチで実現しようとしたら、Larrabeeになった。そのため、Cell B.E.とLarrabeeには共通点も多い。データ演算に最適化しながらも汎用性を保った小さなCPUコア、各CPUコアに分散したローカルメモリ、CPUコア群を結ぶリングバスなどは、Cell B.E.とLarrabeeで共通している。
グラフィックス以外の部分に目を向けても、Larrabeeには疑問がつきまとう。ゲーム機のプロセッサをLarrabee一本に絞り、LarrabeeのCPUコアをゲーム機のメインCPUとして使う場合、単体プロセッサのシングルスレッドの実行性能が問題になるからだ。
ゲームプログラム本体のコードは、OSのコードと同じように、整数演算中心で小さな範囲での並列しかできず、基本的には逐次実行しなければならないコードがほとんどだ。
ゲームであっても、「アムダールの法則」(タスク中の逐次実行をしなければならない部分の比率が、タスク全体の実行時間を制約する)が生きている。そのため、逐次に実行しなければならないシーケンシャルなコード部分の性能がゲーム全体の性能を制約する。そしてそれは、単体のCPUコアのスカラ整数演算性能に依存する。
ここで問題は、将来のゲームプログラムでも、逐次コードのパフォーマンスがどれだけ重要になるのか、読み切れないことにある。もしゲームでも、逐次処理の性能要求がある程度上がって行くのなら、将来のゲーム機向けCPUは、単体CPUコアの整数演算パフォーマンスもそれなりに向上させなければならない。
いずれにせよ、Larrabeeをゲーム機のCPU+GPUとして採用することは、現状ではハードルが高そうだ。とはいえ、SCEにとって、低い開発コストで調達できるチップを求めていることは確かで、ジレンマは続く。
ハードウェア的に考えれば、せっかく発展性を持たせて設計したCell B.E.の拡張版をPS4に採用するのが自然だ。かさむ一方のソフトウェア層の開発コストを考えても、Cell B.E.を継続した方が利点は多い。
しかし、サードパーティのソフトウェアベンダーのCell B.E.に対する拒否感はかなり根強い。SPUを使い尽くすことは最初から諦め、マルチプラットフォーム向けに、Xbox 360と命令セット互換のPPUを中心に使っているベンダーも多い。PS3でのCell B.E.導入当初に、優れたコンパイラや教育体制を整えることができなかったつけが回っている。これで、プログラミングツールの専門家であるMicrosoftに対抗するのは辛い。
SCEは、PS4にCell B.E.の拡張版を載せるなら、こうした暗雲を払拭する必要がある。プログラマ達を再びCell B.E.に向き合わせ、ハードウェア性能を活かすように鼓舞する必要がある。そうしない限り、例え、SPUの数を2倍に増やしても、あまり使われずに終わってしまいかねない。
本来のSCEは、ここで、Cell B.E.にはこんな未来があると、ビジョンを広げて、デベロッパを惹きつけるテクニックがあった。デベロッパは、半ばウソだろうと思いながらも、引っ張られて難しいハードにチャレンジして行った(PS2の時がそうだった)。しかし、今のSCEはヴィジョンを提示するのがあまり上手くない。久夛良木健氏のように、そうした役回りの人物がいなくなってしまったためだ。SCEは、これからもハードウェアアーキテクチャの決定で迷うことになるだろう。
SCEがPS4の心臓部にLarrabeeも検討したことは、重要な転換を象徴している。それは、ゲーム機がテクノロジドライバとして、CPUやGPU、メモリの発展を引っ張る時代が終わりつつあることだ。これまでは、新奇なアプローチはゲーム機に導入され、PCはどちらかと言えば保守的なアプローチに留まることが多かった。ゲーム機はPCにない新技術をどんどん取り込んで技術革新をリードし、PCの方が後追いに回ることが多かった。ゲーム機とPCは、方向性が全く異なったのだ。
例えば、初代PlayStation(PS)は、3Dレンダリングチップを採用。それが刺激となり、PCの3Dグラフィックス化が進み始めた。PS2では、PCの数倍の浮動小数点演算能力のEmotion Engineと、RDRAMのメインメモリ、ビデオメモリに組み込みDRAMを使ったGraphics Synthesizerを採用した。そして、PS3では、ヘテロジニアスマルチコアのCell B.E.と、3.2Gtpsの転送レートのXDR DRAMメモリなどを採用。CPU業界とメモリ業界にインパクトを与えた。その間、PC向けCPUは、粛々とCPUコアの大型化と、互換性を維持したメモリの進化を続けていた。
PCの進化が大人しかったのは、レガシーの継承という重荷を抱えていたからだ。「既存のアプリケーションが、新しいCPUでより速く走らなければならない」。これがPC向けCPUが抱えていた荷物だった。対するゲーム機では、世代毎にソフトウェアがリセットされる。そのため、レガシーソフトを速く走らせるといった呪縛はなく、自由に優れた技術を取り入れることができた。
そして、Larrabeeはその新潮流から出てきた最初のトライの1つだ。Larrabeeが市場で成功するかどうかはともかく、Larrabeeが象徴するものは大きい。それは、PCがこれまで呪縛から、ある程度脱却したことを示すからだ。過去のソフト資産に乗っかるのではなく、ソフトを変えて斬新な技術を積極的に採用しようとし始めている。
おそらく、今後は、ゲーム機が、飛び抜けて新奇なアプローチで、技術革新を引っ張るというケースは消えて行くだろう。技術革新は、ゲーム機だけでなくPCの側でもさまざまなトライが行なわれ、それが横断的に波及するといった流れになるだろう。
Would you like to comment?
Join Diigo for a free account, or sign in if you are already a member.