「ロスト プラネット」と8CPUコアでチェックする,マルチスレッド最適化の最前線
少なくとも8コアによる並列処理をサポートしているロスト プラネット
|
Intelは「Skulltrail」(スカルトレイル,開発コードネーム),AMDは「FASN8」(First AMD Silicon Next-gen 8-core platform)。2大CPUメーカーはいずれも,CPUコアを計8個搭載した,ゲーマーをターゲットとするハイエンドプラットフォームを準備している。
4Gamerではこれまで繰り返しお伝えしているとおり,複数のCPUコアを効率的に利用するゲームエンジンの数はまだ少ない。しかし,ゲームエンジン全体の傾向として,複数の処理を並列して行うマルチスレッド(≒一つのアプリケーションが,複数のCPUコアを利用して処理を行うこと。詳細は不定期連載「ソフトにハードの物語」第2回を参照してほしい)に最適化されつつあるのも,また確かだ。 その最新かつ身近な例が,カプコンの「ロスト プラネット エクストリーム コンディション」(以下ロスト プラネット)である。体験版を実行した人なら分かるとおり,同タイトルのゲーム設定には「何スレッドを同時に走らせるか?」を指定する項目「並列処理」があり,(少なくとも筆者が調べた限りでは)システムが搭載するCPUコアの数が最大値となる。
入手したXeon X5365(のエンジニアリングサンプル)
|
そこで今回は,“いま手に入るオクタ(=8)コアシステム”ということで,本来であればワークステーション/サーバー向けクアッドコアCPU,「Quad-Core Xeon X5365/3GHz」(以下Xeon X5365)を2個搭載した評価キットを,Intelから入手した。 このキットには「8-Core Media Creation PC」という名が与えられているので,本来はビデオやオーディオの制作を想定したもののようだ。とはいえ,XeonベースのクアッドコアCPUを2個搭載した8コアシステムなので,CPU構成はSkulltrailの構想に近い。2007年6月下旬時点におけるマルチスレッド最適化状況をチェックするには,何の問題もないと判断した次第である。
■“プレSkulltrail”こと評価キットをチェック ■テスト環境&方法はかなり特殊なので注意
Intelによる評価キットの仕様書。TDP 150Wと明記されている(※クリックすると別ウインドウで表の全体を表示します)
|
というわけで,8-Core Media Creation PCの構成を見てみよう。前述のとおり,3GHzで動作するXeon X5365のシステムバスクロックは1333MHz,ソケットはLGA771で,このあたりは既存のCoreマイクロアーキテクチャを採用するデュアルコア/クアッドコアXeonと変わらない。ただし,現行世代で最大となる,TDP(熱設計消費電力)150Wという暴力的なスペックとなり,これが強烈なインパクトを放っている。 なお,2007年6月下旬時点で,Xeon X5365はAppleの「Mac Pro」におけるBTOオプションとしてしか入手できない。言ってしまえば,150Wの電球2個を筐体の中で灯すようなもので,Mac Pro以外では今のところマトモに冷却できないという判断がIntel内部で働いているのかもしれない。
マザーボードは,LGA771版Xeonをサポートするワークステーション向けチップセット「Intel 5000X」を搭載した同社製品「Intel S5000XVN」。拡張スロット構成はPCI Express x16 ×1,PCI Express x4(コネクタはx8) ×2,PCI-X(3.3V対応PCIカードは利用可能)×2となる。このほか,Intel純正のCPUクーラー,Samsung Electronics製のPC2-5300 DDR2 SDRAM FB-DIMM 1GB×4,Cooler Master製の電源ユニット「RealPowerPro 850W」が,キットに含まれるハードウェアのすべてである。
左上:Xeon X5365の底面
右上:Intel S5000XVN。Serial ATAポートは6個用意されているように見えるが,このうち青いポートはすべてSAS(Serial Attached SCSI)。SASの4ポートはRAID 1をサポートする
左下:キットに付属のFB-DIMM。動作中は信じられないほど熱くなるため,メモリ周りの冷却には気を遣う必要あり
右下:定格850W,ピーク1000Wの電源ユニットとなるRealPowerPro 850W。奥行きが通常のATX電源よりもやや長い
|
|
|
|
|
|
8コアシステムなので,対応OSが気になる人がいるかもしれないが,実際のところ,Windows XPであればProfessional,Windows VistaならUltimate,Business(と,一般販売の行われていないEnterprise)なら,物理CPUソケット2個をサポートするので,問題なく認識される。
テスト環境は表のとおり。基本的には,評価キットに「GeForce 8800 GTX」を差したものと理解してもらえればOKだ。メモリは4GB分搭載しているが,OSには32bit版Windows XP Professionalを利用しているため,OSから認識されるのは2.47GBとなる。
今回のシステムだと「並列処理」で最大8を指定可能。なお,Core 2 DuoやAthlon 64 X2などの場合,最大はもちろん2となる
|
冒頭で述べたとおり,今回はロスト プラネットでテストを行う。マルチスレッドに関する「並列処理」の設定項目が用意されているのは「PC Settings」の「Video/Audio Settings」。今回のシステムでは,もちろん8まで指定可能だ。 このほか,Video/Audio Settingsの設定は以下のとおりとした。基本的には,選べる限り高い設定を選択している――「影の品質」は,今回の環境だと「中」までしか選べなかった――が,あまりにも描画負荷を高くしすぎるとグラフィックスカードがボトルネックとなり,CPUコア数の違いがフレームレートに与える影響が見えなくなってしまう可能性があるため,アンチエイリアシング設定は「オフ」としている。
●テストに当たっての描画設定- FPSの表示:オフ
- アンチエイリアス:オフ
- HDR:高
- テクスチャフィルタ:バイリニア
- テクスチャ解像度:高
- モデルの詳細:高
- 影の品質:中
- 影の解像度:高
- モーションブラーの品質:高
- エフェクトの解像度:高
- エフェクトの品質:高
- エフェクトのボリューム:高
- ライティングの品質:高
- ディスプレイの解像度:1024×768ドット/1600×1200ドット
- ディスプレイの周波数:※垂直同期をオフにしているので設定する理由なし
- フルスクリーン:オン
- 垂直同期:オフ
- アスペクト補正:オフ
- 並列処理:テストによる(※1〜8)
- 並列レンダリング:オン
- マルチGPU:オフ
■特定の条件が満たされれば8コアの効果アリ ■1コアと8コアでは最大2.6倍の差に
では,本当にスレッドの数による影響はあるのだろうか。 ロスト プラネットの体験版に用意されているベンチマークモードは,「Snow」と「Cave」という,二つのデモシークエンスから成り立っている。それぞれについて,「並列処理」設定を1〜8の範囲で変更しつつ,1024×768/1600×1200ドット時に平均フレームレートを計測。その結果をまとめたのが,グラフ1,2である。
マルチスレッド処理されているかの確認は,Snowのデモにおけるこのあたりで行った。なお,Caveのデータがないのは,シークエンスが短く,安定したデータが取れなかったため。この点はご了承いただきたい
|
グラフは一目瞭然。Snowでは,「並列処理」設定を変えてもフレームレートに変化がまるでないのに対し,Caveではスレッド数に応じてスコアが上がっている。さすがに1600×1200ドット時は,4スレッド以上だとグラフィックスカードのパフォーマンスゆえに頭打ちとなってしまっているようだが,3スレッドまでは大幅なスコアの向上が見られる。
念のため,スコアに変化のなかったSnowで,本当にマルチスレッド処理されているのかを確認してみた。そのうち,1スレッド,3スレッド,5スレッド,8スレッドについては,以下のとおり画面で示すが,「並列処理」の設定内容に応じて,使われるCPUコアの数が増えていっているのが分かる。 このとき,設定したスレッド数よりも一つ多くCPUコアが使われているように見えるが,これはおそらく「並列処理」では,ゲームに関する処理のすべてをマルチスレッド化しているのではないためだろう。常に高いCPU負荷を示すのがメインのスレッドで,それ以外のマルチスレッド化できるところを,「並列処理」数に応じて増やしていっている,といった感じだろうか。
上段左から1スレッド,3スレッド,下段左から5スレッド,8スレッド時のスコア(2/4/6/7スレッド時のスコアも用意したので,興味のある人はチェックしてほしい)
|
|
|
|
|
|
■ついに登場した“8コア最適化ゲーム” ■次世代のゲーム環境はどうなる?
これまで,ゲームに強いCPUというのはほとんどの場合,1スレッドをより高速に実行できるCPUのことを指していた。これはもちろん,ゲームがマルチスレッドを意識せずに作られていたためだ。そのため,同じマイクロアーキテクチャで製造されるCore 2 DuoとCore 2 Quadでは,動作クロックが同じだとゲームのフレームレートにほとんど違いがなく,結果として4Gamerでは,クアッドコアCPUの意義はほとんどないと判断してきた。
しかし,ロスト プラネットのように,マルチスレッドを前提としたゲームでは,評価が変わってくる。グラフィックスカード性能による頭打ちという深刻な問題は残るものの,逆にいえば,NVIDIA SLIやCrossFireによってこの問題が解決すると,ゲームのフレームレートは向上させられるのだ。もっといえば,8コアCPUに,2枚や4枚のグラフィックスカードによるマルチGPU構成を想定した,SkulltrailやFASN8(&Quad FX)というコンセプトは,将来のゲーム環境を見据えたときに,そう間違ったものではないということになる。
Caveでスレッド数によってパフォーマンスが変わるのは,おそらくこのシーンがあるためだ。無数のオブジェクトが別々に動くため,CPUパワーはかなり使われており,それはタスクマネージャのCPU使用率からも分かる
|
|
|
余談だがこのシステム,最初のBIOS画面が表示されるまで,約55秒もかかる。「電源は入っているが,画面は真っ暗」という状態が1分弱続くので,いささか不安にさせられた
|
今回の構成は熱と消費電力に課題があり,ワットチェッカーで計測してみるとシステム全体の消費電力はアイドル時でも260Wを超え,ロスト プラネットを実行すると400Wに達する。これで,もしGeForce 8800 GTX搭載カードをもう1枚差せたら,確実に500Wは超えるだろう。4枚差しなどは,想像するのも恐ろしい。
ウルトラハイエンドをターゲットとするゲーマー向けPCの実現には,この問題――消費電力もそうだが,それ以上に「どうやって冷却するか」のほうがより重要――がある。ただ,これまでほとんど意味のなかった4コア以上のCPUについて,ゲームにおけるメリットを実感できる例を確認できたのは大きな収穫だ。 もちろんこれまで同様,「今後,マルチスレッド対応ゲームは本当に増えるのか」という根本的な疑問への答えは未だないわけだが,少なくとも,最前線で2コアを超えるマルチコアCPUへの対応が始まっていることは,ゲーマーとして,憶えておく必要があるだろう。(ライター:Jo_Kubota)
|
|
Core 2 |
|
|
|
|
|
|
(C)2006 Intel Corporation |
|
ロスト プラネット エクストリーム コンディション |
|
|
|
|
|
|
Character Wayne by (C)Lee Byung Hun /BH Entertainment CO., LTD, RIGHTS RESERVED. (C)CAPCOM CO., LTD. 2006,2007 ALL RIGHTS RESERVED. |
|
|
|
|