OpenCLプログラミング#1

■ このスレッドは過去ログ倉庫に格納されています
1a36 ◆K0BqlCB3.k
垢版 |
2008/12/10(水) 15:38:25
さてついにOpenCLの仕様が公開されました。

http://www.khronos.org/opencl/

公式ページにはAPIのヘッダファイルが公開されており、
まだ実際に動かす事はできないもののプログラミングすることは可能となっています。
ということで、公開に先んじてプログラミングを始めてしまいましょう。
2009/07/01(水) 17:58:11
>>80
だから今の構造だとCPUでは勝てない分野が3Dポリゴンの描画しかないのw
2009/07/01(水) 17:59:09
>>81
>>GPUでは小回りが利かない部分を管理するのがCPUの得意分野

現状と何も変わらない
2009/07/01(水) 18:03:26
本来ならGPUの機能はCPU内部にあるべきだが、
IBMやINTELはサーバとか大規模計算方面ばかり気にして3Dとかグラフィックとかを軽視していたから、
見るに見かねた人がGPUなんてものを作ったんだよね。
2009/07/01(水) 18:04:59
GPUって、本質的に見たらやってることはCPUと変わらないのに、
CPUとバスを経由して通信している分無駄があるんだよね。
だから将来的にGPUはCPUに飲み込まれるのが健全だと思うね。
2009/07/01(水) 18:11:33
行列積とか倍精度でもGPUの方が速いだろ。
2009/07/01(水) 18:23:10
>>86
そういう処理をするCPUの命令の一つにしてしまえば良い。
2009/07/01(水) 18:44:55
>>86
だから計算対象のデータをGPU側に引き渡してる間にCPUで計算出来るっつー話だわな
2009/07/01(水) 18:47:34
>>88
いや、まぁ実際にそういうことが多いわけだけど、俺が言いたいのそうじゃなくて、
GPUをCPUに統合するのが健全だと言っているだけであって・・
夢見がちな俺の願望でしかないわけだが。
2009/07/01(水) 21:55:32
>>89
今その方向に向かっているな。
AMDそのためにATIを買ったんだし、GPU専業のNvidiaは焦っている。
2009/07/01(水) 22:00:36
ハードだけ買ってもOpenCLはじめソフトがgdgd
このままだとIntel最強ってゆー何時もの結論で終了する
2009/07/02(木) 01:07:12
マカーとして言わせてもらえばQuickTimeとAdobe CSくらいが対応してくれれば対応アプリとしては十分な気がするんだよな
OpenCLが一番活用できそうなのって結局画像動画関連だし
それにCoreImageやCoreVideoがCPUでも動いたようにOpenCLもCPU上で動かせるから未来がどっちに転んでも技術としては問題ないと思う
2009/07/02(木) 01:20:12
夜のお供に漫画ビューアにもな。
2009/07/02(木) 10:11:18
画像ビューアはCPUで処理したほうが速いだろ

>>89
Intel Larrabee というGPUは Pentium MMX というCPUに
GPU用のベクタプロセッサを沢山積んだモノになるよ。

で、そこで培った技術で後々 CPU 命令に GPU 命令が内蔵される。

>>92
Adobe CS4 はすでに CUDA や ATI Stream に対応しているから
下位互換でしかない OpenCL に対応する意味は余り無い。
2009/07/02(木) 12:51:12
DCのデモでも、CPUより早く動かすの苦労してたよ。
データ数が半端無く多くないとCPUを上回れない。
96デフォルトの名無しさん
垢版 |
2009/07/02(木) 12:56:37
茸の左をひょいひょい躱した粟生と
リナレスの鬼速ジャブ…

この対決は興味深いぜ
2009/07/02(木) 16:12:28
CPUとは別に画像処理などに有用なコプロセッサが1つ
PCやMacで眠っているからそれも使おうって方向でいい。
2009/07/02(木) 19:12:15
昔はコプロって別売りだったな。
2009/07/02(木) 20:12:40
GPUの得意分野は浮動小数点数のベクタ演算だからなおさらコプロちっく
2009/07/02(木) 20:52:46
Larrabeeって次世代の8087って位置づけなんだろうな
2009/07/03(金) 02:14:02
数年後にはCPUに統合されるのがわかりきっているけどな
2009/07/03(金) 02:15:26
そのさらに数年後には独立されるだろう
2009/07/03(金) 02:58:35
CPUだけじゃ最先端3Dレンダリングを処理しきれないwって理由で、か
2009/07/03(金) 04:19:19
画期的なメモリバス技術でも開発されれば統合プロセッサのまま進化を続けるんじゃないかな
2009/07/03(金) 06:38:34
ワイドテレビでこんなに広く!→縦が伸びてこんなに広く!→ワイドになって(ry
2009/07/03(金) 22:50:21
CPUはある意味CELLの行く道が正しかったのか?
2009/07/03(金) 22:56:22
>>105
ますます家が狭くなるがな
2009/07/04(土) 15:37:52
OpenCL自体は普通にマルチスレッドのフレームワークに使えるから期待してるんだけど
出来ればクラスタリングとかにも対応して欲しいが
2009/07/04(土) 17:43:55
OpenCL って Direct3D のシェーダ言語同様にドライバによる
インタプリタだと認識しているけど並列計算のフレームワークとして使えるの?

OpenMP や Grand Central Dispatch じゃダメなのだろうか
2009/07/04(土) 18:47:02
演算シェーダ相当の抽象化レイヤと考えて問題ないよ
汎用的な並列計算はOpenMPやGCDの方が適切。そのままマルチコアCPUをターゲットにした方がいい
OpenCL適用できる分野は「並列計算」の中のさらに「GPUに適した」特殊なアルゴリズム分野になる
とにかくデータを小さなブロックに小分けして、延々と同じ処理繰り返すようなの
2009/07/04(土) 19:29:33
標準化されてることに意味がある
2009/08/06(木) 17:03:14
AMD、業界初のx86 CPU対応OpenCLソフト開発プラットフォームを無償提供
ttp://pc.watch.impress.co.jp/docs/news/20090806_307447.html

米AMDは5日(現地時間)、ATI Stream SDK v2.0 Beta Programの一環として、
新たに「OpenCL for CPU Beta」を無償で提供開始すると発表した。

x86 CPUに対応する業界初のOpenCLソフト開発プラットフォーム。
これを利用することにより、GPUとマルチコアCPUの両方を活用した並列プログラムの開発が容易になるという。

OpenCLは、Khronos Groupが提供するパラレルコンピューティング用オープンスタンダード。
同グループにはNVIDIA、Intel、Appleなども加盟している。

2009/08/07(金) 13:07:44
やっと動きが
2009/08/08(土) 11:10:40
これRADONには対応しとらんのん?
2009/08/08(土) 11:13:29
ラドン…だと?新手の北朝鮮ミサイルか?
2009/08/08(土) 12:03:20
恐竜だろ
2009/08/08(土) 15:02:36
風呂かとおもった
2009/08/08(土) 19:53:25
サンプル動かしてもGPU全然関係ないな(´・ω・`)
ATI StreamなのになんでCPUだけなんだよ
2009/08/08(土) 22:02:49
AMDの対応がまだなんじゃね。
2009/08/08(土) 23:16:43
ていうか Radeon の OpenCL ランタイムドライバが出来ていないとか?
2009/08/11(火) 09:48:44
CPU対応は優先度が一番高いんだろう
GPUはチップ毎に対応しないといけないし

CPUとGPUの比較をしたり両方使って同時処理するのにも必要
2009/08/15(土) 07:49:11
俺予想
OpenCLが動くということはnVidiaと同じ土俵でパフォーマンスが比較できるようになる。
現行のRADEONだとOpenCLでパフォーマンスが出ない。
nVidiaと比較されるのがいやなので今はドライバを出さずに
次のGPU(OpenCL向け機能拡張入り)を出すタイミングでドライバを出す。
2009/08/15(土) 19:05:49
>>122
萩原Obj-C(1.0のやつ)をみながらやっているもので。
Tiger使っているので2.0へはまだいけない。
2009/08/15(土) 19:07:04
ごめん間違えた。
2009/08/17(月) 10:37:46
>>122
DX11 Compute Shaderなら(機能は限定されるだろうけど)DX10以降のGPUで動くよ
2009/08/18(火) 00:53:33
はやくCLとDX10こねーかなー
2009/08/18(火) 00:54:40
11だった どんだけwktkして待ってるとおもってんだ
2009/08/24(月) 13:36:00
http://pc.watch.impress.co.jp/docs/news/20090824_310402.html
先にDirectComputeの方がきちまった
2009/08/25(火) 01:30:39
AMD DX11 Cypress is Radeon HD 5870 & HD 5850
ttp://vr-zone.com/articles/-rumour-amd-dx11-cypress-is-radeon-hd-5870--hd-5850/7469.html?doc=7469

・1GB GDDR5 memory
・ATI Eyefinity technology with support for up to three displays
・ATI Stream technology,
・Designed for DirectCompute 5.0 and OpenCL
・Accelerated Video Transcoding (AVT)
・Compliant with DirectX 11 and earlier revisions
・Supports OpenGL 3.1
・ATI CrossFireX multi-GPU support for highly scalable performance6
・ATI Avivo HD video and display technology
・Dynamic power management with ATI PowerPlay? technology
・DL-DVI, DL-DVI, DisplayPort, HDMI
・PCI Express 2.0 support
2009/08/25(火) 07:51:29
AMDの場合、1月頃に出したGPUにも"OpenCL ready"ってスペック表にあったんだよな・・・(遠い目)
2009/08/25(火) 07:54:26
実際出してもまともに動かないATI
2009/08/25(火) 11:24:47
Snow Leopard(10.6)が28日に出るらしいぞ。
技術仕様の中に
「OpenCL
以下のグラフィックカードまたはグラフィックプロセッサのうち、いずれかひとつが必要です。
# ATI Radeon 4850、Radeon 4870」
ってあったから、こっち優先して他のは後回しにされてんじゃね?
2009/08/25(火) 11:52:01
AMDのOpenCL入門記事「Introductory Tutorial to OpenCL」
ttp://developer.amd.com/gpu/ATIStreamSDK/pages/TutorialOpenCL.aspx
2009/08/25(火) 21:19:55
>>132
ないない。
ATIのMac版は常に後。再生支援すらまともじゃない笑えない現実がある。
2009/08/25(火) 21:55:12
再生支援とは別としてOpenCLは力を入れてくるんじゃないか
2009/08/26(水) 08:51:22
>>135
ATIのOpenCL対応GPUが>>132の二つだけということからも極めて怪しい。
2009/08/26(水) 23:19:23
? よくわからんが後回しどころか4800シリーズの二つは既に対応してるんだよな?
2009/08/27(木) 00:17:44
後一両日中には分かることさ
2009/08/27(木) 11:05:51
>>137
nVidiaに比べてしょぼしょぼ。

http://netkas.org/?p=164
>Radeond OpenCL support is very poor, only few of many apple’s opencl
>demo run on it
2009/08/28(金) 20:25:46
だれかOSXで試してみたやつおる?
2009/08/29(土) 07:02:33
OSXでOpenCL使っているアプリが無い
2009/08/29(土) 08:49:38
ATIは宣伝文句ばっかりでやることはごみ
まさかこんな最新技術を扱うスレでRADEONなんて買ってる情弱はいないと思うが
2009/08/29(土) 10:25:26
>>141
そっちは今からじゃね?
次のiLife系列で対応してきそうだし
2009/08/29(土) 14:00:11
QTXがたいおうしていなかったっけ?
2009/09/05(土) 03:48:17
対応したところで現在のところ95%のMacに載ってるGPUは使い物にならない性能
Mac ProですらGT120 (9500GT相当) だからな
2009/09/11(金) 08:23:44
>ATI StreamSDK 2.0 beta(Windows, CPU 利用)の
>OpenCL 実装だと、8 秒近くもかかってとてつもなく遅い!
>(SnowLeopard だと 0.0001 秒なのに…)
http://lucille.atso-net.jp/blog/?p=907

そもそもAMDの実装が糞という話が・・・
2009/09/12(土) 22:51:30
>>146
世に出すってレベルじゃねーな。何かの間違いだとは思うが。
148デフォルトの名無しさん
垢版 |
2009/09/13(日) 02:25:23
つ AMD StreamSDK v.20 「ベータ」
2009/09/13(日) 10:34:43
1.0すらβな件

αの間違いじゃねーのか?w
2009/09/13(日) 14:21:31
γはまだ〜?
2009/09/13(日) 18:38:32
>>146
OpenCLって単に実行ファイルを一つにできるというだけで
結局各社のCPUなりGPUなりの特性にあったコードを別々に書かなくちゃ性能出ないの?
2009/09/13(日) 22:39:40
うん
CPUでも性能出そうと思ったら、CPUごとに最適化しないと駄目だし、しょうがないんじゃね
2009/09/13(日) 22:44:14
曲がりなりにもC/C++が使えるCellがあんなことになってたりするけど
ハードウェアの特性の違いまでは言語・フレームワークで吸収できるものではありません。
OpenCLの実態も、まあお察し下さい。
2009/09/13(日) 22:47:13
あと、Appleの実装はともかくAppleの力の及ばないWindowsやLinuxまで
NVIDIAとATIのOpenCLコードにバイナリレベルの互換性があるとは限らないぞ
OpenGLが各社独自拡張によってカオスなことになってるようにね。
2009/09/13(日) 22:51:24
OpenCLの互換性はソースレベルだろ。
それも最低限の仕様だけを使ったものなら
どれでも動くというレベル

ハードの特性を取得して、場合わけするなど
OpenGLとほぼ一緒
2009/09/13(日) 23:09:02
それじゃ結局各社が出してるGPGPU環境使ってそれぞれに開発した方が効率よくない・・・?
2009/09/13(日) 23:21:12
それでも同じコードで動くかどうかは重要だよ。
必ずしも全部を最適化する必要なんてないんだし。
2009/09/13(日) 23:57:09
でもカーネルのソース読み込んでオンライン・ビルドってのがなー
この仕様だと製品版でOpenCL対応しましたーって会社でないんじゃないかな??
2009/09/14(月) 10:56:56
とりあえず標準仕様に合わせて書いておけば動くというのは心強いぞ。
現状Intelコンパイラの自動ベクトル化とか糞過ぎるから、今後こういうところで頑張らないと計算分野でGPUに水をあけられる可能性がある。
AMDは…お察し下さい。
2009/09/14(月) 17:57:33
将来のハードの進歩でって投げ技が使えていいんじゃないか?
2009/09/14(月) 21:00:45
>>155
>ハードの特性を取得して、場合わけするなど
そういった特性とか最適化を担っているのがLLVM。

OpenCL→LLVM→
2009/09/14(月) 21:30:32
LLVM(笑)

そりゃそんな物に頼ってるからGPUに対応できないわけだ

LLVMは魔法のソフトじゃない。
未知のアーキテクチャに対応できるのはハードを知り尽くした人間だけだ。
ハード作った人間が対応投げてたら世話無いわ。

2009/09/15(火) 00:12:47
何でもいいからWindowsで動く処理系きてくれー
2009/09/15(火) 00:33:45
何でもいいなら半年ほど前からNVIDIAが出してる
2009/09/15(火) 00:52:23
>>162
> 未知のアーキテクチャに対応できるのはハードを知り尽くした人間だけだ。
> ハード作った人間が対応投げてたら世話無いわ。

あり得ない。コンパイラ技術を知らないアセンブラ人間?
2009/09/15(火) 01:14:34
団子には何言っても主張を曲げないよ
無駄な煽りでスレが荒れるだけ、NG推奨
2009/09/15(火) 01:47:02
両方とも言ってる事がおかしい
2009/09/15(火) 03:56:13
OS X ハッキング! 335 ついに姿を現した「OpenCL」、その実力
http://journal.mycom.co.jp/column/osx/335/index.html
2009/09/16(水) 00:55:52
>>165
コンパイラはどうやってコード吐くんですか?
どの命令とどの命令が並列実行出来るとかって情報は誰が持ってるんですか?

ああ、今時Javaでもx86のJITフレームワーク触れますよ
2009/09/16(水) 01:03:34
オープンソースの力を借りるのはある程度動くものができてからの話よ。
CPUだととんでもなく遅いです、GPUだと動きません、じゃ、話にならないでしょ。
そもそもStream 1.0の正式版を出さないうちに2.0のβ(笑)をでっちあげる神経を疑う。

ハードだけ出してソフト丸投げでは、どっかのCell(笑)と同じじゃないの。
それより更に悪い。
2009/09/16(水) 08:56:27
OpenCLもOSS化されたGrand Central Dispatch(Cへのブロック追加+OSでの対応+LLVM/Clang)も、
LLVM/Clangが鍵になってるけど、これは言語に対する低レベルなVMであって、
別にJavaなんかと同一視してVMだからどうこうと言っても理解できないかも。

因みにNvidiaもOpenCl実装にLLVM/Clangを利用してるし(今後その実装で続くのかは不明)、
GPU非依存化にはこういう仕組みは不可欠じゃね。
172デフォルトの名無しさん
垢版 |
2009/09/16(水) 11:02:06
中間コードに落とし込むまではどうでもいいんだよ
実際にターゲットハードウェアで走るコード生成機
GNU開発ツールでいうところのbinutilsみたいなのは
ハードごとに用意しないといけない

それすら満足に作らないまま大風呂敷だけ広げてるから
馬鹿にされるんだって
2009/09/17(木) 01:35:08
はあ?
2009/09/17(木) 01:41:05
はぁ・・・
2009/09/18(金) 00:20:38
はぁ…っ
2009/09/19(土) 00:31:25
物分りが悪すぎるぞ
お前のパソコンでLLVMが動くのはLLVMにx86のコードジェネレータが組み込まれてるからであって
コードジェネレータが用意されてなければ動かしようが無い。

コードジェネレータが用意されて無いなら、0からでもそれを作らないと話にならんのよ。
AMDは用意して無い。
だからGPUで動かない。
当然の話だ。
2009/09/19(土) 00:39:22
してないの?
Q3中にGPU対応バージョン公開
Q4に正式版公開と公言しているのに。
2009/09/19(土) 03:27:54
当然もなにも、当たり前過ぎて。
2009/09/19(土) 09:38:17
この馬鹿は俺らを笑い殺すつもりか?
2009/09/23(水) 08:36:49
つまりベンダーは OpenCL ランタイムが載ったドライバ開発を急げと?
2009/09/24(木) 12:51:14
GPUメーカーに作らせたものなど性能を良く見せるためにCPUが遅くなるように細工してるに決まってるだろ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況