Split」出場チーム情報をお届け。今シーズンの覇者となるのはどのチームかなぜ新スタジオなのか。eスポーツ選手をいかにしてサポートしているのかフォーナインズがゲーミンググラス「PLAIDe」(プレイド)を立ち上げた理由とは。「レジェンド・オブ・ルーンテラ」デッキガイド。STRANDING」の世界をより理解するための“運び方”ガイド姿の見えない世界中のプレイヤーと緩く助け合う。2019]ティガレックスやバフバロの狩猟に挑戦。REMAKE」の最新映像が公開。970)において,グラフィックスメモリの消費量が3.5GBを超えるとメモリバス帯域幅が大幅に低下する問題。M.Alben(ジョナ・アルベン)氏に,電話会議で直接,この問題について話を聞く機会が得られた。970に何が起きているのか」をあらためてまとめてみたいと思う。970の性能(スループット)が大きく低下する。いう現象がなぜ生じるのか。970で1664基になるとしていた。逆にいえば,それ以外のスペックは,動作クロックを除いて変わらないとしていたわけだ。Coreの数が異なるだけではなかった。これが,3.5GB問題について,まず押さえておくべきポイントとなる。980よりも256KB少ない。L2キャッシュに対するピクセルデータの出口となるROPユニットも,L2キャッシュに合わせて削減されている。970では,このうち1パーティションでROPユニットが8基無効化されているため,総ROPユニット数は56基となるのだ。今回明らかになった「本当のスペック」は赤字で示したこの「L2キャッシュ周りの違い」こそが3.5GB問題の原因なのだが,では,実際には何が起きているのだろうか。Alben氏が,その説明に用いたのが下の図である。これはクロスバー(図中「CROSSBAR」)インタフェースを中心とした図で,クロスバーの上側がグラフィックスの処理を担う演算ユニット(同「SM」),下側がL2キャッシュ(同「L2」)およびメモリコントローラ(同「MC」),グラフィックスメモリチップ(同「DRAM」)からなるメモリ周りとなる。Alben氏が示した図。クロスバーを挟んで上が演算ユニット部,下がメモリ周りという配置になっているちなみにクロスバーというのは,(NVIDIA製GPUにおいては)演算ユニットとL2キャッシュとを結ぶ仕組みのこと。「接続されている出入口と出入口をつなぐ大量のスイッチ群のようなもの」だとイメージするといいだろう。出入口のことを「ポート」(port)と呼ぶが,ある演算ユニットのポートと,あるL2キャッシュのポートとをつなぎつつ,別の演算ユニットはまた異なるL2キャッシュのポートと接続,といった具合に,複数のポートとポートを同時に接続できるのがクロスバーのポイントである。Alben氏が示したとおり,実際にはSM側が16ポートあり,L2側が8ポートなので,実際にはもっと複雑だが,ここでは簡略化している。Coreが,スケジューラやロード/ストアユニット,超越関数ユニットとひとかたまりのブロックを形成。Multiprocessor」(以下,SMM)を構成する。Cluster」(以下,GPC)となり,GM204の場合は,このGPCを4基束ねたものとなっている。970の場合は,SMMが3基少ない,ということになるのだが,Alben氏によれば,この「フルスペック比でマイナス3基」という仕様は,4基中3基のGPCで,SMMが1基ずつ無効化されるという仕様により実現されているという。「こうすることによって,すべてのGPCがGPCとして機能するようバランスをとっている」と,Alben氏は説明していた。実のところ,そう断言されたのは今回が初めてなのだが,3.5GB問題と直接の関係はない。関係があるのは,上の図における下半分のほうである。図でグレーアウトしているのが無効化されたSMMだ。SDRAMメモリチップと接続される格好になっている。先ほど示した図を見ると,2基のL2キャッシュと2基のメモリコントローラ単位でグループになっているのが分かるが,これはメモリインタフェース64bit分と考えてほしい。980では,L2キャッシュがクロスバーに対して8つのポートで接続されている。SDRAMによる合計4GBのグラフィックスメモリに対して,同時にアクセスできるようになっている。980の場合,8ポートを同時に使って,1KB幅でグラフィックスメモリ4GBの全域にアクセスしたとき,グラフィックスメモリに対して最大の帯域幅を得ることができる」と述べていた。Interfaceが導入されている。970の場合,8ブロックあるL2キャッシュのうち,1ブロックが無効化されることになる。Interface」(バディインタフェース)として実装している。これは,KeplerアーキテクチャのGPUにはなかった仕組みで,Kepler世代においては,製造上の都合によりL2キャッシュが1ブロック動作しないダイが取れた場合,当該の64bitメモリコントローラそのものを無効化しなければGPUとして動作させることができなかった。Interfaceを使って,L2キャッシュが1ブロック無効化された場合には,残る1ブロックで2基のメモリコントローラを担当させることができるようになっている。Interfaceが有効になっているのが分かると思うが,図にあるとおり,どのL2キャッシュが無効になっても半導体として問題なく動作するような設計になっているわけだ。クロスバーの下側を再掲。SDRAMのそれと比べて2倍のスペックを持つとAlben氏は述べている。「そのため,(L2キャッシュが1ブロック無効化されていても)L2キャッシュとクロスバー間の帯域幅がボトルネックになることはない」(Alben氏)そうだ。いうときに問題が起こるのかというと,4GBあるグラフィックスメモリ全域に対して並列アクセスを行う場合である。Interfaceを介して接続されるDRAMが全体の足を引っ張る格好になってしまう。Interfaceの先にある0.5GB分のグラフィックスメモリといった具合に,2つのセグメントに分けて管理している(※このあたりは先の記事で紹介しているとおりだ)。3.5GB分のグラフィックスメモリに対しては7つのポートを“普通に”駆動できるため,最大の帯域幅が得られるものの,残る0.5GB分に対しては,L2キャッシュを1ブロックしか使えないため,3.5GB分比で7分の1の帯域幅しか持たなくなる。分けてあるから,3.5GB分の足を引っ張ることはない。この点がセグメント分けのメリットということになる。segment」(上位セグメント)と表現していたが,これは文字どおり,0.5GB分が上位メモリアドレスに割り当てられているということだそうだ。segmentが使われるケースは,比較的少ないということにもなる。970のブロック図ということになる。半透明の黒は,発表時点で無効化が明らかになっていたブロック,半透明の赤は,今回無効化が明らかになったブロックだなぜ実ゲームでは3.5GB問題が顕在化しにくいのか以上が3.5GB問題の原因だが,当然,これだけでは納得できないという人も多いだろう。980比で数%に留まる——NVIDIAは1〜3%程度としており,4Gamerのテストでは3〜4%程度だった——のか,といったあたりは,残る疑問の筆頭ではないだろうか。これは,先ほど説明したメモリ管理法で説明できる。segmentとなる0.5GB分が使われるケースはまれなのだが,それに加えてNVIDIAでは,「できるだけ3.5GB分を使うよう,ドライバ側で設定してある」(Alben氏)そうだ。970がリリースされたときから,一貫してこの対策は取ってあると述べていた。「(MODを大量に導入した結果のような)メモリヘビーなゲームタイトルであっても,3.5GB問題はできる限り顕在化しないような設計になっている。980のスコア低下率を大きく超えて)大幅にスコアが低下するようであれば,ぜひ教えてほしい。それに対しては,ドライバレベルで対応が可能だと考えている」(Alben氏)。ところで,NVIDIAは30日になって,レビュワーズガイド内に記載されたスペック情報のアップデートを発表したわけだが(関連記事),なぜ今になって情報が明らかになったのだろうか。4Gamerではズバリ「12月の商戦期を切り抜けるため,黙っていたのではないか?」と聞いてみたのだが,Alben氏の口からは,それを否定する回答が返ってきた。「そもそも,私がこの問題を知ったのが,いまから3週間前のことで,NVIDIAのプロダクトマーケティングチームが対策に乗り出したのも,1週間半くらい前のことだ。970のスペック情報が間違っていたのは,完全に私達のミスだと言える。Interfaceの採用など)メモリ周りの仕様が変わっていたにもかかわらず,それがエンジニアリングチームからマーケティングチームにうまく伝わらず,マーケティングチームが『メモリ周りの仕様はKeplerから変わっていない』と判断したため,誤った情報が出てしまった。情報のやりとりが十分ではなかった」(同氏)。970は,2014年9月に発表されたときとは異なるスペックのGPUであることが明らかになった。L2キャッシュの容量は2048KBではなく1792KBで,ROPユニットの総数は64基ではなく56基である。970の販促活動を行い,実際にGPUを出荷していたという話になるわけだ。ここもやや複雑ではある。NVIDIA公式Webサイトの製品情報ページでは,L2キャッシュの容量も,ROPユニットの数も公表されていない。レビュワー向けの参考情報という扱いである。先に説明したとおり,メモリコントローラは削減されていないので,公表されている「グラフィックスメモリ容量4GB,256bitメモリインタフェース」に,スペック上の誤りはないということにもなる。実際,「日本では,景品表示法第4条第1項第1号に違反する『優良誤認』に当たるのではないか」と尋ねたときも,Alben氏は,法律関連の事項について回答する権限はないと断ったうえで,以上の見解をほのめかす回答をしていた。970ユーザーがそれで納得するかというのは別の話だが......。ちなみに,この問題はもっと早い時期に誰かが気付ける可能性があった。970が登場したときから正しいL2キャッシュ容量を報告していたからである。NVIDIAマーケティングチームの誰か,あるいはメディアやユーザーがこれに気づいていれば,3.5GB問題は,もっと早く明らかになっていたかもしれない。970を装着した状態で実行したdevicequerydrvの結果。L2キャッシュ容量は1835008bytes(=1792KB)と報告されていている。970は価格対性能比に優れた製品で,私達がアピールしてきた性能を間違いなく持つと確信している。今回は3.5GB問題でユーザーに心配をかけてしまったが,この問題に可能な限り真摯に対応していくことが我々の責務だと思っている」と語っていた。ユーザーに対するサポートをどうするかといった点については,エンジニアリングを統括するという氏の立場上,語ることはできないと述べていたが,技術上の疑問に対しては,可能な限りユーザーに情報を開示するとのことだ。今後,何かしら追加の情報などが得られたら,あらためてお伝えしたいと思う。紅蓮のリベレーター」公式ベンチマーク。Redux」がもらえるキャンペーンがスタート。10月3日までゲーム世界を自由に撮影できる機能「Ansel」がついに離陸。イベント情報に注目の「アズレン」公式生放送は2月21日配信。アニメ,見よう」第99回は平尾アウリ氏原作の「推しが武道館いってくれたら死ぬ」。ゼロ:第569回「何にでもなれる。