OpenCLプログラミング#1

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

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

公式ページにはAPIのヘッダファイルが公開されており、
まだ実際に動かす事はできないもののプログラミングすることは可能となっています。
ということで、公開に先んじてプログラミングを始めてしまいましょう。
2009/09/24(木) 17:48:12
細工っていうか手を抜く
2009/09/25(金) 10:43:31
Khronos groupのOpenCL公式フォーラム
http://www.khronos.org/message_boards/viewforum.php?f=28
184デフォルトの名無しさん
垢版 |
2009/09/29(火) 21:30:53
OpenCL Download Page
http://developer.nvidia.com/object/opencl-download.htm
2009/09/29(火) 23:02:32
>>184
CUDAより数倍遅いんだけど
2009/09/29(火) 23:03:22
俺に言われてもしらんがな
2009/09/29(火) 23:05:19
と思ったがN-Bodyのパーティクル数が違っただけだった
2009/09/30(水) 01:07:29
SDKぶっこんでみたら、DirectCompute用も入ってた
2009/09/30(水) 06:28:55
今OpenCLに対応してるのはヌビディアだけか
2009/09/30(水) 07:41:20
まあいつも通りの事だ
AMDは毎回ポーズだけ
2009/09/30(水) 12:47:44
openclって標準化されてるとはいうけど
NVIDIAでコンパイルしたバイナリをCPUやATIで動かせるようになるんかな?
それぞれ別々にバイナリを作って配布することになるんかな?
2009/09/30(水) 13:41:09
>>191
デバイス毎に定数を調整するとか実装を調整するとか必要になる希ガス。
なので、仮に一つのバイナリだとしても中身は別物になりそう。
2009/09/30(水) 20:31:44
>>191
だから無理だって
2009/09/30(水) 23:24:46
>>191
バイナリファイルにコンパイルできるのか
ずっとHLSLみたいに実行時コンパイルだと思っていた
2009/10/01(木) 00:23:16
>>194
どうもそうらしい
2009/10/01(木) 01:06:26
バイナリ状態でロードして実行も出来るし、実行環境で実行直前にコンパイルすることもできるよ。
2009/10/01(木) 10:06:41
>>196
そのバイナリってのは中間コードみたいなものなの?
それともハードウェア依存の完全なバイナリなの?
2009/10/01(木) 21:15:46
EarFluid: Experimental QC OpenCL iTunes visualizer
ttp://www.mutantquartz.com/?p=40
2009/10/01(木) 23:39:11
>>197
バイナリはハード依存でしょ。
Nvidiaが内部的に中間コード使ってるらしい?
でも当然AMDと互換性はない。
2009/10/02(金) 10:33:36
CUDAとOpenCL、言語によってパフォーマンスに差は出ますか?
2009/10/02(金) 19:20:28
>>200
現状OpenCLが桁違いに遅い。。。
2009/10/02(金) 21:15:18
>>199
llvmの中間コードを使っているのであれば
ポータブルではない。
2009/10/03(土) 00:38:14
>>200
最終的には同じになる、ってOpenCLプログラミングセミナーでnvidiaの偉い人が言ってた。
2009/10/03(土) 02:31:57
NVIDIAのOpenCLドライバ使ってるんだけど、カーネル実行って同期処理になってない??
キューに入れてから戻るまで時間がかかりすぎで、マルチタスク的な動作が出来ないんですが。。。

>>203曰く、ちゃんと対応されるのかな?
それとも、俺がOpenCLの仕様を読み間違えてるだけ?(汗
2009/10/03(土) 13:40:35
>>198
GeForce9400だと5fpsくらいしか出ないけど面白いね
CPU負荷が全く上がらない
206デフォルトの名無しさん
垢版 |
2009/10/06(火) 11:00:59
OpenCLはサザビーでも使えるの?
2009/10/06(火) 11:25:46
エゴだよそれは
2009/10/08(木) 03:02:00
>>204
内部でCUDAを使ってるだけだろうし原理としてはそうなる
基本的に同期処理が原則
だからカーネル実行は細分化してやらないとだめ
画像を処理するなら1行処理する関数をカーネル化してCPU側でループするみたいな
やりかたじゃないとだめ
209デフォルトの名無しさん
垢版 |
2009/10/10(土) 03:43:44
SDK 2.3b released
OpenCL Download Page
ttp://developer.nvidia.com/object/opencl-download.html
2009/10/10(土) 06:42:05
そのうちオライリーが一冊本を書くんじゃなかろうか
日本語翻訳版が出るかどうかは知らないけど
2009/10/10(土) 11:48:34
CUDAとATI Stream SDKとOpenCLの関係がいまいち分からんけど、
OpenCLの中のオプションとしてCUDAとかATI Stream SDKとか位置づけされるってことなのかな。

今CUDA用に記述してあるソースコードも、OpenCL用にちょこっと書き換えればAMDのGPUでも、
他のOpenCLに対応したGPGPUでも動作するってこと?
2009/10/11(日) 03:22:25
>>208
いやいや、CUDAの動作はそれであってるのけど、それはOpenCLの仕様違反だろ?
それに画像処理するならカーネルループとかあり得ないし。カーネル実行のオーバーヘッドの事を理解していないとしか思えないな。
2009/10/11(日) 10:06:30
OpenCL Tutorial - Shared Memory Kernel Optimization
http://www.macresearch.org/opencl_episode6
OpenCL Tutorials
http://www.macresearch.org/opencl
OpenCL Programming Guide for Mac OS X
http://developer.apple.com/mac/library/documentation/Performance/Conceptual/OpenCL_MacProgGuide/Introduction/Introduction.html
2009/10/11(日) 18:47:07
>>212
物理的にGPUがマルチタスクに対応してないんだからどうしようもないな
オーバーヘッドも含めてGPU処理の性能の限界が現時点でそうなんだからしょうがない
2009/10/19(月) 21:09:31
>>213
思ったんだけど、もろにNVIDIA寄りの内容だよね
2009/10/19(月) 21:58:59
2009 LLVM Developers' Meeting
http://llvm.org/devmtg/2009-10/
↑OpenCLなどApple社員系の情報が非公開なのは残念だが参考に。

http://llvm.org/docs/ReleaseNotes-2.6.html
2009/10/22(木) 01:41:00
>>211
違う。

C と C++ と Java みたいなモンで3つとも同じように
CPU 上で動くが各言語間でソースコードの互換性は……だろ?

CUDA は like C、ATI Stream は Book+、OpenCL は OpenCL C という別言語になる。
プログラマは自分の開発環境などに合わせた好きな言語が選べるってだけだ。
2009/10/22(木) 12:21:11
新iMacのGPUがRadeonなんだが、OpenCLの対応はどうなの?
SDKあるんだっけ?
2009/10/29(木) 23:09:47
なんか在庫買いあさったらしいからこれから最適化進めてくるんじゃない
2009/10/31(土) 11:17:42
誰かこの前、秋葉原で開催されたOpenCLセミナー行った人いる?
いたら、簡単な感想聞きたいです。
2009/11/01(日) 01:05:25
>>220
いったよ
・nVIDIAの人「Fermiアーキテクチャは凄いぞ!」まぁ凄いけどさ。
・FIXSTARSの人のプログラミング入門は参考になったけどあの内容だけだと即書くのはキツイ。
 最後には「ちゃんとやりたい人向けに終日の有料教室やってるよ!」だったしw
・Appleの話はOpenCLじゃなくて殆どCocoaの話…
・Dellは殆ど営業トーク

内容的にはそんなに深くなかったかなー…って感じ。
222デフォルトの名無しさん
垢版 |
2009/11/03(火) 04:42:31
オープンクルとオープングルって何か共通点はあるの?
2009/11/03(火) 08:17:17
釣られないぞとつぶやいたそこのあなた。
既に釣られてますよ。
2009/11/05(木) 12:25:52
OpenCLはCPUのSIMD命令を置き換えられるようなものになるといいな
そのうちCPUにGPUも統合するんだからさ
2009/11/05(木) 19:47:54
バイナリが環境依存なのがなあ。
CUDAみたいに、中間コードがあればいいのに。
2009/11/05(木) 19:57:30
>>220
基本は221の通りだが、フィックスターズの人が1月に本来出すとか言ってた
2009/11/23(月) 18:23:10
ttp://www.alphaworks.ibm.com/tech/opencl
2009/11/23(月) 18:28:39
POWER6とcellもopenCLに対応
2009/11/23(月) 19:06:30
いろいろ対応してくれるのはいいけど、カーネル・ソースが第三者に丸見えなのは何とかならないの?
2009/11/23(月) 23:57:57
暗号化すればいいじゃない
2009/11/24(火) 05:03:17
見られて困るほど複雑なアルゴリズムはカーネルだけじゃ作れないから大丈夫だw
2009/11/27(金) 22:27:11
ATI Streamを落としてきたけどマニュアルないのな。
KronosにはCのはあるけどC++のはないね。
せっかくStreamにC++のサンプルがあって便利そうなのに。
2009/11/27(金) 23:31:48
とりあえず今持ってるコードを

FORTRAN→C→OpenCL C

って感じで進めてみるかなー
2009/11/27(金) 23:35:20
独り言は壁に向かってしてくれ
2009/11/28(土) 17:26:06
(´・ω・`)ショボーン
2009/12/05(土) 23:25:28
最初の世代のLarrabeeは一般には降りてずにHPC専業でいくようだ
たのしみにしてたのに(´・ω・`)
2009/12/13(日) 19:17:07
S3のGPUでOpenCL開発するためのSDKってどこ?
2009/12/17(木) 16:18:02
質問です

OpenCLを使ったプログラムのバイナリはRadeonでもGeForceでも使えますか?
2009/12/17(木) 17:35:20
まずは実際にやる事だ
2009/12/18(金) 00:39:28
ソースでも中間コードでもない、ただのバイナリをなんだと思っているんだ
2009/12/23(水) 20:27:30
フィックスターズから本出るよ
http://www.amazon.co.jp/dp/484432814X
2009/12/23(水) 20:55:25
三木聡しゃちょはんて何処担当してるの?
2009/12/24(木) 20:20:23
>>241
>著者からのコメント
>"The free lunch is over."

そんなこといわれてもな・・・
2009/12/26(土) 01:03:24
>>238
ソースレベルの互換性しかないので、バイナリは非互換。
ただしランタイムにカーネルのソースをコンパイル出来るので、恰もバイナリ互換があるかのようにコーディング出来る。
とはいえ、そうするとCELLみたいに特殊な構造だとパフォーマンスを発揮するようにコードを書くのがたいへんだろうけど。
2009/12/26(土) 13:46:36
Radeonの4650で遊んだ感じでいうとCellのが楽だな
2009/12/28(月) 09:34:55
>>242
そこには触れてやるな。みんなおかしいとは思っているがしゃちょーには逆らえない
2009/12/28(月) 19:37:20
>>245
http://techreport.com/discussions.x/18201
2009/12/30(水) 03:30:14
今年(来年?)はプログラミングコンテスト開かないの?
2010/01/01(金) 10:53:23
うっせー糞して寝ろ
2010/01/05(火) 20:45:23
どっちかっていうと、OpenGL内部のメモリ内容を直接書き換えれるのが大きいな。
描画内容に変更加えて再描画とか、データの高速可視化とか。

個人的にCPUに付加かけずにリアルタイム可視化ができるのがいいな。
2010/01/18(月) 19:22:26
OpenCL並列プログラミングって本が25日に出るみたい。
2010/01/18(月) 22:04:56
しってるしってる、と思ったらフィクスターズのやつとは別か
ソースキボンヌ
2010/01/18(月) 22:14:14
>>252
今日の日経の朝刊1面下の広告
2010/01/18(月) 22:18:22
出版社:カットシステム
著者:池田成樹
http://www.cutt.co.jp
255デフォルトの名無しさん
垢版 |
2010/01/18(月) 22:19:55
JAL株5円まで来たか
いよいよ明日はクライマックス
2010/01/18(月) 23:48:45
うっせー糞して寝ろ
2010/01/19(火) 00:15:14
便秘で出ないっす
2010/01/19(火) 20:00:15
ケツに目薬をさすと便秘が治るという噂を聞いたことがある
2010/01/21(木) 15:08:18
最近GPGPUを始めようと調べ始めたのですが、
cudaとCLの違いって、CUDAはCPU部分もカーネル部分も混在したプログラムを書いてnvccが両者を分離してくれる、
CLはプログラマ自身が最初からCPU用とカーネル用とを分けてプログラムを書く
という認識でよいですか。

カーネルとかグローバルメモリとかの概念はほぼ一緒と考えてよいのでしょうか。
CLの方が拡張言語っぽくないのと共通規格な分気持ちがいいですが、カーネルのコンパイルとか引数設定を明示的にしないといけない分どんくさい感じですね。
2010/01/21(木) 15:14:41
OpenCLはまだまともに動かないからCUDAにしとけ
261250
垢版 |
2010/01/21(木) 18:20:06
cudaとopenclの決定的な違い?

cudaはGPGPU
openclは計算機資源API
GPUに限らず、CPU,(故)Cell/BE,DSPチップ等の演算装置を汎用的な計算機資源として使うためのAPIがCL
GPUを使うならメモリ概念はCUDAとだいたい同じ。

完全にホストプログラムとカーネルプログラムおよび両者間通信を手作業で作らないといけないどんくささ(?)はあるものの
「メインプログラムはホスト実行で,計算機資源だけ別のハードウェアを使う」設計APIなので自由度はかなり高い

ただOpen○○のくせにMac10.6以外はまともに動く環境が少ないとか
JITコンパイルなので実行するまでソースのバグがわからない上に資料がまだ充実してないとか、
けっこうまだまだ問題も多い。
>>260の言う通り今やるならCUDAが良いと思うぞ。
262259
垢版 |
2010/01/21(木) 18:49:08
セルとかララビーとかアムドが本気を出すとか色々可能性があるからCLの方がいいかなと思ってたけど
CUDAの方がいいのかな。
拡張言語ってのが言語仕様的にOpenMPあたりと干渉しそうなのもCLを考えていた要素なんだけど。
2010/01/21(木) 22:57:22
どっちもたいして変わらん どっちもやれ
2010/01/22(金) 18:58:59
OpenMPとOpenCLが干渉?
ホスト管理スケジューリングぐらいじゃねーの?
2010/01/22(金) 23:44:42
radeonでCUDAって出来ないの?
2010/01/23(土) 01:25:03
無理。Stream使え。
でも、技術デモ程度ではなく実用したいならゲフォ使え。
2010/01/23(土) 10:59:33
スレ違い
268デフォルトの名無しさん
垢版 |
2010/01/26(火) 01:24:10
ふぃくすたのOpenCL入門買ったぞ、LinuxでSDKについてきたサンプルコードがコンパイルできなくて死んだ
っていうか普通にアルゴリズムの勉強してからやれクズ
2010/01/26(火) 01:27:54
二行目どういう意味?
2010/01/26(火) 05:29:18
268 said s/he was kuzu.
2010/03/10(水) 22:33:57
>>266
GPGPU目的だと、ATI<nVidiaなの?
2010/03/10(水) 22:52:32
2010/03/11(木) 20:16:16
CUDA(nVIDIA)/Stream(AMD) = GPGPU環境
OpenCL = 計算資源利用API ≠ GPGPU

GPGPUのみのなら別スレへ。
とりあえずOpenCL<CUDA(nVIDIA)/Stream(AMD)
かつ開発環境の整備具や資料面ではGPGPUでもnVIDIAに軍配が上がるのが一般論
2010/03/12(金) 01:13:55
CUDAを使った実績はかなりあるけど、
OpenCLをつかってパフォーマンスが上がるって結果はあるのか?
2010/03/12(金) 13:56:03
FLOPSのベンチとか調べればちらほら(程度は)ある。ただFLOPSが高くても転送コストが重かったりする。
実行結果をそのままOpenGLとかで可視化するとか転送コストを挟まない場合には向いてる。レイトレとか。
ただ開発/デバグにかかる時間と労力はCUDAと比較にならないと思うぐらい悪い。慣れれば別。

俺はOpenCL好きだけどね。
2010/03/13(土) 13:19:47
昔の超不安定なRadeonのせいでRadeonを買うことにトラウマがあるから
GPGPUもGeForceしかしたくない
2010/03/13(土) 21:40:13
いまノートPCでRadeonHD3200
OpenCL使ってみたいけど、使える環境にするにはPC一式を新しく買うしかないよね?orz
2010/03/13(土) 22:12:04
ATIStream版OpenCLのCPUデバイスで我慢すれば
2010/03/14(日) 04:36:42
ATI、各GPUのドライバまで手が廻らな過ぎ。
2010/03/14(日) 10:20:38
正直どこのベンダもOpenCLにそんなに力入れてない気がしてきた。。。
2010/03/14(日) 12:58:43
いつまでnVidiaに夢見てんだよ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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