はてなキーワード: GPUとは
PCでの複数コアの主な使い方というのは、まるで違う用途のタスクをそれぞれのコアに割り振って、一番負荷のかかるメインのタスクを停止させないことでキャッシュメモリのフラッシュ回数を激減させることにより、システム全体のスループットを若干上げるためにあるのだと考えてた。
たとえばにAコアでメイングラフィック、Bコアで音声処理/ネットワークでOS(ディスクや入力I/O)みたいな。
セマフォだの同期処理だのまったく考えずにマルチコアの恩恵をそれなりに受けることができる手法って、ほかにないですよね。
ちょっと前に話題になったヘテロジニアスマルチコアなんて、モロ的にそういう発想ですよね。
動画デコードに特化したコアとか、アフィン変換に特化した不動少数SIMDコアとか、AESなど暗号専用のコアとか、それらをまとめる一般整数コアなどまとめて、今までより速いのを安く低消費電力で作って、車載ナビで地デジもネットもゲームもokにしちまおうぜみたいな。
最近のPCは、それとはまた違うアプローチで、CPUコア同様のGPUコアももうすこし自由に使えるような仕組みを増やして、性能稼ごうって方向みたいですが。
例えば2D格闘ゲームなどは、今後かつてのようなものは生まれないと思っている。
スプライト全盛期の頃とくらべて、今のハードウェアは遅延がデカイ。液晶TVも遅延がデカイ。目で見て入力して間に合わないというのはゲームとして致命的だ。
FlashとHTML5が棲み分けできればめでたしめでたしだけれど、
HTML5がごっそり持っていく部分こそが、
ウェブ開発においてまさにFlashが独占していた分野なわけで、
「Flashで実装されたキラーアプリ」も最近では全く見ないじゃん。
俺が知らないだけだったら申し訳ないけどさ。
「GPUアクセラレーションつきの3D」でグリグリ動くブラゲでボロ儲け、なんて事例が出てくればいいけど。
一般にFlashを必要とする場面が昔に比べて圧倒的に少なくなってるよ。
それに、ようやく現れた対抗馬が「Flashキラー」としてもてはやされるのは、
つまりみんな「Flashには死んでほしい」と思ってるってことなんだよ。
IE6みたいにね。
なぜ両方使うという選択肢がない。真の技術者はウェブ標準だろうがFlashだろうがネイティブだろうが、その場その場でユーザーの体験を最善にし、クライアントの要求を最高に満たすベストの技術を使う。JavaScriptかFlashかなんて動きさえすればユーザーには関係ないんだから。実際、HTML5スゲEEEEE!!!ってページにFlashタグのブクマが間違ってつけられたりしてるよ?(笑) ウェブ標準の崇高さなんてパンピーにはわからんのです。
そもそも分からないんだけど、HTML5が「投資」するほどたいしたもの? 誰もが基礎教養として身につけているはずの、これまでのHTML+CSS+JavaScriptの延長線上の技術でしょ。今まで普通にやってきたウェブ開発者ならすぐにキャッチアップできるはずだよ。
どうせHTML5の実装の普及には当分かかるし、その時点のブラウザ環境で使用可能なものをゆっくりまったりと導入していけばいいだけ。その意味ではいわゆる遅延評価学習で十分。あわてることはないです。どうせ皆使うことになるんだから。
一応言っておくと、いいものだと思いますよ、HTML5は。現段階で頑張って凝ったものを動かしておられるイノベーターの方々もたいしたものだと思います。敬意を。マリオやらグラディウスやらは著作権的にどーなのかと突っ込みたいが。
それはシナリオのひとつですよね。Googleの甲斐性次第では十分にあり得る。それと、ジョブズが翻意するというシナリオもありますよ。今までに散々あったことですが。どこかでそれをネタにしている記事があったと思いますが。
もしEdgeを見てそう思ったのなら、Flash CSを使って制作したことがありますか? Edgeを実際に使ってみましたか? と問いたい。
他にも、最低でも、
これらにきちんと答えられない人間にHTML5 vs Flashなど語る資格はないです。そもそも対立させる時点でわかってないなー ┐(´д`)┌ って感じなのだけど。
あとFlashへの投資が無駄になると思ってるようですが、俺はFlashは投資判断「Buy」継続だと見てますよ。たとえこのままiOSで動かずともね。AIRもあるし、ブラウザのプラグインとしてのFlashだけ見ていると考えを誤るよ。ブラウザのほうにしても、GPUアクセラレーションつきの3Dが真っ先に使用可能になるのはFlash。プレイヤーの普及が速いから、WebGLと異なり、今後1~2年内に実案件で使用可能になるでしょう。そういった面ではなおカッティングエッジな技術だよ。
まあ、プラットフォームや言語の選択は投機だから、どの銘柄が買いか売りかで紛糾するのはわかる。ただ、それなら分散投資だとか、インデックス投資という考え方もあるのでね。HTML5に惚れ込んで一点買いなんて若いエンジニアがいたら、それはもう相当危なっかしいなと、視野も相当狭くなるだろうなと危惧するよ。
というか、JavaだろうがC++だろうがObjective-CだろうがLLだろうがアセンブリ言語だろうが関数型言語だろうが、一度全部触ってみなよ。いいから。HTML5で手一杯なんてのでは話にならんですよ。
http://gigazine.net/news/20110707_pyrit/
http://d.hatena.ne.jp/sen-u/20110629/p1
わざわざ再計算しているわけだけども。
saltとか考えるとまぁアリかな。
WPA2も、PMKと呼ばれる512bitのマスターキーを秒間8万9000個
解析可能だそうな。
Zipもあった。
レインボーテーブル方式が使えないのでブルートフォース一択のはずだが、
http://www.youtube.com/watch?v=3dEN9JQ3R0U
秒間6億3千万?
ひたすらクラックしているんだろうけど、
GPUってすごい。。
試しにPIKAZIPでやってみるとCorei7で秒間600万ちょいなので約100倍。
うーん。
なんか他の使い方ねーのかな。。
仰る通り、ハードウェアアーキテクチャについては知らないですね(スタックやヒープがどうとかは表面上わかりますが)。
というのはズバリそこが非常に嫌い(肌に合わない)で、意図的に避けてるからです…。アセンブラの本とかも持ってますが、どうにも読めないですね…。
当然Cは嫌いです…。C++がギリで、できればRやpythonレベルの抽象度で全部済ませたい派です。が、さっきも書いたようにちょっと踏み込むとすぐ低レベルの話が出てきますね…。
最近はGPUだの並列化だのを使いこなさないと生きていけない感じですし。
関数型言語くらい抽象化して数学っぽい雰囲気になってると個人的には嬉しいですねw
実装できないのにロジック考えてもしょうがないじゃん。
実際、ちゃんとインプリすると、
ロジック的にはメモリ使うけど、高速なコード。ロジック的には省メモリだけど低速なコードが
実装すすると、ロジック的には省メモリだけど低速なコードの方が高速に動くなんて事がある。
理由は簡単で、CPUとバスの速度の違い。バス速度はCPUと比べて遅いので、データの量が多い場合、転送その物を少なくして、CPUを多様したほうが
バスの待ちの空転がなくなるからトータルに早くなる。さらに最近はL3キャッシュがバカでかいから、L3を効率的に使うと早くなる。
あとは、CPUとGPUが分かれていると、そのシンクのタイミングをどうするんだ?ってのは、CPUとGPUのスペックに依存するし・・・
そういうハードに由来した、ロジカルな設計なんて山ほどある、そういうのって実際にハードに依存した実装を山ほどやってないとわかんないでしょ?
インプリできない人が設計した設計って、机上の空論というか・・・いや、それをやるとハードの制約で遅くなるとか、コードが冗長になるってのをやる人がいるから嫌い。
しかも、こういうのって設計のベースだから、初期設計からいれないと、インプリできないし・・・。
どうやって、設計するの?
計算する問題が分割されたままで良い、という領域においては当然そうなる。分割したもの同士が相互作用しないのなら。
残念ながらシミュレーション系においてはそらGRAPEが扱うなかでもごくごく一部ぐらいだけがそうで(普通は共有メモリ内で参照できるからそんな高いコストを払わなくて良い)、それ以外はメッシュだろうが格子だろうがIBだろうが最低でも隣接する領域との相互作用計算のための共有メモリ外との通信が発生する。
スケールアウトできないのはものすごく雑に言うと、
・扱う問題が原理的に向いてない
・計算機同士のインターコネクトが今でも遅すぎるのにこれ以上遅くしたらまさに演算系の無駄
ってとこがものすごく大きい。
評価・統合などなどまあ使う方式で言い方も使い方もいろいろあるけど、分割しただけで統合したりする処理が要らないんだったら、まさにRoadrunnerのOpteronブレード部分は無用だよ。計算するだけならCellブレードとインターコネクトボードがあればいい。だがOpteronを使わなきゃいけない(というわけでも無いんだけどあれぐらいの処理能力とメモリバンドとローカルメモリはバランス的に欲しい)というところに何かがあると感じてくれ。これをかいてる自分増田は定量的に~とか言われると式をグダグダ書き連ねないと説明できない低脳なので。
長大ジョブを投入して計算中でも、計算を止めないままノードごと別のノードに引き継がせて、そのノードを捨てたり点検したり、ってのは超大規模クラスタではもちろんある。
(脱線するが、x86は縮退させにくいとか、信頼性が足りないとかいうのも最近みかけるけどそんなことはない。x86だからということはないし、ノードの設計とジョブの入れ方できまるようなもの。あとすべてのノードをVMにのせてジョブを続けながらLive Migrationした実証実験なんてのもある。x86系コア・メモリのRAS機能は充実してきてるとはいえまだ足りないが、RAS機能がホントに重要ならPOWERベースにすれば実績と性能の点で申し分ない。x86の出自云々をいうならsparcだって出自がアレだしね。zシリーズにまで同一コアが使われるPOWERとは違う。脱線終わり)
それにスケールアップといったときに地球シミュレータの例はあまり適切ではないとおもう。アレは元々いろいろとアップグレードしにくいシステムだったし。
どうせならアップグレードしやすいCray XT5や、今度のXT6あたりで比較しよう。ちょうどJaguarのコアアップグレードは4Phaseにわけて実行された。
http://www.nccs.gov/computing-resources/jaguar/road-map/
コアの入れ替えだけなんでかかった費用は支援費の二千万ドル含んで数千万ドル(ちょっと語弊があるけど)。
あとJaguarはNCCSの配下にあるというのは一つの特徴だろう。利用時のスケジュールポリシーなんかもほぼ全部載ってるので、読んでみるといいよ。ちなみにNCCSのトップページにはいつも今配下のクラスタに投入されてるジョブがでてる。
ついでにGoogleのシステムはパソコンがベースって言って良いのかわからないぐらい特化してるよ。だから省電力でもある。それを安く調達するのはまさに規模の経済。
ToRスイッチを完成品じゃなくてBroadcomからチップ買って自前で専用のスイッチつくっちゃうのも規模の力。
最近いろんなところで引き合いに出されるNACCのGPUクラスタはコスト面とアルゴリズムで比較対象にもいい。簡単にいうと「苦手」なものを対象としないことで他の問題に最適化したのが濱田先生のところのチームがつくったクラスタ。特性を把握して性能を引き出して、実際に運用したという意味でとても良い研究なんだけど、故に超大規模クラスタとかで走らせることになる巨大CFDモデルなんかは対象外のシステムだ。
だから最近のスパコンうんたらかんたらとやらでNACCの話を持ち出してる記事やらエントリやらを見かけたら、そこに書かれてることは無視するといい。持ち出してくる奴は、基本からして間違ってるか何でも繋げればスケールアウトすると勘違いさせたがってるだろうから。
GPUでも分岐ができない訳じゃない、つまり、GPU型のスパコンもある。
ハードの性能に大幅に頼る設計と いわゆる いままでのスパコン
ソフトの性能に大幅に頼る設計(ifをいかに少なくして今までのCPUのしょりをGPUに落とすか)と 今回言われている GPUスパコン。
なので、GPGPUだと、できることが少ないは正確ではない、まだ、ソフトの研究が足りていないので、少ないと言われているが正解。
なので、使い方・ソフトの研究 次第では、事業仕分けで使われているスパコンと同程度の事ができないとは言えない。
結局、ハードに金をつぎ込むか、ソフトにつぎ込むかという戦略の差。
ただ、現在のび白が多く、一般的なシミュレーション用途などだとGPGPUの方が有利ではなかろうかと。
なので、某仕分けのスパコンなどは、同額の予算をハードはGPGPUにして、数億で抑えて、残りのお金はソフト開発と研究につぎ込んだ方が将来性もあり、科学の発展につながると思う。
このニュースは良いニュースで、従来のゼネコン型=恐竜型スパコン開発は終わりにして、新しい、ほ乳類型=GPGPU+ソフトウェアアルゴリズムの研究にお金を投資するべきだと個人的には思ってる。どうせ、仕分けのスパコンは大半が箱物で、研究に効率よく使われてるとは言い難いし。
同じ独アマゾンで検索すると分かるが、PS3は今は普通に350ユーロで売ってるよ。
http://www.amazon.de/PlayStation-Konsole-inkl-Wireless-Controller/dp/B001CSZSBK/
こんなの見つかったけどどうだろう。
GIGAZINEはゲーム関係ではかなりいい加減な記事が多いという前提で読む必要がある。初っぱなからしてこれだが、
かつてGIGAZINEでソニーがPS3および次世代システムにおいて、初代PS、PS2、PS3、PSPを対象としたエミュレーターの開発ができるエンジニアを募集していることをお伝えしましたが、
該当記事はこれね。
http://gigazine.net/index.php?/news/comments/20080117_ps3_ps2/
これがタイトルの時点で大嘘ぶっこいてるどうしようもないクソ記事なんだよ。理由は以下が詳しいけど。
http://anond.hatelabo.jp/20080930014735
かいつまむと、PS2互換無しのPS3(40GB)が発表されるずっと以前からエミュレータ技術者を募集してたのを、PS2互換有りのPS3(20/60GB)が出荷終了した後で騒ぎ立てて、あたかも40GBにPS2互換を追加するために募集を開始したかのような言い回しにしているわけ。なので「新型PS3にPS2との互換性を搭載する意向」なんてのはGIGAZINEが勝手に決めつけてるだけ。こういう経緯があるからGIGAZINEの、特にPS3の、さらにPS2互換に関しては全く信用出来ないって前提で読むべき。担当記者が相当に頭が悪いか、SCEに恨みがあるか、もしくはページビュー稼ぎ目的で書いてると常に疑うべし。
でもって元のGIGAZINEの記事をよく読んでみれば分かるけど、
この記事によると、アメリカのソニー・コンピュータエンタテイメントがPS3のCellプロセッサを利用してPS2のCPUである「Emotion Engine」の動作を再現する技術の特許を取得したそうです。
そもそもEE無しでPS2互換は以前売られていた欧州版PS3でもある程度出来ていたんだよね。なのでその特許はその「ある程度」を「ほぼ完全に」に引き上げる特許でしかない(それでも十分に価値のある特許ではあるけど)。
ところが、PS2の互換性再現のために必要なのは「Emotion Engine(EE)」だけではないんだよ。もう一つ「Graphics Synthesizer(GS)」ってのが必須(以前の欧州版PS3もGSだけ搭載されていた)。これはPS3のCPUではちょっと再現が技術的に不可能に近いと言われてる代物。ところが現行のPS3(40GBや80GB)にはEEどころかGSも入ってない。だから、いくらEEの再現性を上げても、GSの問題が解決されるわけではないので、これで「悲願の互換性実現へ前進」なんてのは「釣りタイトル」もいいところ。
http://pc.watch.impress.co.jp/docs/2007/0314/kaigai344.htm
業界関係者によるとGSを残す理由は、GSをPS3チップセットでエミュレートできないためだという。GSが、超広帯域かつ低レイテンシのeDRAM 4MBの搭載を前提としたパイプラインになっているからだ。GSの特殊なアーキテクチャは、同じGPUでも、PS3のGPU「RSX(Reality Synthesizer)」はメモリは外付けを前提としたPCグラフィックス型のパイプラインなので置き換えることができない。
結論から言えば、GIGAZINEでPS3関係の記事書いてる奴は今すぐにでも鬼籍に入るべき。もしくは今すぐ二酸化炭素の排出を停止して環境問題に貢献すべきだね。タイトルで仰々しく「悲願」なんて書き散らかしてるが、そりゃお前(記事書いてる記者自身)の悲願だろと。
「PCを買う」目的が、動画制作である場合、コストパフォーマンスを考えると、どうしてもPCは自作になる。
…と勝手に思っているので、そういう用途向けPCを、自身の経験から勝手に構成してみた。
(有効期限3カ月位)
状況
・予算30万以内
■CPU(3万円)
今あるH.264エンコボードは、まだちょっとこなれていない。(と思ってる)
エンコにCPUパワーを使う事と、コストパフォーマンスを考えると、
辺りか。動画編集+普通使いでは、アプリが無数に走るため、コア数は割と重要。またエンコはマルチスレッド対応のものが多く、コア数はそのまま時間短縮につながる。
ちなみにCore i7ベースのQPIも、動画編集やエンコで効果大でした。
■メモリ(1万円)
最高速ではなくとも、DDR3にはしておきたい。
昔ならここで値段がかなり食われたが、今では2Gx3枚でも1万円程度。良い時代だなー。
4GByteモジュールが出回って、10GByte以上載せられるなら、もっと大量に載せてエンコ用にRAM Disk領域を切るのもありかも。
■GPU(2万円)
NVIDIA GeForce 9600 GT~GTX 260
辺りをオススメ。
OS用と、動画制作で貯まる大量のデータを保存する為のHDD。
どのような組み合わせでも良いと思うが、1T~1.5TByteのHDDを4基位買っておいて損は無い。
■SSD(4万円)
HDキャプチャやエンコなどで、Read/Write 120Mbps超えの高速ストレージが必要になる。
ある程度高速性をうたうSSD(32G~128G)を用意したい。出来れば2基以上でRADI0。
但し信頼性がかなり低い+バイト単価が高い領域なので、ここにデータは絶対貯めない。
■キャプボ(2万円)
前ならPV4一択だったけど、今だとintensityとかかなー。。
■その他(5万円)
M/BはRAID対応のを買っておくと後で楽。光OUT等もあると便利。少し高めのM/Bを買っておくと、USB数やSATAポートの余裕がそのまま自由度に繋がる。
電源はケチらない。500w以上で静音タイプのものをきちんと個別で買う。
ケースはお好みで。但しメンテ性を一番に選ぶべきかも。(今後色々と機器を弄る事になるから)
■OS(2万円)
OEM版Windows Vista Ultimate 64bitなど。Windows 7が出たら載せ換え。
XPが入手出来ればそれも良いけど、ここまでのスペックで組めば、Vistaのトロさはまず感じない。
メモリ量を生かすために64bit版オススメ。64bitに対応しないようなソフトはこの時点で見捨ててOK。
※Office、動画編集、ブラウザ、エディタ、iTune、その他大量の動画編集用ツールを入れたが、
少なくとも今までに64bitの為に導入できなかったのは、ゲームが1つだけだった。
但しPV4を使う場合、ちょっとした小技が必要。
■ディスプレイ(4万円)
最近急激に安くなったフルHDモニタを2枚。デュアルディスプレイは金額に見合う以上のメリットがある。
※もし特価品で1920x1200(16:10)のモニタが手に入るなら、ちょっと足してもそちらがオススメ。縦1024は、ブラウジングの時にちょっとキツイ。
但しこのサイズは、フルHD映像コンテンツ(16:9)の再生時に少々面倒な事になる。どちらをとるか(もしくはモニタを1枚縦にするか)は頻度によるかも。
ここまでで26万、その他色々小物(オススメとしてはWebカムやヘッドセット、ちょっとお高いキーボードとマウスなど)を入れて、30万位。
「えー?普通にDELLとかで買って足せば良いじゃん」って?いやいや、電源やM/B RAID、Core i7の選択などは、自作だからこそ出来る小技だし、それが後になって効いて来ます。
って、おれは、増田に何を書いてるんだろーか。。w