AMD CEOのリサ・スー、PS3の悪名高いCellプロセッサ設計を回想
(tomshardware.com)- AMD CEOのLisa SuはIBM時代にPS3向けCellプロセッサの開発に参加し、その後AMDでもPlayStation 4・5のハードウェアへとつながるキャリアを歩んできた
- 2001年にIBMのEmerging Products DirectorだったSuは、IBM・Sony・Toshibaが「5年後に必要なプロセッサ」を白紙から構想し、並列化に徹底して注力したと明かした
- Cellは当時としては野心的な設計だったが、PS3はプログラミングが難しく、マルチプラットフォームゲームの性能が期待に届かない場合があった
- Sonyのファーストパーティ開発者がハードウェアに習熟した後は独占タイトルのビジュアル面での成果が大きくなったが、HD移行とマルチプラットフォーム化の圧力はCellの差別化負担を強めた
- 第8世代コンソールからPlayStationとXboxがAMDベースのx86 CPU・GPUへ移行し、AMDは2大コンソールプラットフォームの中核ハードウェア供給者としての地位を確立した
Lisa SuとPlayStationハードウェアのつながり
- Computex 2024直後、AMD CEOのLisa SuはStratecheryのインタビューで、キャリア全体を通じた難題解決について語る中で、IBM時代とPlayStationに関する経験に触れた
- Suは「PlayStation 3、4、5」を例に挙げ、複数の会社にまたがって長年PlayStationの仕事に携わってきたと語った
- PS3のIBM PowerPCベースCellプロセッサはプログラミングが難しい構造として知られていたが、Suがこれに関与していた事実は、このインタビュー以前は広く知られていなかった
2001年のIBM・Sony・ToshibaによるCell構想
- 2001年にIBMのEmerging Products DirectorだったSuは、IBM・Sony・Toshibaが次世代プロセッサアーキテクチャを構想していた時期を説明した
- 当時、チームは「白紙から始めて、5年後にどのようなプロセッサが必要になるかを想像した」とSuは語る
- 3社は並列化に強く焦点を当てたCPUを作ることを決めた
- 当時の文脈では、このアプローチは先進的な選択に近かった
- SMTは2002年に登場した
- AMDとIntelの最初の民生向けマルチコアCPUは2005年になってようやく登場した
- IBMは2001年にワークステーション・サーバー向け初のマルチコアを発売し、同年にPS3 Cellプロセッサを計画していた
PS3開発の難度と後期の成果
- PS3はSonyのコンソールの中では成功度が低い側と評価され、Nintendoの低価格・カジュアル志向のWiiや、より低性能ながら扱いやすいMicrosoftのXbox 360に後れを取ったとの見方がある
- アーキテクチャの複雑さのため、マルチプラットフォームゲームがPS3で常に期待どおりの性能を出せたわけではなかった
- 開発者、特にSonyのファーストパーティ開発者がハードウェアに習熟するにつれて、世代後半にはSony独占作がビジュアル面で優れたコンソールゲームとして評価されるようになった
- 例として Uncharted 3 のような作品が挙げられている
- Suは、Cellは当時非常に野心的であり、並列性を引き出そうとする手法が際立っていたと評価した
- ビジネスの観点ではCellは成功だったとしつつも、歴史的な評価では別の順位付けになるかもしれないと付け加えた
HD移行後に変化した開発者の要求
- Suによれば、コンソール時代はいくつかの段階を経ており、HD移行後はアセット制作コストが大幅に増加した
- 開発者は複数のプロセッサをサポートしようとする動機を強め、ゲームエンジンもそれに伴って登場した
- この流れの中で、開発者はCell上で個別に差別化することよりも、ゲームがCellで動作することを望むようになった
- Cellの独特な構造は技術的には野心的だったが、マルチプラットフォーム開発とエンジンベースの制作フローでは負担として作用した
コンソールメーカーとAMDの立ち位置の変化
- 第7世代の家庭用コンソールであるPlayStation 3、Xbox 360、Nintendo Wii/Wii Uの時代には、3社のコンソールメーカーすべてがPowerPC CPUアーキテクチャを採用していた
- AMDは当時、NintendoとXboxにグラフィックスチップを供給していた
- 第8世代コンソールからハードウェア選択が変わった
- PlayStation 4とXbox OneはAMDベースのx86 CPU・GPUアーキテクチャへ移行した
- Nintendo SwitchはArm CPUコアを含むNvidiaベースのSoC設計へ移行した
- SuはIBMでPS3に関与したProduct Director兼Engineerであり、2012年にAMD Senior Vice President、2014年にAMD CEOとなった
- AMDはPlayStationとXboxの主要コンソールハードウェアを2世代連続で供給しており、次世代でも継続すると見込まれている
1件のコメント
Hacker News のコメント
ヘテロジニアス・プログラミングの授業で、PS3 を使って基本的な MPEG 風エンコーダのようなものを実装したことがある。
面白い経験だったが、今覚えているのは、まともな性能を出すには SPE のベクタユニットを慎重に活用する必要があり、SPE と PPE の同期がかなり面倒だったという点。
課題ごとに教授がベンチマークを用意していて、授業内で性能を比較できた。最適化に時間をかけた学生と、基本実装だけで済ませた学生との差はものすごかった。
OS を一から作る OS の授業をすでに履修していたので、次のステップのように見えた。
OS の授業は 20 単位だったが、ヘテロジニアス・プログラミングの授業は 10 単位しかなく、実際の作業量は 10 単位をはるかに超えるという評判が多かったので、ほかの授業や論文と並行しなければならない立場としては、結局あきらめるしかなかった。
OS の授業はこちら: https://www.uio.no/studier/emner/matnat/ifi/IN4000/index-eng...
これが ゲーム/コンソール開発を直接扱う授業だったのかも気になる。
開発者体験は開発者自身が直接味わうものなので、きちんと作るのはそこまで難しくなく、うまく作れたときの利点も大きい。
最近の GPU でも、データを移動し、パイプラインを設定し、特定の GPU の特性に気を配らなければならない、似たような状況を見かける。
今でも開講されているのか気になる。
Lisa Su が Cell の設計に関わっていたとは知らなかったが、かなり格好いい。
ある意味で Cell アーキテクチャは時代をかなり先取りしていたし、少し違う見方をすれば、PPE/SPE 構成は今日の Grace/Hopper のように、大きな分岐処理向けコアが、より小さく多数のベクタコアを指揮する構造に似ている。
ただ、ほかのものとあまりに違いすぎたため、ゲームの設計や移植はとてつもない頭痛の種だった。
しかし 2005 年に市場に出たころには、x86_64 が CPU 性能の明確な王座を占め、モバイルの低消費電力領域は ARM が、GPU 競争は ATI と Nvidia が主導していた。
その結果 Cell は、高価で、何でも少しずつこなすがどれも最高ではなく、プログラミングも難しい中途半端なものになってしまい、新しい市場はそういうものを必要としていなかった。
Sony もほかの誰も、コンシューマ向け CPU と GPU の産業があの時期にそこまで急速に進歩するとは予想していなかったのだと思う。分かっていたなら、数億ドルをかけて完全に新しいアーキテクチャを作ることはなかったはずだ。
Intel も当時 Itanium で業界を作り直そうとして同じ失敗をしており、今振り返れば明らかなことだ。
あの時代の技術進歩は本当に荒々しかった。
新しい CPU を買ったら、2 年後には 64 ビット CPU が主流になり、格好よく見せようと 64 ビット CPU を買ったら、すぐにデュアルコア CPU が流行になった。
豆知識: Lisa Su と Jensen Huang は親戚関係にある: https://www.tomshardware.com/news/jensen-huang-and-lisa-su-f...
実際、半導体チップのサプライチェーンはあまりにも分散しているため、国際貿易を意味のある形で妨げる戦争であれば、その産業全体が崩壊しかねない。
半導体サプライチェーンの重要な供給者の中には、単一企業だったり、一国による寡占に近かったりするものがあまりに多い。
背景はこちら: https://news.ycombinator.com/item?id=5561505
Cell に取り組むのは本当に好きだった。
PS3 の開発キットが巨大なステンレスの箱だったころに、初めて SPU コードを書いたのを覚えている。
その後 Midnight Club で、レーシングライン最適化のための 予測物理を SPU に実装したが、本当に楽しかった。
特異だったのは、浮動小数点ユニットの中間ビット幅が PPU と異なっていたため、決定的な結果を得るには、スレッドが常に PPU または SPU に決定論的に配置されるようスケジュールしなければならなかった点だ。
プレイヤー間でシミュレーションがビット単位で同一でなければならないネットワークゲームでは必須だった。
ずいぶん昔のことだが、今でもいくつもの難題を覚えている。
SPE には RAM への共有メモリアクセスがなかったので、データ転送は開発者が自分で解決しなければならず、各 SPE には 256KB の RAM があった。
当時の基準ではこれらのユニットは非常に高速で、データを一瞬で処理してしまうため、RAM をダブルバッファリングし、約 100KB をデータ用に使い、別の 100KB を DMA エンジンの読み取りバッファとして同時に使っていた。
いちばん厄介だったのは、データを出し入れすることだった。
利用可能な SPE は 6 個で、2 個は OS が予約しており、それらをすべて忙しく保つには DMA エンジンをほぼ最適に使う必要があった。
メモリアクセスは遅く、DMA を発行してからデータが入り始めるまでに 1000 サイクル以上かかった。
当時は C++ が主流で、さまざまな C++ パターンが使われていたが、命令サイズの制約が大きすぎたため、SPU で動かすコードは手書きし、エンジンの残りの部分とは合わなかった。
結局、2 つの異なるコードベースを接着剤でつなぎ合わせるような形になった。
当時必要だった機転は懐かしいが、複雑さは懐かしくない。
最近のコンソールは実質的に PC に PC 式の開発ツールが付いたものなので、はるかに単純になった。
それでも PS3 にはかなり文句を言ったが、少なくとも PS2 ではなかった。
記事では、PS3はSonyのコンソールの中でも特に成功しなかったものの一つで、安価でカジュアル層に優しいNintendo Wiiと、性能は劣るものの扱いやすいXbox 360に世代間競争で大きく敗れたと述べている
ただ、ヨーロッパではXboxはEUであまり根付いておらず、特にCall of DutyとともにPS3はかなり広く人気があったという印象がある
Wiiも当時ものすごく人気だったが、PS3とWiiの購入層は違っていた
Wiiはファミリー向けのカジュアルゲームにより適しており、PS3はCOD、FIFA、PESのようなよりハードコア寄りのタイトルを遊ぶ真剣なゲーマー向けで、本当にハードコアなゲーマーにはもちろんPCがあった
PSXとPS2の圧倒的支配を考えれば、Sonyが期待していた結果では間違いなくなかった
SNESからN64へ移行する中で市場を失ったNintendoほど劇的ではなかったが、Sony内部でも似たような議論が多かったはずだ
前世代でXboxは大きく引き離された3位のコンソールだったので、最後の瞬間にSonyに僅差で敗れたことは、Microsoftにとっては大きな成功と見なされた可能性が高い
特にRRODという災厄があった後ならなおさらで、その問題がなければMicrosoftがSonyの販売台数を上回っていた可能性は高い
しかしXbox 360に「完敗した」とまでは言いにくく、時間はかかったが最終的にはより多く売れた
インタビュアーの表現が不正確なほど強かったのだと思う
また、Xbox 360がどれほど強力だったかも過小評価されているようだ
CPUがCellよりかなり小さかったのは確かだが、約1億5,000万トランジスタ対Cellの約2億5,000万という程度で、一部の記事が示唆するような何倍もの差ではなかった
GPUについては、むしろXbox側がかなり先を行っていたと言える
サイズも同程度か少し大きく、その後GPUを支配することになる統合シェーダーアーキテクチャだった
より柔軟な構造のおかげで、PS3ではCell SPUが処理していたであろう汎用GPU処理も可能だった
ただし、こうした初期の汎用GPUモデルもCell SPUと同様にプログラミングが難しかった
つまり、一方は単純で簡単、もう一方は狂ったように複雑で先進的だったというより、片方はCPU/Cellダイに実験的要素があり、もう片方はGPUダイにそれがあったと見る方が正しい
GPUで使われた手法は発展を続け、Cell的な技術のかなりの部分を置き換えた
PS3で最も残念なのは、将来互換性の欠如のせいで、MGS4やDemon’s Soulsのような素晴らしいゲームがそのプラットフォームに縛られてしまったことだ
一方Xbox側には、新しいXboxにディスクを入れるだけで遊べるXbox 360ゲームが633本もある
一部は企業の事業アプローチの違いによるものだろうが、読んだ限りではPS3の独特で混乱したアーキテクチャのせいでもある
https://en.m.wikipedia.org/wiki/List_of_backward-compatible_...
優れたRPCS3エミュレーターのおかげで、古くて最高スペックでもないノートPCで実際にPS3ゲームを遊べて驚いた
PS5は私のノートPCよりはるかに強力なので、理論上はSONYがエミュレーションでそれらのPS3ゲームを提供できるはずだ
興味のあったPS3ゲームがいくつかあり、それがPS4で動いていたならPS4を買っていただろうし、おそらくPS5も買っていたと思う
Xbox 360とWiiのグラフィックチップはATIが開発した
AMDがATIをWii発売の数か月前に買収したとはいえ、AMDがそのチップを作ったと言うのは少し修正主義的に感じる
実際には、N64の仕事もしていた元SGIの人材を中心とするArtXが設計し、その後ATIがArtXを買収した
PS3アーキテクチャについての素晴らしいブログ記事がある: https://www.copetti.org/writings/consoles/playstation-3/
Cellプロセッサをうまく概観しており、さらに深く見たい場合はリンクされた資料もある
コンソールに関する詳細情報が満載で、文章と画像、さらには3Dモデルまで組み合わせた構成が見ていて楽しい
記事で「悪名高い」という表現を疑問形で切り出しているのは理解できるが、ここ数年気になっていた、より根深い問題につながる
最近のゲームコンソールは、実質的には最適化されたPCである
独自のハードウェアと魅力的な独占タイトルがあった第1世代、第2世代、第3世代のコンソールとは、実質的にまったく違う
Cellは正しくプログラミングするのが難しかったのかもしれないが、開発者が移植で手を抜けるかどうかを心配しているという事実自体が、現在のコンソールの状況をよく示していると思う
愚かな消費者はどうせ何でも買う、という発想だ
初期世代の比較的独特なハードウェアのおかげで、ゲームは実際にハードウェアに合わせて最適化・調整される必要があった
手抜き移植はなく、独占タイトルは優れているか、少なくともそのコンソールで何ができるかを示すものでなければならなかった
では、それでCellは悪名高いのだろうか? Cellはクラスタとして動かせるというニュースにもなった代物だった
私の解釈は違う
Cellはコンソールにまだ時間をかける価値があった時代の名残である
[1]https://en.wikipedia.org/wiki/PlayStation_3_cluster
これは移植で怠けるかどうかの問題ではなく、ゲームアセットの予算が大きくなりすぎて、ゲーム制作コストが過度に高くなったという問題である
まともな会社なら、投資を回収したい場合、実質的に複数のシステムで発売しなければならない
グラフィックが良くなるたびに、問題はさらに悪化する
モデル、テクスチャ、ディテールなど、あらゆるものが増え、そのすべてにお金がかかる
ZeldaやLast of Usのような超大型ヒットでなければ、1つの機種だけでは費用を回収できない可能性もある
たとえ可能だとしても、ほかの機種にも追加で出してさらに稼がない理由はない
独占タイトルがほとんどファーストパーティースタジオからしか出ないのには理由がある
現世代コンソール、特にPS5とXboxのより大きな問題は、入力デバイスの同質化と停滞だと思う
歴史的に、コンソールはコントローラーを通じて新しい遊び方を可能にし、先を見据えていた
オプションのアクセサリを除き、標準搭載の機能だけを見ると、N64はアナログ操作・4つのコントローラーポート・コントローラー拡張ポート、PS1はデュアルアナログ操作、PS2は感圧ボタンと内蔵振動、Wiiはモーションコントロール、Wii Uはゲームパッド画面、PS4はタッチパッド、Switchは分離・共有できるコントローラー、XB1はKinectを提供していた
すべての新しい入力方式が成功したという意味ではないが、PS3/360の頃までは、コンソールはゲームを体験する方法において何か新しいものを提供していた
今ではほとんど止まっており、PCで簡単に再現できない新しい遊び方を継続的に導入しているのはNintendoだけである
最近はPS5/XboxのコントローラーをPCに挿せば、専用コンソールを買うのと同等かそれ以上の体験が得られるので、そうなるとあえてコンソールを買う理由は少なくなる
コンソールは第7世代のPS3とXbox 360まで独特なハードウェアを持っていた
PS2のEmotion Engineをめぐる誇張とも似ている
大きな問題は、SPEがメインメモリにアクセスする方法を持たず、RAM上のデータを各SPEのローカルメモリへコピーしなければならなかった点である
これはインタビューに対する解説記事なので、元のインタビューを読めば自分でよりうまく解釈できるはずだ
私が興味深いと思った細部は、元のインタビューの方に多くある
https://stratechery.com/2024/an-interview-with-amd-ceo-lisa-...