31415UbisoftGDC0
 数日前に出た話題で今更ではありますが、他ならぬUbisoftが持ち出したという事でアサクリは何故のかParityと燃料になっていたようです。
スポンサーリンク


[GDC Vault: Efficient Usage of Compute Shaders on Xbox One and PS4](pdf)via NeoGAF
31415UbisoftGDC1

 8/11-13に開かれたGDC Europa 2014でのUbisoftによる効率的なGPU演算、という講演がアサクリパリティ騒動の流れで話題に。

 「Motion Cloth」はCloth Simulationを行うミドルウェアでUbisoft内製、Child of Light、Assassin's Creed Unity、Farcry4、R6Siege、The Divisionで使われている。
31415UbisoftGDC2

 これをGPUで動くよう移植し、PS4/Xone/DX11のPCでどう動かすか云々(詳細は上記ドキュメントをご覧下さい)。
31415UbisoftGDC3

 CPUでCloth simulationを行った場合、Xbox360は34体、
31415UbisoftGDC4
 PS3は105体(SPUはロックだ)、
31415UbisoftGDC5
 PS4は98体(wtf)、5SPUが3.2GHz動作しているPS3に対し、6コアを1.6GHzで動かしているPS4との差が出る結果に、
31415UbisoftGDC7
31415UbisoftGDC8
 Xoneは113体、クロックがPS4よりやや高い為、
31415UbisoftGDC9
 となったのですが…
31415UbisoftGDC10

 ではどうするか?演算性能ではCPUよりGPUが遙かに高く、そちらに移植すれば良い。
31415UbisoftGDC11

 ところが単純に移植しただけだとCPUがボトルネックになってGPUの性能は5%しか引き出せませんでした、
31415UbisoftGDC12
31415UbisoftGDC13
 最適化してもこんなもの…
31415UbisoftGDC14

 (その後の各種最適化略)
31415UbisoftGDC15
31415UbisoftGDC16
31415UbisoftGDC17
31415UbisoftGDC18

 ボトルネックはメモリ帯域にある。データを圧縮する事でパフォーマンスは2.3倍に
31415UbisoftGDC19
 CU固有のメモリを有効活用する事で更なるパフォーマンス向上が
31415UbisoftGDC20
31415UbisoftGDC21
31415UbisoftGDC22

 PS4ではHLSLからPSSLにコードを移植、(PS4用のシェーダ言語PlayStation Shader Languageの事)
31415UbisoftGDC23
 DX11ではバッファとそのコピーに同期処理が入り、そこでパフォーマンスが制限される
31415UbisoftGDC24
 これに対してPSSLでは勝手に同期が行われる事はなく、それを管理する必要がある代わりにより高いパフォーマンスを発揮出来る
31415UbisoftGDC25
31415UbisoftGDC26

 このようにGPUのピークパワーではCPUを大きく上回るPS4とXoneで最適化を行った結果…
31415UbisoftGDC27
31415UbisoftGDC28
31415UbisoftGDC29
31415UbisoftGDC30
31415UbisoftGDC31
31415UbisoftGDC32
31415UbisoftGDC33
 LDSはGPUのCUにあるLocal Data Storageの事ですね。
31415UbisoftGDC34
31415UbisoftGDC35

 PS4は1600体、Xoneは830体の表示が可能になった
31415UbisoftGDC36
31415UbisoftGDC37

 といった内容となっています。

 サーニー氏が話していたシェーダーの性能を上げると次に問題になるのはメモリ帯域になる、という話はこの辺に絡んだ話題なのでしょうね。
 PS4の設計はパフォーマンスは出るが開発者に複雑なパズルを解かせる事を強いる超広帯域のeDRAMを搭載するよりも、大容量で出来るだけ帯域の広い メモリを搭載し開発の難易度を下げる事が狙いとされていましたが、このようにやろうと思えば最適化で更なるパフォーマンスを発揮する事も可能となっている ようです。
 最適化後のパフォーマンスに大きな差が出たのも、ボトルネックをきちんと減らしているPS4の利点となっているのでしょうが。

 PSSLはGoToさんはパフォーマンスが出せるか疑問とはしていましたが、Ubisoftのマルチ用ミドルウェアでもこれだけの差が出るなら、SCEWWSが使い切れば相当の性能が出せるのではないでしょうか。今後発表されるタイトルが楽しみですね。

 そういえばこの講演全据え置き機確認でしたね。ゲッ般人が主張していたように、GPGPUは使いこなせば凄かったようです。

Bloodborne 初回限定版
・PS4 2/5 Bloodborne 初回限定版
(Amazon)
 .