1read 100read
2013年02月プログラム212: OpenCLプログラミング#1 (684)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
monazilla Part 6 (695)
【消しゴム】MONOを使ってみるスレ4【じゃない】 (323)
【上流社会】MSDNサブスクリプション総合【最先端】 (646)
くだすれPython(超初心者用) その16 (341)
GPGPU#5 (276)
Message Passing Interface (MPI) 統合スレ (506)
OpenCLプログラミング#1
1 :2008/12/10 〜 最終レス :2013/02/07 さてついにOpenCLの仕様が公開されました。 http://www.khronos.org/opencl/ 公式ページにはAPIのヘッダファイルが公開されており、 まだ実際に動かす事はできないもののプログラミングすることは可能となっています。 ということで、公開に先んじてプログラミングを始めてしまいましょう。
2 : ひとまずwgetじゃなくて2get Mac界隈ではCore Imageみたいにかなり使われそうだけど他のプラットフォームではどうなるかな?
3 : 仕様策定にあたり、国内メーカはほとんどなし? NやFなどのスパコンメーカは入っていてもよさそうなのに…
4 : イマイチだなこりゃ 極一部で流行って終了の予感
5 : >>2 まだGPGPUでどんな事ができるのか模索している段階ですので、 キラーアプリが早い段階で出てこないとOpenCLを標準化するのは 難しくなっていくと思います。 Microsoftや他の団体が別の標準を作ってしまってからでは OpenGLとDirectXのような亀裂を生んでしまうでしょう。
6 : とりあえず、仕様書の翻訳を始めるために許可とってきます。
7 : SpursEngineが対応しそう。 ttp://www.watch.impress.co.jp/akiba/hotline/20081206/etc_toshibaev0.html
8 : >汎用API「Open CL」への対応も「好きな奴がいて、 >仕事の合間にやっている」(同氏)とのこと。これが実現すると、 >「同じプログラムがCPUでもGPUでもSpursでも動く」 >という環境になるが、進行状況については「上司からお金が >もらえなくても、コツコツと(笑」なのだとか。 期待できるのかなw
9 : 金出してやれよ
10 : Pixelmatorとか対応しそうじゃないか? したらPhotoshopを超える最強アプリになる予感。
11 : いまいち分からん。 CUDAとOpenCLって何が違うんだ? 誰か詳しい人説明頼む。 http://www.nvidia.com/object/io_1228825271885.html
12 : 簡単に言うと、NVIDIAが独自にGPU用に作ったのがCUDAで、 GPU以外のデバイスも視野に入れられて作られようとしているのがOpenCL。
13 : 寿命短そうだな
14 : >12 thx GPU以外ってことはLarrabee(これでスペルあってる?)や>>7 の言うようにCellか?
15 : 想像だけど、ClearCaseやTerareconのようなデバイスメーカも対応せざるを得なくなるかもね。 CPUでも実装可能だし、当然ララビーも対応してくるんじゃない?
16 : iPhoneの例のスレと似たふいんき・・・何なの
17 : ■Khronos Group発表ニュースリリースの抄訳 http://www.khronos.org/news/articles/20081209-OpenCL-1-0-jp.pdf ■OpenCL 1.0 仕様書(英語) http://www.khronos.org/registry/cl/specs/opencl-1.0.29.pdf ■cl.h - OpenCL 1.0 ヘッダファイル http://www.khronos.org/registry/cl/api/1.0/cl.h ■cl_gl.h - OpenCL 1.0 OpenGLインテグレーションヘッダファイル http://www.khronos.org/registry/cl/api/1.0/cl_gl.h ■cl_platform.h - OpenCL 1.0 環境依存マクロ http://www.khronos.org/registry/cl/api/1.0/cl_platform.h ※まだ OpenCL 1.0 ツールキットはリリースされていません
18 : さらっとサンプルソース見たけど clCreateProgramWithSourceに渡すのはソースのテキストそのままだけど、 clCreateProgramWithBinaryに渡すバイナリって何だろ、 そのバイナリってデバイス間で互換性あんの?
19 : CUDA向けに書いて少しいじればOpenCLでも動くのかな? http://www.appleinsider.com/articles/08/12/10/nvidia_pioneering_opencl_support_on_top_of_cuda.html
20 : 少々スレ違いだけどKhnoros Groupって他の標準化もやってたのか。 OpenVG(オープンなベクターグラフィックスAPI) http://journal.mycom.co.jp/news/2008/12/10/073/index.html
21 : なんなのこのふざけた名前
22 : >>14 重箱隅ですがspursはCell規格じゃないですよ。PPEねーし。 PS3以外のCellにOpenRゃらみたいな標準規格って需要あんのかな? IBMのCellスパコンとかは、素人目には専門家がカリカリチューニングしてそうな印象あるし OpenGL以外におけるKhronosをどこまで信用して良いのかもいまいち。 COLLADAとか半端仕事な印象拭えないんだよな……。使ってるとこは使ってんだろか?
23 : >>22 PS3 みたいなガチガチに決まってる奴にこそ不要だろ。 例えばこういうの http://www.hirax.net/dekirukana8/bijin2/ こそ、OpenCL的なものが実力を発揮しやすい。 で、この機能がDVカムとかに普及したとしよう。 OpenCL で実装しておけば、次のバージョンの製品の該当部分を、OpenCL 対応の別のチップに変更することも出来る。Cell から nVidia へというように。 これは一例だが、要するに標準規格への需要はある。 だけど、汎用性は効率とのトレードオフでもあるし、ネガティブな要素を数え上げればきりがない。 現段階で普及するかどうかを予測するのは無意味に近いが、今なら先行者利益に預かれるかも知れない。
24 : 組み込み関連の所が多いって所にやっぱメディア系の家電とかへの需要が期待されてるのかね 車載とか携帯電話もありうるのかな
25 : >>24 ありうるけど、まだ高価すぎる。 PIC や DSP なみにコモディティ化したら、みんなが使うだろう。 組み込みにとっては、CUDA か CL かというのは、次かその次の世代の話だろう。 ま、現場はアレもコレも知っとかないとねw
26 : これれは今出てるiPhoneでも使えるのかね
27 : >>26 ARMはSIMDらしいよな。 Appleがやってくれるかもしれん。
28 : DsPICってのも有るし、しかも最近clockがどんどん上がってる。 このPICに載ってるDSPの数が増えたら8bitのGPGPUって感じじゃね?
29 : dsPIC m9(^Д^)プギャーーーッ
30 : なんでこのスレでdsPICの名前が CLで叩く意味はちょっと見出せないw
31 : これは楽しみだわ
32 : spec読んだけどcudaに毛が生えたようなもんだね メモリ階層もモデル化したと言うけど、ほぼ現行のGPUが前提。 興味なくなった。
33 : 1.0だからな・・・ Intel VTと同じで2.0からが本気なんだよwww
34 : Open CLって結局なんなんだよ
35 : http://journal.mycom.co.jp/column/osx/305/index.html
36 : 2009年,本格始動するGPGPUの世界・後編〜GPGPUのプラットフォーム動向 http://www.4gamer.net/games/076/G007660/20090206031/
37 : >>32 >OpenCLについて,「Direct3DにおけるDirectX Compute Shaderのようなもの?」 >というイメージを抱くかもしれないが,コンセプトや実現様式が微妙に違う。 > >最大の違いは,OpenCLが,GPUだけを対象としているわけではないということだ。 >x86プロセッサやCellプロセッサといったCPU,あるいは DSP(Digital Signal Processor) >のようなメディアプロセッサなどのプログラミングに対応するコンセプトを持っており, >GPUに特化したDirectX Compute Shaderとは似て非なるものだといえる。
38 : >>37 大丈夫、DSPがOpenCLに対応する可能性は限りなく低いから。 まして、x86プロセッサでOpenCL対応するくらいならCt使う方が遥かにまし。
39 : つーかOpenCLってとりあえずMac用でしょ
40 : なんで?
41 : OpenCLの規格化作業を猛烈に推し進めたのがアップルだから
42 : だからMac用? どうして?
43 : >>38 なんか理解できてないようだけど、 こいつの価値は並列処理にあると思う。 要するに今までのGPGPUは、GPUによる高速化 というのがメインだったけど、OpenCLの場合は、 CPUとGPUで並列処理が可能になる。 元々はAppleとNVIDIAが協力して、CUDAを基礎に した(と思われる)ものを、さらに標準化の過程で より汎用性を重視して、GPUに依存しないよう設計 にしたものがOpenCL。
44 : >>42 大丈夫、Mac専用じゃないよ。 Appleが規格の孤立化を避けるのが目的だと思うけど、 最初からオープン標準化にこだわって作られた規格。 規格の策定作業のメンバーにはIntelやAMD、NVIDIA、 ソニーなど、MSを除く主要企業は全て参加しているし、 OpenGL(ES)との連携やスマートフォンへの対応もあるし、 これから先、携帯端末全盛の時代の最有力候補でもある。
45 : >>44 あんたに聞いてないんだよ
46 : >>45 あうごめんwでも答えちゃうよ? Mac OS X Snow Leopardに実装されるのがOpenCLで、 Windows7/vistaに実装されるのがDirectX Compute Shader。 どちらのGPGPU技術もまあ競合するものだわさ。 スマートフォンへの実装は別にして、DirectX系技術はWindows限定だし、 OpenCLにはオープンな技術というメリットがある。ただし、Windowsが市場を ほぼ独占してるPC業界にとって、有力なのはやはりDirectX Compute Shader の方になる。だから当面、OpenCLの主要プラットフォームがとりあえず Macなのは致し方ない現実、という考え方じゃないのかな? もちろんマルチプラットフォーム化を重視して、Windows環境下でも OpenCLを採用する企業も当然存在するとは思うけど。
47 : >>46 お前の意見なんてどうでもいい マジで黙ってろクソ野郎
48 : >>47 あうごめんwでも答えちゃったよ?
49 : で、まだかね?
50 : マルチコア動作版くらいそろそろ出せよ ガオー
51 : てかDirectXは独自に実装するみたいだが MSは意地でも標準化を妨害したいらしいw
52 : 妨害つーか、OpenCLはOpenGLとは連携するが Direct3Dとは連携しないので、MSが自前で作るしかない。
53 : MSはどっちかっていうとマルチCore CPUをグラフィックに活かそうとしているよね。 逆。
54 : >>52 MSはCompute Shaderを準備中。
55 : 言語はC99ベースだからいいかと思ったけど、再帰が使えないのは痛いな。 Cで書いてコンパイルしたバイナリと、OpenCLで書いてコンパイルしたバイナリを リンクできればいいな。
56 : .objが中間コード的なものだったら出来たかもね。
57 : 再帰なんていらね
58 : 並列化しやすい問題で結構使うぞ、再帰探索は こっち方面はIntelに期待するしかないかもね
59 : 時間とメモリの使用量が不定になるからねぇ。 OpenCLの主戦場を考えるとどうなんでしょうか。
60 : 再帰するようなアルゴリズムの場合、命令ポインタの動きに一意性がないし 決してデータレベル並列ではないんだよな。 SIMDでは命令ポインタが要素ごとに独立、というわけにはいかない。 プレディケートをやるのは逆に言うと自由に分岐ができないことの現れだし。
61 : ほしゅ
62 : まだ?
63 : >>55 残念だが OpenCL C は Java や .NET のような中間コードで OS 上のドライバがリアルタイム翻訳するからリンクは無理。 だが OpenCL を利用する本体は何でもいいから C や C++、Objective-C なんかで再帰検索すればいい。
64 : 企画書ってどこで読めるの?
65 : >>64 OpenCL 1.0 仕様書 ttp://www.khronos.org/registry/cl/specs/opencl-1.0.43.pdf
66 : Appleが用意したOpenCLの技術解説のpdfのリンク貼っとく http://images.apple.com/macosx/technology/docs/OpenCL_TB_brief_20090608.pdf
67 : OpenCLのCPU動作版って公式で作るのか? それとも誰か作ってる人が居る?
68 : Intel か Apple が CPU 用 OpenCL ドライバを作成すれば問題ない。 Windows や Linux の他社 OS や AMD などの他社 CPU などで動作するドライバは やっぱり公式待ちかな。 個人で Java VM や GPU Direct3D/OpenGL ドライバを 作ってしまえる人が興味を持ってくれたら話は別だけど。
69 : スノレパにはCPU用ドライバが付いてくるでしょ GPUよりも数十倍から100倍以上は処理が遅いCPUで Open CLを動かす価値が有るかはわからないけれど
70 : >GPUよりも数十倍から100倍以上は処理が遅いCPU という夢を見ている
71 : Core 2 Quad QX9775: 102.4 GFLOPS Radeon HD4870:1.2 TFLOPS(1200 GFLOPS) 一桁余分だな。
72 : このスレで言うのもなんだが並列処理って知ってる?
73 : CPU と GPU を並列に走らせて 10 が 11 になるよりも、 その1をUIやGPUが苦手な処理を与えたほうがいいんじゃね? マルチタスク(プロセス)的にも CPU は空けておきたいかも
74 : CPUよりGPUのが早いってことになってるけど それは実は大嘘でちゃんとマルチコアで作りこんだらスピードは大差ない GPUメーカー製のドライバはCPUでも動くような振りだけは実装するだろうけど 絶対にまともな実装はしない、ばれるから だからちゃんとしたCPUメーカーか第三者が作ったものが必要
75 : >>71 それは理論的な演算速度だけだとそうだけど メインメモリからデータを取り出して結果を戻すのに要する時間で計算すると 遥かにCPUの方が早い
76 : 結局ワークロード次第なのだがGPUが明らかに速い分野なんて非常に限定的で馬鹿にされまくっているのが実情 GPGPUは過去のEPICと被るな
77 : >>74 なんでGPUメーカーがCPU用ドライバを作るんだよ。 DirectXですらCPU用ドライバはMSが作ってるんだぜ? >>75 特定分野に関してならメモリアクセスは速いでしょ。 じゃないと3Dレンダリングが使い物にならないものになる。 結局プログラマがどれだけ局所化を行えるかだろうね
78 : >>77 3Dは転送する情報量は頂点座標だけなんだからCPUより早いのは当たり前でしょ CPUのネックはメモリ転送速度だって言ってるでしょ 大量のデータを計算するような用途ではどんな工夫をしようがCPUには勝てない
79 : しかも分散処理する部分は複雑に作りこんでないから 計算してる間は描画が止まるからな 計算してる間は文句なしに画面描画が止まる CPUだと計算負荷に応じて外も動くけど
80 : >>78 だからそのCPUでは勝てない分野でGPUを有効活用しようっていうのがGPGPUでしょ 映像のエンコードしかり、ゲノムの解析しかり超大量のデータ処理を肩代わりしたり、 またはAIなどの人工知能やMSのProject Natalみたいなものを実現するため、とか
81 : >>79 だからGPUの仮想化とかマルチタスク処理とかがあるんでしょう 3Dゲームとかでもない限り 1/60 秒毎に画面描画を 挟むのはたいした負荷でもないレベルだし。 GPUでは小回りが利かない部分を管理するのがCPUの得意分野
82 : >>80 だから今の構造だとCPUでは勝てない分野が3Dポリゴンの描画しかないのw
83 : >>81 >>GPUでは小回りが利かない部分を管理するのがCPUの得意分野 現状と何も変わらない
84 : 本来ならGPUの機能はCPU内部にあるべきだが、 IBMやINTELはサーバとか大規模計算方面ばかり気にして3Dとかグラフィックとかを軽視していたから、 見るに見かねた人がGPUなんてものを作ったんだよね。
85 : GPUって、本質的に見たらやってることはCPUと変わらないのに、 CPUとバスを経由して通信している分無駄があるんだよね。 だから将来的にGPUはCPUに飲み込まれるのが健全だと思うね。
86 : 行列積とか倍精度でもGPUの方が速いだろ。
87 : >>86 そういう処理をするCPUの命令の一つにしてしまえば良い。
88 : >>86 だから計算対象のデータをGPU側に引き渡してる間にCPUで計算出来るっつー話だわな
89 : >>88 いや、まぁ実際にそういうことが多いわけだけど、俺が言いたいのそうじゃなくて、 GPUをCPUに統合するのが健全だと言っているだけであって・・ 夢見がちな俺の願望でしかないわけだが。
90 : >>89 今その方向に向かっているな。 AMDそのためにATIを買ったんだし、GPU専業のNvidiaは焦っている。
91 : ハードだけ買ってもOpenCLはじめソフトがgdgd このままだとIntel最強ってゆー何時もの結論で終了する
92 : マカーとして言わせてもらえばQuickTimeとAdobe CSくらいが対応してくれれば対応アプリとしては十分な気がするんだよな OpenCLが一番活用できそうなのって結局画像動画関連だし それにCoreImageやCoreVideoがCPUでも動いたようにOpenCLもCPU上で動かせるから未来がどっちに転んでも技術としては問題ないと思う
93 : 夜のお供に漫画ビューアにもな。
94 : 画像ビューアはCPUで処理したほうが速いだろ >>89 Intel Larrabee というGPUは Pentium MMX というCPUに GPU用のベクタプロセッサを沢山積んだモノになるよ。 で、そこで培った技術で後々 CPU 命令に GPU 命令が内蔵される。 >>92 Adobe CS4 はすでに CUDA や ATI Stream に対応しているから 下位互換でしかない OpenCL に対応する意味は余り無い。
95 : DCのデモでも、CPUより早く動かすの苦労してたよ。 データ数が半端無く多くないとCPUを上回れない。
96 : 茸の左をひょいひょい躱した粟生と リナレスの鬼速ジャブ… この対決は興味深いぜ
97 : CPUとは別に画像処理などに有用なコプロセッサが1つ PCやMacで眠っているからそれも使おうって方向でいい。
98 : 昔はコプロって別売りだったな。
99 : GPUの得意分野は浮動小数点数のベクタ演算だからなおさらコプロちっく
100read 1read
1read 100read TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▲
やってて楽しいプログラミング言語は? 3言語 (968)
Androidプログラミング質問スレ Part29 (360)
C#, C♯, C#相談室 Part78 (491)
文字コードの種類は何故複数あるのでしょうか? (346)
Message Passing Interface (MPI) 統合スレ (506)
SSE AVXのプログラミング (744)
--log9.info------------------
マイキュー欲しいんですが・・・ (980)
【ブルー】タッププレスについて語るスレ【一枚革】 (726)
【【【芸能人・有名人で球撞くヤシっている?】】】 (889)
愛媛のビリヤード事情 (601)
○● NHK趣味悠々・ダーツ&ビリヤード入門 ○● (323)
オレのホームのここがイヤ (640)
自分のキューを披露するスレ (248)
IDに数字が出たら貯金してキュー買おうぜ【6本目】 (490)
【良い所】cognoscenti【悪い所】 (578)
9ボールってコンビやっちゃダメなの!? (625)
【聖域】上級者専用技術スレッド【Road to SA】 (395)
熊本県のビリヤード事情 (769)
【祝異動!】新ネタ系雑談スレ【他では語れない】 (409)
鹿児島のビリヤード事情 (223)
横浜・横須賀のビリヤード事情 (563)
【最強】 ランブロス LAMBROS 【最高】 (367)
--log55.com------------------
steamの面白くて安いゲーム教えて Part117
【LoL】League of Legends その1369【総合】
【世紀末村作り】Kenshi 【40スレ目】
Hearthstone Part1327
【Paradox】Stellaris ステラリス 100【Paradox】
【PoE】Path of Exile Part 176
Hearthstone Part1328
Hearthstone Part1329