はてなキーワード: GPUコンピューティングとは
---
インターネットの未来は,電話が携帯電話により,個人の物になったように,ネット端末が個人の物になっていくだろう.この過程の上で重要な端末がスマートデバイス,つまりスマートフォンやタブレット端末だ.これらはそれ自体でネットに接続することが出来,持ち運びが可能なため個人で所有できる.また通信技術も4Gというネットが家庭に普及したADSLと同等の速度を持つ規格が普及しつつある.この見地からもネットが個人の物になっていく傾向が伺える.
それでは,ネット端末が個人の物になった未来ではどうなっているだろうか,近い未来では,スマートフォンで動画を投稿しあうソーシャルサービスが出てくるのではないだろうか.現在は'Instagram'のような画像を投稿し共有しあうサービスが登場している.それが回線の高速化によりソレの動画版が出てもおかしくはない.その場合,大量の動画を画像のように消費する必要が出てくるので60秒以内などの制限がつくであろう.
また,個人の物になったということは,ネットは公の場という価値観も変わっていくだろう.つまり,現在でも問題になっている個人の問題発言などは更に増えていくのではないだろうか.それをシステム的に制御する必要性が出てくるだろう.必要な人には可視,そうでない人には不可視にする仕様がデフォルトになり,個人情報とともに個人のログもマスキングされていく.
それではその未来においてインフラ技術はどのように進化するだろうか.まず,要求されるデータ量や計算処理は増加していくだろう.ムーアの法則によりCPUやメモリやHDDは増加していくが,それらの間のI/O通信が処理時間のボトルネックになっていくのではないだろうか.それを解決するために,HDDはオンメモリのDBやSDDに変わっていき,HDDはそれほど速度を要求されない場所に使われることになるだろう.また,CPUも更にメニーコアになり,GPUコンピューティングもインフラ技術に組み込まれていく.
しかし,データ量や計算処理が増加して,要求されるスペックも大きくなるにつれて,消費電力も増加するという問題点も出てくる.それに対応するために,様々な対策が講じられるだろう.現在でもインテルが低電力が特徴のIvy Bridgeをリリースしたり,Facebookもサーバー運用の仕様をOpen Compute Projectとして公開している.これからはその傾向が加速し,消費電力を維持したまま,計算量は増えていくだろう.
---
Ivy Bridgeとかなつかしー。Open Compute Projectはホワイトボックススイッチとかいい感じですね。
動画コンテンツが流行るには回線の速度が必要になるとか、インフラスペックがコンテンツの流行りを決めるというのは今でも自分のテーマにある。セガはいつも早すぎるんだよ!
PS4は主記憶にGDDR5を使ってきたので、同じ主記憶向けメモリという括りでDDR4 SDRAMを比較対象にした。
当然ながらPCでGDDRがメインメモリに使われる可能性はまずあり得ない。GDDRを使うとメモリはMBに直付けと言う選択肢しか無くなる他、特許の問題が絡む。モジュール開発を前提にコストを削減しているPCでは展開しにくく、そもそもメモリは直付けであるUltrabookやタブレットではこれを行かせるような設計がまず難しいのと、すでにDDR3で直面している発熱と消費電力の高さという問題が存在するためにGDDR5がメインメモリに採用される事はまず無い。
従って、主記憶の速度という単純な物差しを持ち出すのならば、GDDR5とDDR4 SDRAMを比較対象にした。
ちなみに
また、GPUコンピューティングの世界ではGPU間でメインメモリを通さずにデータ転送できる仕組みが現在進行中で、NVIDIAはCUDA5.0でGPUDirectと言う仕組みを導入しこれを実現した。これは一見するとDMAによく似た仕組みに見え、結果としてやっている事は確かに似ているのだが、Remote DMAといった代物で結構中身が違う。CPUはもちろん、メインメモリを通さずにGPU間でメモリ転送を実現してやろうというものだ。さらに、ここにもうちょっと賢いコントローラをはさんでやると言う事が考えられていて、これは実はAMDだけではなく、NVIDIAが従来やっていたGPUボックスというGPUをSLIして専用のコントローラ積んで、PCIeと専用のバスで繋ぐようなシステムを作っていたが、それの応用、あるいはIntelがXeonPhiでやろうとしている。
なので、メモリ帯域では
と言う事になる。
切り口にもよるけれどそーでもない。
PS4のCPUとGPUの石の性能は、3年前のハイエンドとほぼ同程度だよ。ただ上にのっかるソフトが違うので効率面では、現在のミドルレベルのゲーミングPCぐらいにはなっていると思う。
一方メモリ帯域と言う面だと、2016年であってもPCは追いつけないはず。今年中に現在のメモリの次世代規格であるDDR4のモジュールが出回ってくるけれど、現状計画だとDDR4は最大で3200Mbps、メモリ帯域幅は最大で65GB/秒程度が限度だと思われている。一方、今回のPS4は帯域幅176GB/秒と言われているのでそう簡単には追いつかれないと思われる。
ただし、今のウルトラハイエンドのグラボでは、GDDR5を6GB搭載しているものが存在する。(※ただし売価10万以上)プロユースでは8GB搭載したものがあるし、GPUコンピューティング用のアクセラレータではさらに大量に積んでいるものがある。そしてPCの世界でもCPUとGPUの間のメモリ転送の遅さをどうにかしたいというアプローチは行われているので、どうなるかはちょっと未知数かな。
最初に言っておくと、増田はSCEが嫌いな方でPS3もVitaも持っていない。
そんな増田だが、PlayStation4発表でのハードウェアに対する誤解の数々を見てちょっとばかり怒りを覚えたので少し書いておく
いきなり「何が違うんだ?」と思う人や「何も違わないだろ?」と言う人も居るかも知れない。
だが後半を語る上でもこれは重要な話なので省略しないでおく。
最近のPCは当たり前のように64bitのメモリ空間を扱えるようになった。
この増田を読んでる人でも64bit OSを使っている人は少なくないはずだ。
これをもたらしたのは、x86 CPUを作ったIntelではなくx86互換CPUを作っていたAMDである。
じゃあIntelは何をしていたのかと言うと、64bit CPUを作っていた。x86を完全に捨てて。
Intelは「IA-64」という64bit CPUを開発して商品も出していたが、これは現在ではほぼ完全に消えている。
確かにIA-64は64bitをネイティブで扱えて「x86の古臭い負債」が全く無かった。しかし、現実世界はx86で作られた既存のソフトウェアを求めたのだ。ゲーム業界でも似たような話を聞いた気もする。
それに対して、AMDは「64bitを扱えるx86」を作ってしまった。これが「AMD64」であり、現在業界標準としてx86-64と呼ばれているものである。
知っての通り、x86-64は現在のIntel CPUでも対応している。AMDが作った命令を使わされる事になったIntelは何を思っただろうか。逆に、これまでIntelの命令を使ってきたAMDは何を思っていたのだろう。
PS3に搭載されていたCellは、非x86でスカラプロセッサのPowerPC CPU(PPE)と、複数のベクトルプロセッサSPEを組み合わせたヘテロジニアス(非対称)プロセッサだった。(スカラ、ベクトルについてはググろう)
スカラプロセッサが得意な処理、ベクトルプロセッサが得意な処理を両方とも高速に実行できる。それがCellの目指した「夢」だった。
スカラプロセッサとベクトルプロセッサのプログラム最適化は全く別の概念で、プログラマーにとっては野球とサッカーを同時にやらされるような物である。
しかも、スカラプロセッサとベクトルプロセッサの間でデータの交換もある。野球とサッカーのキャッチボールて。
スーパーコンピュータ「京」もスカラとベクトルの合わせ業で池田某氏に何度も叩かれるほどの超絶難産だった事は記憶に新し…いっけ?
それが原因でPS3の性能を最大限に引き出したソフトはほとんど存在せず、こともあろうにXbox360とのマルチソフトが溢れる結果となった。(ちなみに増田は360も持ってないのでエルシャダイをプレイ出来ていない、問題だ)
それに対し、PCの世界ではPS3・360が発売してしばらく後に新たなヘテロジニアスコンピューティングが生まれていた。
CPUに比べて進化が止まらないGPUをベクトルプロセッサの代わりとして使う試みだ。
GPUはスパコン用のベクトルプロセッサやCellのSPEと違い、最近のどのPCにも搭載されているので量産効果で割安というメリットがある。
DirectXのバージョンも2桁に突入し機能が増えるにつれて、「もうこれで計算すれば良いんじゃね?」となったわけだ。
結論から言うとこの試みは無茶苦茶ヒットした。近年開発されたTOP500スパコンでGPUが使われていないものを探すのが難しくなってきたし、
最近はPhotoshopなんかの比較的身近なツールもGPUコンピューティングに対応してきてヌルヌル動くようになっている。
しかし、そんなGPUにも欠点はある。「CPU・メモリから絶望的に遠い」のだ。
IBMが発明しMS-DOS・Windowsが動くことで爆発的に普及した今のPCは、GPUを外付けにすること前提で設計されていた。
DirectXやOpenGLのような例外を除いて、基本的に現代のOSはCPUとメインメモリでソフトを動かすように出来ている。
GPUも、一旦メインメモリ上でGPUのRAMに載せるためのデータを生成し、CPUから「GPU動かすよー」という命令を出さなければ動かせないのだ。
これはGPUにとって致命的すぎる欠点だった。これが原因で、遅さを跳ね返せる最新のミドルレンジ・ハイエンドのGPUでなければ逆にCPUより遅くなってしまうケースばかりだ。
現実的な理由で始まったGPUコンピューティングがぶち当たった現実的な壁である。
このGPUの欠点を克服する方法について、AMDはかなり前(少なくともGPUコンピューティングが流行るより前の2007年以前)から取り組んでいた。
GPUコンピューティングが遅いのはCPUから物理的に遠いため命令を送る時間が掛かり、メモリの扱いも異なるせいである。
CPUからGPUに命令を送る遅延を無くし、CPUのメモリとGPUのメモリを交換する時間も減らせばGPUコンピューティングのデメリットは消え失せる。
夢のある話だ。
しかし、AMDには発想と設計技術はあったがカネと製造技術はIntelと比べて絶望的に劣っていたため、
初めてのCPUとGPUを統合したプロセッサはIntelに先を越されてしまった。(IntelのGPUが絶望的に遅いからって実質出てないなんて言っちゃダメだ)
これにはAMDもかなり堪えただろう。けれどもAMDは戦略を曲げなかった。
IntelのGPUが絶望的に遅いのでほとんど意味は無かったが、少なくとも前世代のIntel GPUに比べると格段に実効性能が上がっていたのだ。CPUとGPUを近付ける統合には間違いなく意味があったということである。
AMDはCPUとGPUを同じチップにするだけでは無く、メモリ「アドレス空間」も一緒にする道を目指した。
こうなるとCPUの使っているメモリがGPUから直接扱え、GPUの使っているメモリがCPUから直接扱えるようになる。
これが実現するとCPUとGPUが完全なヘテロジニアスコンピュータに一歩近付くのだ。
2011年にやっとAMD初めてのCPU+GPUであるAPUを出せたが、メモリアドレス空間はまだ別々だった。
2012年になってもメモリ空間は別々のままだったが、AMDはARM(iPhoneやAndroidやWindows Phoneに載っているARMである)と合同でHSA(ヘテロジニアス・システム・アーキテクチャ)を推進すると発表した。
世の中の現実的な人々は笑った。「アーキテクチャだけを作ってもハードとソフトが出てこないんじゃ話になりませんよ」と。
同じ2012年、AMDは2013年中にHSAの第1世代製品を出すとだけ発表し2012年は終わった。
そして2013年2月21日(米国時間20日)、Sony Computer EntertainmentはPlayStation 4を発表した。
Cellはコケてしまったので載らない事は誰もが知っていたが、載っているハードウェアに一部の人が驚いた。
―HSAである。PC用のHSA対応APUがまだ正式発表されていない中で、なんとHSAを載せてきた。(2013年末発売だから当たり前だというツッコミは止めろ!)
CPUはx86-64のJaguar 8コア(ちなみにPC向けJaguarは4コアまでだ)、GPUはRadeon HD 7800相当でPS3と違いガチで1.8TFLOPS(理論上1秒間に計1.8兆個の小数点を含む計算を実行可能)のスペックを持つ代物だ。
このCPUとGPUは8GBのGDDR5メモリを共有して動作する。8GBと聞くと最近のPCから考えると少なく聞こえるかも知れないが、(わたしのメモリは16GBです)
GDDR5とはGPUの描画計算を速く済ませるために作られた超高速メモリであり、ご家庭のDDR3メモリとは比べ物にならない速さが出せる。
実際の所PS4がHSA対応かは正式発表されていないのだが、PC向けJaguarはHSA対応と発表されており、SCEもPS4をAPU(CPU+GPU)と呼んでいてこの変態メモリ構成とすると、発売までにクッタリでスペックダウンしない限りHSA確定と見て良いはずだ。
また、PlayStationはこれまで一度もx86系CPUを採用した事が無く、これが最初(で最g)のx86採用機となる。
Intelが初代Xbox(Celeron搭載)であっさり諦めたx86のゲーム機市場制圧の夢を、AMDが思いもよらぬ形で果たしたのだ。
これまでPCでしか発売されてこなかったDiabloが、x86-64のPS4向けに初めてコンシューマ版を発表した事もx86-64の採用が決してつまらない事ではなかった証だろう。(Diabloと戦うハメになるサードの方々にとっては非常につまらないが)
CPUとGPUの”フュージョン”…(HSAは以前はFusionと呼ばれていた。そういえばドラゴンボールの映画も今年やな…)
AMDが長年の間見てきた夢が、PS4で初めて現実世界に現れることになる。(※ただし次世代XboxもHSA採用でPS4より先に発売したりしない世界線に限る)
こんな馬鹿らしいほど夢が詰まったマシンを「x86搭載だからPCみたいで夢が無い」という一言で切り捨ててしまう人に増田は絶望した。
でも、それってユーザーの夢にどう繋がるの?
性能の引き出し易さがPS3と比べて格段に良くなるのでPS3版ラストレムナントや人喰いの大鷲トリコのような非情な現実が減る。以上。