既報の通り、AMDは米国時間の9月25日にRadeon R9シリーズとRadeon 7シリーズを合計5製品発表した。この模様はWebcastとして全世界にリアルタイムで配信されており、日本でも視聴された方は少なくないだろうと思う。

実をいうとこの発表会はハワイで行われたのだが、この発表会に先立って行われたブリーフィング(Photo01)は"ダイアモンドヘッド"の麓で行われ、ここで新しい3D描画APIである「Mantle」(開発コード名)に関しての最初の言及が行われた。

Photo01:ありえない位置関係のブリーフィング。もちろん声なんぞ聞こえるわけも無いので、全員がレシーバーを使って聞くという不思議なもの

ちなみに発表を行ったのはRaja Koduri氏(Photo02)。氏は元々ATIでグラフィックの設計を担当していたが、その後Appleのグラフィックアーキテクトのディレクターの職についていた。それが今年4月に再びVisual ComputingのVice Presidentとして戻ってきた形だ。

Photo02:ブリーフィング後、一足先にダイアモンドヘッド頂上まで上り、その後降りてきたところをスナップ。なんでフェラーリの帽子?

ちなみにこのブリーフィング、「山頂でボードサンプルが展示される」というデマが飛んでいたが、やっぱりデマだった(Photo03)。

Photo03:もちろん山頂は、雄大な景色「しかなかった」。あと観光客の群れ(我々を含む)。ちなみにボードサンプルは、夜のディナーで示された模様だが、筆者はうっかり寝過ごして撮り損なった。まぁ翌日また展示されたのだが

さてそれは措いておくとして、翌25日には既報の通り

  • Radeon R7 250
  • Radeon R7 260X
  • Radeon R9 270X
  • Radeon R9 280X
  • Radeon R9 290
  • Radeon R9 290X

の6製品が存在する事が発表された。実のところ今回の発表会は「2014年の製品動向に関する発表会」であり、製品そのものの発表会ではない。これもあって、製品紹介でも価格とメモリ等裁量、3DMarkのFirestrikeのスコアがチラ見せになった程度で、詳細などはまだ未定とされている(Photo04)。

Photo04:このスライドは再掲になる。まぁ製品のポジションを示したものと考えれば良いだろう。ちなみにRadeon HD 7970 GHz Editionのスコアが7200(これはAMDの公式発表)、GeForce GTX Titanで9000弱(これは筆者のテスト結果:http://news.mynavi.jp/photo/special/2013/titan/images/graph012l.jpg)というあたりで、とりあえずR9 290Xは8000をオーバーしていないと話にはならないのだが、果たしてどうだろう

ちなみに会場ではRadeon R7-290Xやダイも公開された(Photo05~09)。

Photo05:比較したわけではないが、概ねRadeon HD 7970と同程度の寸法であった

Photo06:裏面。ちょっと見難いが、GDDR5が16個実装されている事が裏面のパターンから推察できる

Photo07:暗くて恐縮だが、補助電源は8pin+6pinの構成

Photo08:バックパネルはDVI×2、HDMI×1、DisplayPort×1の構成。DVIはどちらもDVI-DのDual Link構成で、Analog出力が廃された形

Photo09:パッケージサイズは45mm×45mmで、ダイサイズは推定で19.1mm×25.3mmの約483平方mm

さて、では製品ではなく製品動向ということであれば、何を発表したか、というのが次の話題である。R9シリーズやR7シリーズは、あくまで既存のGCNアーキテクチャの延長にある。既存の製品との違いは、DirectX 11.2のサポート、それとEnergy Efficiency(性能/消費電力比)の改善で、それそのものは大きな違いは無い。むしろ違いはその先にあった。

TrueAudio

まず最初に紹介されたのがTrueAudioである(Photo10)。これは何か? というと、Audio Processorである。これまでDirectSoundに代表されるハードウェアのAudio Processorは、殆どのものが固定機能のみを提供するもので、複雑な処理は出来ないし、新しい効果などを追加することはできなかった。

Photo10:ミソはProgrammableという点

業界全体で見てみると、こうした用途に向けたものとしてはCEVAのDSPコアとかams AG(austria micro systems)が提供する製品、あるいはADI(Analog Devices Inc)のSHARC/BlackfinやMicrochipの提供するdsPIC/PIC24ベースの製品などが該当するが、当然これらを別チップの形で用意する必要があるから、アプリケーションがおいそれと利用できるものではなかった。

TrueAudioは、こうしたAudio向けののProgrammable Processorを搭載したものとなる。ではこれで何が出来るのか? というと、複数チャネルの同時再生といったより緻密な3D Positioning、あるいはより高速/高性能のフィルタリングなどである(Photo11)。このTrueAudioは、まずR9 290XとR9 290、それとR7 260Xの3製品に搭載されることになっている(Photo12)。

Photo11:モノが音声だけに、プレゼンテーションもどうしても模式図的にならざるをえない

Photo12:後述するようにこのTrueAudioは純然たるハードウェアのアクセラレータであり、要するにこの3製品に搭載されているGPUコアは新たにTrueAudioを搭載したダイを製造して作られた(つまりオンボードにDSPを搭載したとかいうものではない)という事になる

ただTrueAudioは既存のAPIとは全く相容れない独自の規格であり、これをゲームなどで使ってもらう為には相応のライブラリというかミドルウェアが必要になる。またAudio Processingそのものも「どう処理するか」を一から開発するのは手間がかかる。

そういった事情もありAMDはaudiokinectやfmod、McDSPやGenAudioといったベンダーと提携するかたちでミドルウェアやベースとなるアルゴリズムを提供、これをゲームデベロッパーが利用するという形を整えた。

Photo13:これをもうすこし広い範囲の、それこそDirectSoundとかWeb Audio APIの様なものにするつもりがあるかどうかは現状不明

このうちGenAudioは、同社のAstoundSoundをTrueAudioに移植したもの(Photo14)である。このAstoundSoundは、audiokineticが提供するWWise(WaveWorks Interactive Sound Engine)と連動させることが可能で(Photo15)、これによりゲーム開発者はWWiseを使う事で自動的にGenAudioのAstoundSoundを利用できる事になる。

Photo14:GenAudioは脳波測定をベースとした会社である。なにをやってるかといえば、ある音を生で聞いた場合と、PCなどを経由して聞いた場合の脳波を比較、これが同じような脳波の波形になるように処理する、という独自のソリューションを提供する

Photo15:3DポジショニングをAstoundSoundで処理するという形になる

そうしたAPIとは別に、TrueAudioを搭載することでどんな事が可能になるか、という話もあった。一例がConvolution Reverb(Photo16)だ。これまではImpulse Responseの波形そのものと、元々の音をCPU側で畳み込み演算を掛けてAudio出力を生成する形で処理されていた(Photo17)。

Photo16:一応「畳み込みリバーブ」という日本語もあるようだが、あまり使われていない模様で、「コンボリューションリバーブ」の方が一般的。環境に応じたImpulse Responseを畳み込み演算することで、その環境に応じた音響にする(屋外なら全然エコーがないが、教会の中なら何度も反響しながら次第に減衰してゆくとか)処理

Photo17:Convolutionの処理そのものは、最近のCPUからすればそれほど大きな負荷ではないが、よりリアリスティックな音響を目指そうとすると、元の音源やImpulse Responseの波形をより高bitrateで保持する必要があり、処理すべきデータ量が膨れ上がるのが問題

このときのCPU負荷を簡単に示したのがこちら(Photo18)。要するに野原とかを舞台にしている限り、音響処理に要する負荷は無視できるほど小さいが、これが洞窟やら教会やらの、閉じた空間における音響まで忠実に実現しようとすると、えらく大変な事になるというわけだ。

Photo18:横軸は反響時間(秒)。反響すべき時間を長くするほど、CPU負荷が増える

具体的に言えば、Convolutionを掛けるためには、まずFFT(高速フーリエ変換)を掛けてからConvolutionを実施、その後にiFFT(逆高速フーリエ変換)を実施する形になる(Photo19)。

Photo19:FFT(高速フーリエ変換)は元の音源を周波数スペクトルに分解する処理。逆にiiFFT(逆高速フーリエ変換)は、音声スペクトルを音声データに戻す処理

先ほども書いたが、これそのものの負荷はそれほど大きいものではない。問題はこれが遅くなるとまずいことで、画面の動きと音が連動していないとFPSなどでは致命的になる。なので、フレームレートが上がるほど音声処理に費やせる時間が減るわけで、これが音をゲーム内で扱う場合の問題になっていた。

TrueAudioではこの処理を専用のAudio Processorに完全にオフロードできるため、もはやCPU負荷を一切考える必要がない、というのが大きな特徴になっている。

とはいえ、全てのR7/R9シリーズにこのTrueAudioが搭載されているわけではなく、また既存のハードウェアとの互換性を考えない訳にもいかない。そんな訳で、基本はソフトウェアで実行し、TrueAudioが使える場合はハードウェアで実行する、という形になるのではないかと思われる。

次のページ:Project MANTLE