ふう。特に忙しいと言うこともないのですけど、まともにアイマスのリズムゲームを進行させる時間がとれなくて、やっと本日、スターライトステージとシアターデイズのイベントを進行させました。どちらもステージシーンが良好です。
この絵はいわゆるCPUが全部作っているわけでは無くて、途中からGPUと呼ばれる計算機構が処理します。ポリゴンの演算に特化した計算機部分です。初期には3Dアクセラレータと呼ばれていた部分に相当します。
一直線の処理ではあるもののとにかく高速なので、それをCPUがやっている処理の分野に応用しよう、としたのがGPGPU、だったはずです。申し訳ないですが正確にはトレースしていません、ばかばかしいので。
以下はとあるGPU解説書の説明を私なりに翻案したものなので、引用はくれぐれもご注意ください。
3D処理はそこそこの計算精度で良いので単精度浮動小数点数(32bit)が採用されます。
しかし、一般の科学技術計算にはより正確な倍精度(64bit)が欲しい。なのでGPUの構成を少し変更して倍精度が計算できるようにしました。
もう一つの工夫があって、どうやらこれをGPGPUと呼んでいたようです。というのは、一般的な科学技術計算では正負などの条件によって別処理に入らないといけないからです。
この工夫が何と私がよく知っていたもので、その名も直交計算機。聞いたことないでしょう?。今から30年ほど前に買った、その時でも古い並列計算機の構成の本のテーマがこれ。あ、そこの方、ググっても出てきませんから。
現在のCPUは32bit機とか64bit機とかです。32bitや64bitの整数の二進数計算が基本になっている、ということ。基本的には加算と減算ですが今の計算機は乗算もものすごい速度で計算できます。
つまり一つのアドレスに一つの数値が入っている、ということ。これが直交計算機では1bit機を32台、または64台並べた感じで動作させます。アドレスの進行方向に向かってデータが入っているので直交していると表現されます。
聞いたことがないのはあたりまえ。すべて博物館行きです。私のささやかな経験ではセル・オートマトンと呼ばれる仮想計算のシミュレーションには役だった記憶があります。その程度。ただし、1bit機というのは存在します。
1bitだったらand, or, notしかできないんじゃないの?、その通りです。でもスイッチの状態を調べて内部メモリの状態と照らし合わせで適当にランプなどをON/OFFするのならこれで十分。つまりコントローラとして使われるのが普通です。
足し算などが必要ならばand, or, notの組み合わせで作ります。つまりハードの論理回路をシミュレートしている感じ。これでも高速化が見込まれると考えられたわけ、当時は。
判断と分岐の部分は、何と、条件によって一部のプログラムの出力を止めてしまいます。別のプログラムの部分に来たら出力再開。コンピュータというのは速いので、これでもリモコンのCPUなどだったら実用になります。
で、GPGPUはさすがに1bitの代わりに64bit数を基礎にしていますが、考え方は同じ。これで高速化されるはず、という何十年かぶりの夢が、ふと思い起こされたわけ。
まあ、結果はご覧の通り、としか言い様が無いです。
さっき第五世代コンピュータ計画の報告書を引っ張り出して見てみましたが、やはり分配(パーティション)と合流(マージ)の部分が強調されている。データの流れは一本では無く、次々に分岐し、統合しないといけません。
XboxOne X (XoX)のとあるゲームで4K対応すると容量が178GB程度になるとの噂がゲームファンサイトで話題になっています。XoXでもPS4 proと同様に疑似4Kのはずなので、これから本格的に4K対応になったらどうなるのか、ということ。
現在のゲーム機の媒体であるBDは片面一層で25GB、片面2層で50GBだそうです。最新規格のUHD-BDでも3層で100GBですので、何の工夫も無ければ全然足りない、と言うことになります。
私のPS4 proのハードディスクを見てみると10GBは当たり前。50GB超えのソフトもいくつもあります。パッケージ版はほとんど買っていないので、2枚組になっているかどうかは不明。
それにしても、フルハイビジョンや疑似4Kですらものすごい容量です。現在の家庭用インターネット回線の速度をもってしても何時間ものダウンロード時間で、これがすぐに高速化される噂は無いです。かえって価格競争に陥ってます。