09/09/15 00:33:45 .net
何でもいいなら半年ほど前からNVIDIAが出してる
166:デフォルトの名無しさん
09/09/15 00:52:23 .net
>>162
> 未知のアーキテクチャに対応できるのはハードを知り尽くした人間だけだ。
> ハード作った人間が対応投げてたら世話無いわ。
あり得ない。コンパイラ技術を知らないアセンブラ人間?
167:デフォルトの名無しさん
09/09/15 01:14:34 .net
団子には何言っても主張を曲げないよ
無駄な煽りでスレが荒れるだけ、NG推奨
168:デフォルトの名無しさん
09/09/15 01:47:02 .net
両方とも言ってる事がおかしい
169:デフォルトの名無しさん
09/09/15 03:56:13 .net
OS X ハッキング! 335 ついに姿を現した「OpenCL」、その実力
URLリンク(journal.mycom.co.jp)
170:,,・´∀`・,,)っ-○○○
09/09/16 00:55:52 .net
>>165
コンパイラはどうやってコード吐くんですか?
どの命令とどの命令が並列実行出来るとかって情報は誰が持ってるんですか?
ああ、今時Javaでもx86のJITフレームワーク触れますよ
171:,,・´∀`・,,)っ-○○○
09/09/16 01:03:34 .net
オープンソースの力を借りるのはある程度動くものができてからの話よ。
CPUだととんでもなく遅いです、GPUだと動きません、じゃ、話にならないでしょ。
そもそもStream 1.0の正式版を出さないうちに2.0のβ(笑)をでっちあげる神経を疑う。
ハードだけ出してソフト丸投げでは、どっかのCell(笑)と同じじゃないの。
それより更に悪い。
172:デフォルトの名無しさん
09/09/16 08:56:27 .net
OpenCLもOSS化されたGrand Central Dispatch(Cへのブロック追加+OSでの対応+LLVM/Clang)も、
LLVM/Clangが鍵になってるけど、これは言語に対する低レベルなVMであって、
別にJavaなんかと同一視してVMだからどうこうと言っても理解できないかも。
因みにNvidiaもOpenCl実装にLLVM/Clangを利用してるし(今後その実装で続くのかは不明)、
GPU非依存化にはこういう仕組みは不可欠じゃね。
173:デフォルトの名無しさん
09/09/16 11:02:06 .net
174:中間コードに落とし込むまではどうでもいいんだよ 実際にターゲットハードウェアで走るコード生成機 GNU開発ツールでいうところのbinutilsみたいなのは ハードごとに用意しないといけない それすら満足に作らないまま大風呂敷だけ広げてるから 馬鹿にされるんだって
175:デフォルトの名無しさん
09/09/17 01:35:08 .net
はあ?
176:デフォルトの名無しさん
09/09/17 01:41:05 .net
はぁ・・・
177:デフォルトの名無しさん
09/09/18 00:20:38 .net
はぁ…っ
178:デフォルトの名無しさん
09/09/19 00:31:25 .net
物分りが悪すぎるぞ
お前のパソコンでLLVMが動くのはLLVMにx86のコードジェネレータが組み込まれてるからであって
コードジェネレータが用意されてなければ動かしようが無い。
コードジェネレータが用意されて無いなら、0からでもそれを作らないと話にならんのよ。
AMDは用意して無い。
だからGPUで動かない。
当然の話だ。
179:デフォルトの名無しさん
09/09/19 00:39:22 .net
してないの?
Q3中にGPU対応バージョン公開
Q4に正式版公開と公言しているのに。
180:デフォルトの名無しさん
09/09/19 03:27:54 .net
当然もなにも、当たり前過ぎて。
181:デフォルトの名無しさん
09/09/19 09:38:17 .net
この馬鹿は俺らを笑い殺すつもりか?
182:デフォルトの名無しさん
09/09/23 08:36:49 .net
つまりベンダーは OpenCL ランタイムが載ったドライバ開発を急げと?
183:デフォルトの名無しさん
09/09/24 12:51:14 .net
GPUメーカーに作らせたものなど性能を良く見せるためにCPUが遅くなるように細工してるに決まってるだろ
184:デフォルトの名無しさん
09/09/24 17:48:12 .net
細工っていうか手を抜く
185:デフォルトの名無しさん
09/09/25 10:43:31 .net
Khronos groupのOpenCL公式フォーラム
URLリンク(www.khronos.org)
186:デフォルトの名無しさん
09/09/29 21:30:53 .net
OpenCL Download Page
URLリンク(developer.nvidia.com)
187:デフォルトの名無しさん
09/09/29 23:02:32 .net
>>184
CUDAより数倍遅いんだけど
188:デフォルトの名無しさん
09/09/29 23:03:22 .net
俺に言われてもしらんがな
189:デフォルトの名無しさん
09/09/29 23:05:19 .net
と思ったがN-Bodyのパーティクル数が違っただけだった
190:デフォルトの名無しさん
09/09/30 01:07:29 .net
SDKぶっこんでみたら、DirectCompute用も入ってた
191:デフォルトの名無しさん
09/09/30 06:28:55 .net
今OpenCLに対応してるのはヌビディアだけか
192:デフォルトの名無しさん
09/09/30 07:41:20 .net
まあいつも通りの事だ
AMDは毎回ポーズだけ
193:デフォルトの名無しさん
09/09/30 12:47:44 .net
openclって標準化されてるとはいうけど
NVIDIAでコンパイルしたバイナリをCPUやATIで動かせるようになるんかな?
それぞれ別々にバイナリを作って配布することになるんかな?
194:デフォルトの名無しさん
09/09/30 13:41:09 .net
>>191
デバイス毎に定数を調整するとか実装を調整するとか必要になる希ガス。
なので、仮に一つのバイナリだとしても中身は別物になりそう。
195:デフォルトの名無しさん
09/09/30 20:31:44 .net
>>191
だから無理だって
196:デフォルトの名無しさん
09/09/30 23:24:46 .net
>>191
バイナリファイルにコンパイルできるのか
ずっとHLSLみたいに実行時コンパイルだと思っていた
197:デフォルトの名無しさん
09/10/01 00:23:16 .net
>>194
どうもそうらしい
198:デフォルトの名無しさん
09/10/01 01:06:26 .net
バイナリ状態でロードして実行も出来るし、実行環境で実行直前にコンパイルすることもできるよ。
199:デフォルトの名無しさん
09/10/01 10:06:41 .net
>>196
そのバイナリってのは中間コードみたいなものなの?
それともハードウェア依存の完全なバイナリなの?
200:デフォルトの名無しさん
09/10/01 21:15:46 .net
EarFluid: Experimental QC OpenCL iTunes visualizer
URLリンク(www.mutantquartz.com)
201:デフォルトの名無しさん
09/10/01 23:39:11 .net
>>197
バイナリはハード依存でしょ。
Nvidiaが内部的に中間コード使ってるらしい?
でも当然AMDと互換性はない。
202:デフォルトの名無しさん
09/10/02 10:33:36 .net
CUDAとOpenCL、言語によってパフォーマンスに差は出ますか?
203:デフォルトの名無しさん
09/10/02 19:20:28 .net
>>200
現状OpenCLが桁違いに遅い。。。
204:デフォルトの名無しさん
09/10/02 21:15:18 .net
>>199
llvmの中間コードを使っているのであれば
ポータブルではない。
205:デフォルトの名無しさん
09/10/03 00:38:14 .net
>>200
最終的には同じになる、ってOpenCLプログラミングセミナーでnvidiaの偉い人が言ってた。
206:デフォルトの名無しさん
09/10/03 02:31:57 .net
NVIDIAのOpenCLドライバ使ってるんだけど、カーネル実行って同期処理になってない??
キューに入れてから戻るまで時間がかかりすぎで、マルチタスク的な動作が出来ないんですが。。。
>>203曰く、ちゃんと対応されるのかな?
それとも、俺がOpenCLの仕様を読み間違えてるだけ?(汗
207:デフォルトの名無しさん
09/10/03 13:40:35 .net
>>198
GeForce9400だと5fpsくらいしか出ないけど面白いね
CPU負荷が全く上がらない
208:デフォルトの名無しさん
09/10/06 11:00:59 .net
OpenCLはサザビーでも使えるの?
209:デフォルトの名無しさん
09/10/06 11:25:46 .net
エゴだよそれは
210:デフォルトの名無しさん
09/10/08 03:02:00 .net
>>204
内部でCUDAを使ってるだけだろうし原理としてはそうなる
基本的に同期処理が原則
だからカーネル実行は細分化してやらないとだめ
画像を処理するなら1行処理する関数をカーネル化してCPU側でループするみたいな
やりかたじゃないとだめ
211:デフォルトの名無しさん
09/10/10 03:43:44 .net
SDK 2.3b released
OpenCL Download Page
URLリンク(developer.nvidia.com)
212:デフォルトの名無しさん
09/10/10 06:42:05 .net
そのうちオライリーが一冊本を書くんじゃなかろうか
日本語翻訳版が出るかどうかは知らないけど
213:デフォルトの名無しさん
09/10/10 11:48:34 .net
CUDAとATI Stream SDKとOpenCLの関係がいまいち分からんけど、
OpenCLの中のオプションとしてCUDAとかATI Stream SDKとか位置づけされるってことなのかな。
今CUDA用に記述してあるソースコードも、OpenCL用にちょこっと書き換えればAMDのGPUでも、
他のOpenCLに対応したGPGPUでも動作するってこと?
214:デフォルトの名無しさん
09/10/11 03:22:25 .net
>>208
いやいや、CUDAの動作はそれであってるのけど、それはOpenCLの仕様違反だろ?
それに画像処理するならカーネルループとかあり得ないし。カーネル実行のオーバーヘッドの事を理解していないとしか思えないな。
215:デフォルトの名無しさん
09/10/11 10:06:30 .net
OpenCL Tutorial - Shared Memory Kernel Optimization
URLリンク(www.macresearch.org)
OpenCL Tutorials
URLリンク(www.macresearch.org)
OpenCL Programming Guide for Mac OS X
URLリンク(developer.apple.com)
216:デフォルトの名無しさん
09/10/11 18:47:07 .net
>>212
物理的にGPUがマルチタスクに対応してないんだからどうしようもないな
オーバーヘッドも含めてGPU処理の性能の限界が現時点でそうなんだからしょうがない
217:デフォルトの名無しさん
09/10/19 21:09:31 .net
>>213
思ったんだけど、もろにNVIDIA寄りの内容だよね
218:デフォルトの名無しさん
09/10/19 21:58:59 .net
2009 LLVM Developers' Meeting
URLリンク(llvm.org)
↑OpenCLなどApple社員系の情報が非公開なのは残念だが参考に。
URLリンク(llvm.org)
219:デフォルトの名無しさん
09/10/22 01:41:00 .net
>>211
違う。
C と C++ と Java みたいなモンで3つとも同じように
CPU 上で動くが各言語間でソースコードの互換性は……だろ?
CUDA は like C、ATI Stream は Book+、OpenCL は OpenCL C という別言語になる。
プログラマは自分の開発環境などに合わせた好きな言語が選べるってだけだ。
220:デフォルトの名無しさん
09/10/22 12:21:11 .net
新iMacのGPUがRadeonなんだが、OpenCLの対応はどうなの?
SDKあるんだっけ?
221:デフォルトの名無しさん
09/10/29 23:09:47 .net
なんか在庫買いあさったらしいからこれから最適化進めてくるんじゃない
222:デフォルトの名無しさん
09/10/31 11:17:42 .net
誰かこの前、秋葉原で開催されたOpenCLセミナー行った人いる?
いたら、簡単な感想聞きたいです。
223:デフォルトの名無しさん
09/11/01 01:05:25 .net
>>220
いったよ
・nVIDIAの人「Fermiアーキテクチャは凄いぞ!」まぁ凄いけどさ。
・FIXSTARSの人のプログラミング入門は参考になったけどあの内容だけだと即書くのはキツイ。
最後には「ちゃんとやりたい人向けに終日の有料教室やってるよ!」だったしw
・Appleの話はOpenCLじゃなくて殆どCocoaの話…
・Dellは殆ど営業トーク
内容的にはそんなに深くなかったかなー…って感じ。
224:デフォルトの名無しさん
09/11/03 04:42:31 .net
オープンクルとオープングルって何か共通点はあるの?
225:デフォルトの名無しさん
09/11/03 08:17:17 .net
釣られないぞとつぶやいたそこのあなた。
既に釣られてますよ。
226:デフォルトの名無しさん
09/11/05 12:25:52 .net
OpenCLはCPUのSIMD命令を置き換えられるようなものになるといいな
そのうちCPUにGPUも統合するんだからさ
227:デフォルトの名無しさん
09/11/05 19:47:54 .net
バイナリが環境依存なのがなあ。
CUDAみたいに、中間コードがあればいいのに。
228:デフォルトの名無しさん
09/11/05 19:57:30 .net
>>220
基本は221の通りだが、フィックスターズの人が1月に本来出すとか言ってた
229:デフォルトの名無しさん
09/11/23 18:23:10 .net
URLリンク(www.alphaworks.ibm.com)
230:デフォルトの名無しさん
09/11/23 18:28:39 .net
POWER6とcellもopenCLに対応
231:デフォルトの名無しさん
09/11/23 19:06:30 .net
いろいろ対応してくれるのはいいけど、カーネル・ソースが第三者に丸見えなのは何とかならないの?
232:デフォルトの名無しさん
09/11/23 23:57:57 .net
暗号化すればいいじゃない
233:デフォルトの名無しさん
09/11/24 05:03:17 .net
見られて困るほど複雑なアルゴリズムはカーネルだけじゃ作れないから大丈夫だw
234:デフォルトの名無しさん
09/11/27 22:27:11 .net
ATI Streamを落としてきたけどマニュアルないのな。
KronosにはCのはあるけどC++のはないね。
せっかくStreamにC++のサンプルがあって便利そうなのに。
235:デフォルトの名無しさん
09/11/27 23:31:48 .net
とりあえず今持ってるコードを
FORTRAN→C→OpenCL C
って感じで進めてみるかなー
236:デフォルトの名無しさん
09/11/27 23:35:20 .net
独り言は壁に向かってしてくれ
237:デフォルトの名無しさん
09/11/28 17:26:06 .net
(´・ω・`)ショボーン
238:デフォルトの名無しさん
09/12/05 23:25:28 .net
最初の世代のLarrabeeは一般には降りてずにHPC専業でいくようだ
たのしみにしてたのに(´・ω・`)
239:デフォルトの名無しさん
09/12/13 19:17:07 .net
S3のGPUでOpenCL開発するためのSDKってどこ?
240:デフォルトの名無しさん
09/12/17 16:18:02 .net
質問です
OpenCLを使ったプログラムのバイナリはRadeonでもGeForceでも使えますか?
241:デフォルトの名無しさん
09/12/17 17:35:20 .net
まずは実際にやる事だ
242:デフォルトの名無しさん
09/12/18 00:39:28 .net
ソースでも中間コードでもない、ただのバイナリをなんだと思っているんだ
243:デフォルトの名無しさん
09/12/23 20:27:30 .net
フィックスターズから本出るよ
URLリンク(www.amazon.co.jp)
244:,,・´∀`・,,)っ-○○○
09/12/23 20:55:25 .net
三木聡しゃちょはんて何処担当してるの?
245:デフォルトの名無しさん
09/12/24 20:20:23 .net
>>241
>著者からのコメント
>"The free lunch is over."
そんなこといわれてもな・・・
246:デフォルトの名無しさん
09/12/26 01:03:24 .net
>>238
ソースレベルの互換性しかないので、バイナリは非互換。
ただしランタイムにカーネルのソースをコンパイル出来るので、恰もバイナリ互換があるかのようにコーディング出来る。
とはいえ、そうするとCELLみたいに特殊な構造だとパフォーマンスを発揮するようにコードを書くのがたいへんだろうけど。
247:デフォルトの名無しさん
09/12/26 13:46:36 .net
Radeonの4650で遊んだ感じでいうとCellのが楽だな
248:デフォルトの名無しさん
09/12/28 09:34:55 .net
>>242
そこには触れてやるな。みんなおかしいとは思っているがしゃちょーには逆らえない
249:デフォルトの名無しさん
09/12/28 19:37:20 .net
>>245
URLリンク(techreport.com)
250:,,・´∀`・,,)っ-○○○
09/12/30 03:30:14 .net
今年(来年?)はプログラミングコンテスト開かないの?
251:デフォルトの名無しさん
10/01/01 10:53:23 .net
うっせー糞して寝ろ
252:デフォルトの名無しさん
10/01/05 20:45:23 .net
どっちかっていうと、OpenGL内部のメモリ内容を直接書き換えれるのが大きいな。
描画内容に変更加えて再描画とか、データの高速可視化とか。
個人的にCPUに付加かけずにリアルタイム可視化ができるのがいいな。
253:デフォルトの名無しさん
10/01/18 19:22:26 .net
OpenCL並列プログラミングって本が25日に出るみたい。
254:デフォルトの名無しさん
10/01/18 22:04:56 .net
しってるしってる、と思ったらフィクスターズのやつとは別か
ソースキボンヌ
255:デフォルトの名無しさん
10/01/18 22:14:14 .net
>>252
今日の日経の朝刊1面下の広告
256:デフォルトの名無しさん
10/01/18 22:18:22 .net
出版社:カットシステム
著者:池田成樹
URLリンク(www.cutt.co.jp)
257:デフォルトの名無しさん
10/01/18 22:19:55 .net
JAL株5円まで来たか
いよいよ明日はクライマックス
258:デフォルトの名無しさん
10/01/18 23:48:45 .net
うっせー糞して寝ろ
259:デフォルトの名無しさん
10/01/19 00:15:14 .net
便秘で出ないっす
260:デフォルトの名無しさん
10/01/19 20:00:15 .net
ケツに目薬をさすと便秘が治るという噂を聞いたことがある
261:デフォルトの名無しさん
10/01/21 15:08:18 .net
最近GPGPUを始めようと調べ始めたのですが、
cudaとCLの違いって、CUDAはCPU部分もカーネル部分も混在したプログラムを書いてnvccが両者を分離してくれる、
CLはプログラマ自身が最初からCPU用とカーネル用とを分けてプログラムを書く
という認識でよいですか。
カーネルとかグローバルメモリとかの概念はほぼ一緒と考えてよいのでしょうか。
CLの方が拡張言語っぽくないのと共通規格な分気持ちがいいですが、カーネルのコンパイルとか引数設定を明示的にしないといけない分どんくさい感じですね。
262:デフォルトの名無しさん
10/01/21 15:14:41 .net
OpenCLはまだまともに動かないからCUDAにしとけ
263:250
10/01/21 18:20:06 .net
cudaとopenclの決定的な違い?
cudaはGPGPU
openclは計算機資源API
GPUに限らず、CPU,(故)Cell/BE,DSPチップ等の演算装置を汎用的な計算機資源として使うためのAPIがCL
GPUを使うならメモリ概念はCUDAとだいたい同じ。
完全にホストプログラムとカーネルプログラムおよび両者間通信を手作業で作らないといけないどんくささ(?)はあるものの
「メインプログラムはホスト実行で,計算機資源だけ別のハードウェアを使う」設計APIなので自由度はかなり高い
ただOpen○○のくせにMac10.6以外はまともに動く環境が少ないとか
JITコンパイルなので実行するまでソースのバグがわからない上に資料がまだ充実してないとか、
けっこうまだまだ問題も多い。
>>260の言う通り今やるならCUDAが良いと思うぞ。
264:259
10/01/21 18:49:08 .net
セルとかララビーとかアムドが本気を出すとか色々可能性があるからCLの方がいいかなと思ってたけど
CUDAの方がいいのかな。
拡張言語ってのが言語仕様的にOpenMPあたりと干渉しそうなのもCLを考えていた要素なんだけど。
265:デフォルトの名無しさん
10/01/21 22:57:22 .net
どっちもたいして変わらん どっちもやれ
266:デフォルトの名無しさん
10/01/22 18:58:59 .net
OpenMPとOpenCLが干渉?
ホスト管理スケジューリングぐらいじゃねーの?
267:デフォルトの名無しさん
10/01/22 23:44:42 .net
radeonでCUDAって出来ないの?
268:デフォルトの名無しさん
10/01/23 01:25:03 .net
無理。Stream使え。
でも、技術デモ程度ではなく実用したいならゲフォ使え。
269:デフォルトの名無しさん
10/01/23 10:59:33 .net
スレ違い
270:デフォルトの名無しさん
10/01/26 01:24:10 .net
ふぃくすたのOpenCL入門買ったぞ、LinuxでSDKについてきたサンプルコードがコンパイルできなくて死んだ
っていうか
271:普通にアルゴリズムの勉強してからやれクズ
272:デフォルトの名無しさん
10/01/26 01:27:54 .net
二行目どういう意味?
273:デフォルトの名無しさん
10/01/26 05:29:18 .net
268 said s/he was kuzu.
274:デフォルトの名無しさん
10/03/10 22:33:57 .net
>>266
GPGPU目的だと、ATI<nVidiaなの?
275:デフォルトの名無しさん
10/03/10 22:52:32 .net
?
276:デフォルトの名無しさん
10/03/11 20:16:16 .net
CUDA(nVIDIA)/Stream(AMD) = GPGPU環境
OpenCL = 計算資源利用API ≠ GPGPU
GPGPUのみのなら別スレへ。
とりあえずOpenCL<CUDA(nVIDIA)/Stream(AMD)
かつ開発環境の整備具や資料面ではGPGPUでもnVIDIAに軍配が上がるのが一般論
277:デフォルトの名無しさん
10/03/12 01:13:55 .net
CUDAを使った実績はかなりあるけど、
OpenCLをつかってパフォーマンスが上がるって結果はあるのか?
278:デフォルトの名無しさん
10/03/12 13:56:03 .net
FLOPSのベンチとか調べればちらほら(程度は)ある。ただFLOPSが高くても転送コストが重かったりする。
実行結果をそのままOpenGLとかで可視化するとか転送コストを挟まない場合には向いてる。レイトレとか。
ただ開発/デバグにかかる時間と労力はCUDAと比較にならないと思うぐらい悪い。慣れれば別。
俺はOpenCL好きだけどね。
279:デフォルトの名無しさん
10/03/13 13:19:47 .net
昔の超不安定なRadeonのせいでRadeonを買うことにトラウマがあるから
GPGPUもGeForceしかしたくない
280:デフォルトの名無しさん
10/03/13 21:40:13 .net
いまノートPCでRadeonHD3200
OpenCL使ってみたいけど、使える環境にするにはPC一式を新しく買うしかないよね?orz
281:デフォルトの名無しさん
10/03/13 22:12:04 .net
ATIStream版OpenCLのCPUデバイスで我慢すれば
282:デフォルトの名無しさん
10/03/14 04:36:42 .net
ATI、各GPUのドライバまで手が廻らな過ぎ。
283:デフォルトの名無しさん
10/03/14 10:20:38 .net
正直どこのベンダもOpenCLにそんなに力入れてない気がしてきた。。。
284:デフォルトの名無しさん
10/03/14 12:58:43 .net
いつまでnVidiaに夢見てんだよ
285:デフォルトの名無しさん
10/03/14 15:29:40 .net
GeForce GT 240 でOpenCL SDK V2.3のサンプルが動かない。
というかSDKでビルドは成功するが全然動かない。
ドラバは最新の 196.21
GPU-Z.0.3.9で確認するとOpenCLはチェックが入っている。
286:デフォルトの名無しさん
10/03/14 15:41:44 .net
現状CUDAで十分な気がする
287:デフォルトの名無しさん
10/03/14 18:08:04 .net
CUDAもOpenCLもこのまま消えそうだね
288:デフォルトの名無しさん
10/03/14 21:15:50 .net
ほかで何が残りそうなの
289:デフォルトの名無しさん
10/03/14 23:21:11 .net
調べてないけど、OpenGL 4は、OpenCLと連携するようになってるらしいから
徐々にOpenCLも使われるようになっていくんじゃない
290:デフォルトの名無しさん
10/03/15 18:48:08 .net
POWERVR SGX545を採用したモバイル機器での普及の方が先かも知れない。
291:デフォルトの名無しさん
10/03/15 20:09:26 .net
>>286
既にOpenGLと連携できるよ。頂点バッファとかテクスチャとかだからGL2.x以降とかな?
292:デフォルトの名無しさん
10/03/18 17:36:26 .net
NVIDIAのOpenCLのダウンロードから一通りダウンロードしてきたけど、
コンパイルとかは、どのコマンドを使うの?
OSはLinuxです。
293:デフォルトの名無しさん
10/03/18 19:40:13 .net
何のコンパイル?
294:デフォルトの名無しさん
10/03/20 03:12:14 .net
>>290
OpenCL file
295:デフォルトの名無しさん
10/03/20 05:50:48 .net
nvcc
296:290
10/03/20 08:02:27 .net
fileてのが何かよくわからんが
NVIDIAサンプルに含まれるホスト側のCソースなら/OpenCL/makeでいけるかと。
カーネル用のCLソースならclBuildProgram()関数でどうぞ。
297:デフォルトの名無しさん
10/03/20 17:29:53 .net
CUDA 3.0 Downloads
URLリンク(developer.nvidia.com)
298:デフォルトの名無しさん
10/03/20 18:17:46 .net
Mac OS X 10.6を手に入れたんだけど、OpenCLの使い方を教えてください
とりあえず、ドライバだけは入れました。
299:デフォルトの名無しさん
10/03/20 19:11:03 .net
ソース書く→コンパイル→実行→happy
300:デフォルトの名無しさん
10/03/20 20:03:11 .net
>>295
URLリンク(developer.apple.com)
301:デフォルトの名無しさん
10/03/20 20:08:14 .net
あと
URLリンク(developer.apple.com)
302:デフォルトの名無しさん
10/03/21 13:14:54 .net
LinuxでOpenCLやってるんだけど、倍精度は使えへんの?
303:デフォルトの名無しさん
10/03/21 14:28:18 .net
282だけど
CUDA 3.0 Downloads
で上手くいきました。
ありがとう。>294
304:デフォルトの名無しさん
10/03/22 12:45:47 .net
Linuxと倍精度になんの関係が
305:デフォルトの名無しさん
10/03/22 13:16:38 .net
CL C言語での倍精度浮動小数点はGPUベンダーにより任意サポート
306:デフォルトの名無しさん
10/03/26 00:59:44 .net
よくわからんけど、倍精度を有効にするスイッチとかあるの?
CUDAだとsm13だけど
307:デフォルトの名無しさん
10/03/26 08:06:27 .net
>>303
あるよ
対応しているかは実装依存だけど。
URLリンク(www.khronos.org)
308:デフォルトの名無しさん
10/04/01 22:53:00 .net
struct {
int I;
} tA;
struct {
tA * pa;
} tB;
__kernel void Func (__global tB *b) {
int idx = get_global_id(0);
int B = b[idx].a->I;
}
みたいにすると、int B に値が入らないのってなんで?
書き方が悪いのかな?
教えてエロい人。
309:デフォルトの名無しさん
10/04/02 00:52:35 .net
>>305
君にOpenCLは向いてないよ。。。
ちなみに
b[idx].pa の参照先が不定もしくは管理領域外だと思われ
通常であればアクセス例外
310:デフォルトの名無しさん
10/04/02 01:07:15 .net
これはコンパイル通るのか?
311:デフォルトの名無しさん
10/04/02 02:12:02 .net
tAの実体はいずこ?
tBのメンバpaはポインタだぞ。
ポインタは実体ではないぞ。
やるなら、
__kernel void Func (__global tB *b) {
int idx = get_global_id(0);
tA C;
C.I = 1;
b[idx].pa = (tA *)(&C);
int B = b[idx].pa->C;
}
じゃないか?
OpenCLより、ポインタを先に勉強した方がいいぞ。
312:デフォルトの名無しさん
10/04/02 02:33:18 .net
>>308
あ、間違えた。
int B = b[idx].pa.I;
だった。
そもそも根本的におかしいね。
悪い、俺もポインタの勉強が必要だわ。
それ以前に構造体の勉強が必要だ。
313:デフォルトの名無しさん
10/04/02 08:10:34 .net
305だけど、306の話で知りたいことはわかった。
変な質問でごめんね。みんなありがとう。
314:デフォルトの名無しさん
10/04/23 01:47:27 .net
ラデですまんが、vista64でATI Stream 2.01にしたらopen CLのサンプルがVC++ Expressでコンパイルできても動かない(clGetPlatformIDsが-1001を返す)んだけど、こんなことなた人います?
2.0bだと動いたのだが。
Platform SDKの64bitコンパイラを使えばちゃんとサンプルも動かせるけど、MS流儀のコンパイルオプションやmakefileの書式が面倒くさい・・・
LinuxのCUDA機を購入する前にPCでOpen CLのお勉強をしようと思ったのにつまらんところで時間をくってしまった。
315:デフォルトの名無しさん
10/04/23 11:34:25 .net
SDKサンプルのoclBandWidthTestやったらホスト・デバイス間で5300MB/sくらいだったんだけど
この数値ってグラボだけじゃなくマザーとメインメモリも影響するよね?
GPGPUの処理がハードウェア的にどう依存してるのか良くイメージ出来てないんだけど
i7のQPIとかは影響するの?
316:デフォルトの名無しさん
10/04/23 12:28:21 .net
>>311
URLリンク(developer.amd.com)
317:デフォルトの名無しさん
10/04/24 00:44:55 .net
>>313
そこを読んだけど、それにはデフォルトを呼び出すんじゃなくてclGetPlatformIDsを呼び出してセレクトしろってことでしょ。
で、2.01の64bit版にはちゃんと32bit版のOpenCL.dllが入っているのに、32bitでコンパイルしたらclGetPlatformIDsがなにやら不明なエラーを返してしまうことが問題で・・・
318:デフォルトの名無しさん
10/04/24 01:01:40 .net
SDKを削除>再インストールしてみたらどう?
こんな話があるし↓
URLリンク(absolutearea.blogspot.com)
319:デフォルトの名無しさん
10/04/24 01:06:52 .net
>>315
それはビルドができないってことでしょ。
ビルドはできるんだよねぇ。実行もできる。ただOpenCLの関数が怪しい物を返すので。
OpenCL.dllの日付は32bit版と64bit版も同じだからバージョン違いが残ってるわけでもないしなぁ。
320:デフォルトの名無しさん
10/04/24 03:20:56 .net
>>316
中身読んでくれてないのね…
この人も-1001 返ってるって書いてあるし、
貴方とおんなじかなって思ったんだけど
> 「デバッグ」メニューから「デバッグなしで開始」を選択
> HelloCL!
> Getting Platform Information
> Platform::get() failed (-1001)
> 続行するには何かキーを押してください . . .
> ありゃ?なんでじゃ?
>
> ATI Stream SDK をインストーラでリペアしてもだめだった。
> しかたがないので、ATI Stream SDK をアンインストール後、再びインストールした。
> サンプルをコンパイルして動作確認。うまくいった。
321:デフォルトの名無しさん
10/04/24 03:37:42 .net
>>317
あら、本当だ。
ごめんなさい。
ダラダラとビルドできないことが書いてあったからこれはちゃうなと。
-1001なら同じだわ。
322:デフォルトの名無しさん
10/04/24 10:55:01 .net
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
323:デフォルトの名無しさん
10/04/24 15:07:22 .net
そんなwwwとか書くなよ・・・実際のところ既にアンインストール後再インストールは試してるしなぁ。
324:デフォルトの名無しさん
10/04/24 17:53:49 .net
なんで出されたもの読まずにコメント出来るのか理解不能ではある
325:デフォルトの名無しさん
10/04/25 01:04:34 .net
>>320
後だし情報で言い訳wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
326:デフォルトの名無しさん
10/05/09 03:00:01 .net
>>321
出されたものを読まないでコメントするようだから
結局解決まで時間がかかる人なんだよ。理解できる。
327:デフォルトの名無しさん
10/05/09 09:39:11 .net
ヤギだからじゃないのか?
328:デフォルトの名無しさん
10/05/14 23:31:43 .net
GF9400 (CUDA 3.0)のマシンとHD4850 (ATI Stream 2.1)のマシン両方で起こっているのだけれど、
clEnqueueNDRangeKernelで実行したカーネルのイベントがclGetEventInfoで状態を見るとCL_QUEUEDのまま変わりません(queueはインオーダー実行にしてあります)。
kernel自体はきちんと実行終了して希望の結果が得られて、clEnqueueWaitForEventsにイベントを入れて待ってもきちんとCL_SUCCESSで戻ってくるのに、そのイベントの状態を見るとCL_QUEUEDのまま。
そのために、clGetEventProfilingInfoでカーネルの実行時間を調べようとしてもCL_PROFILING_INFO_NOT_AVAILABLEが返ってきて調べられない始末(CL_COMPLETEになっていない証拠)。
clEnqueueWriteBufferなどのイベントはちゃんとCL_COMPLETEになっている。
なんか再現する簡単なプログラムを付けたいけれど、OpenCLはカーネル動く例を書こうとしてもオマジナイが多すぎて改行多すぎで載せられないし・・・
・kernelは正しく実行されている
・WaitForEventも正しく戻る
・でもイベントはqueuedのまま
329:デフォルトの名無しさん
10/05/14 23:59:03 .net
うpろだに上げればよかろうよ
330:デフォルトの名無しさん
10/05/16 13:46:46 .net
並列処理の基本であるキューにためつつキューの中身を取り出して処理するみたいなことは出来るの?
331:デフォルトの名無しさん
10/05/16 21:32:19 .net
えっ
332:デフォルトの名無しさん
10/05/16 22:10:17 .net
そのためのキューです
333:デフォルトの名無しさん
10/05/17 00:17:50 .net
キューはCPU側で実装すればいいのか
334:325
10/05/17 10:55:56 .net
clEnqueueWaitForEventなんか使ってちゃダメだな。
clWaitForEventで待機したらeventがCL_COMPLETEになりました。
queueのインオーダーだと勝手にブロッキングになると勘違いしていてwaitなんて入れても入れんでも一緒ダロとか思ってました。
ところで、アウトオブオーダーの時にclEnqueueWaitForEventなんか使ったらqueue内の順序無視してwaitを先にやっちゃって止まるなんてことにはならんのだろうか・・・
335:デフォルトの名無しさん
10/05/17 23:56:26 .net
windowsのリモートデスクトップ経由でOpenCLのプログラムを実行するとplatformの取得に失敗するのな。
びっくりした。windows使えねぇw
336:デフォルトの名無しさん
10/05/18 00:18:59 .net
それはNVIDIAのドライバのせいでは?
ATIのOpenCLでもそうなる?
337:デフォルトの名無しさん
10/05/18 00:39:34 .net
そうなる。Windowsの仕様。
公式でもVNC使えって言ってる。
URLリンク(developer.amd.com)
338:デフォルトの名無しさん
10/05/18 05:11:24 .net
NVIDIAのドライバのせいだなw
339:デフォルトの名無しさん
10/05/18 09:44:11 .net
VNCは遅い上にリモートの画面のロックは解除されたりキーボードやマウスでいじり放題になるので目の届かないコンピュータをいじるもんじゃないわな。
迂闊にエロサイトなんて見てしまったら・・・
340:デフォルトの名無しさん
10/05/18 10:36:11 .net
cygwinでsshdを起動してssh経由でやっても動かないぜ。
mpiでやっても当然ダメなんだろうな。
こんな状態でHPC市場を狙ってるんですかねマクソさんは。
341:デフォルトの名無しさん
10/05/19 13:04:33 .net
スクリーンセーバーにしてしまおうかと真剣に考えたw
342:デフォルトの名無しさん
10/05/20 22:39:47 .net
個人的な覚書
ATI Stream 2.1のcl_platform.hはこのままだとmingw-gccで使えない。
38行目の#include <stdint.h>を削除して
77行目 #else /* !_WIN32*/の次の行に入れる必要あり。
khrnosの配っているcl.hpp (\date $Date: 2010-04-23 10:16:50 -0500 (Fri, 23 Apr 2010) $は
namespace cl のなかでstd::pairと呼び出してる箇所を全て ::std::pairと修正、
#if defined(__CL_ENABVLE_EXCEPTIONS)
#include <exception>
#endif
をnamespace clの外側に移動する必要あり。
343:デフォルトの名無しさん
10/06/03 07:06:02 .net
ワープって何よ。
亜空間跳躍となにか関係あるのか?
344:デフォルトの名無しさん
10/06/03 23:01:30 .net
OpenCLはワープサイズやウェイブフロントサイズをとってこれないのが難点だな。
これが取れないとポータビリティのある最適化はできないよ~。
345:デフォルトの名無しさん
10/06/04 13:26:57 .net
ワープとかの概念が無用なプラットフォームも OpenCL の対象範囲。
どうせハードウェアごとの最適化が入る部分は、CL がどうこうする部分じゃないよ。
その辺は #ifdef で。
346:デフォルトの名無しさん
10/06/04 22:55:03 .net
ワープサイズに依存しない機種の場合はワープサイズ1でも返してくれればいいんだけど。
347:デフォルトの名無しさん
10/07/01 23:02:44 .net
コードのコンパイル、デバイスの生成、データ転送に喰われてスケールしないんだが。
ありがた味のわかるサンプル教えてくれ。
348:デフォルトの名無しさん
10/07/01 23:05:51 .net
コンパイルやデバイスの生成やデータ転送と比べものにならないくらい長時間のデータを計算させる。
349:デフォルトの名無しさん
10/07/03 00:48:14 .net
openclでGPGPUするかどうかの判定ラインって何?
やってみないとわからんのか。
350:デフォルトの名無しさん
10/07/03 12:42:13 .net
計算量がNの3乗くらいなら有効だと思うよ。
ループが3重にネストしているような奴。
351:デフォルトの名無しさん
10/07/24 22:38:24 .net
水を差すようだけど,OpenCLだからと言ってO(N^3)がO(N^2)に落ちる訳ではないんだから
それだけでは何の基準にもならないよね.
滅茶重い計算だとNも単純に大きくてデバイスローカルなメモリに収まらなかったりするし
対象デバイスのwarp sizeを想定しながらブロック化とか,結局ifdef祭り.
352:デフォルトの名無しさん
10/07/24 23:00:12 .net
うるせえだまってろ
353:デフォルトの名無しさん
10/07/25 08:00:33 .net
でっていう
354:デフォルトの名無しさん
10/09/02 01:36:07 .net
もう少しなんかあっても良いよね。
355:デフォルトの名無しさん
10/10/10 01:30:39 .net
文字列処理のサンプルってないですか?
356:デフォルトの名無しさん
10/10/24 00:50:26 .net
新しいMacBookPro買ったんだけど
clCreateContextFromTypeでGPU指定したら、そこからCL_SUCCESSが返ってこない・・・
Appleのサイト見てもGeForce GT 330Mはサポートされてるのに
357:デフォルトの名無しさん
10/10/24 01:04:56 .net
>>353
nVidiaが公開してるCUDAドライバ入れた?
358:デフォルトの名無しさん
10/10/24 01:33:46 .net
>>354
SnowLeopardはOSでサポートされてるんじゃないの?
ちょっとぐぐってきます・・・
359:デフォルトの名無しさん
10/10/24 10:40:54 .net
ドライバもなしにハードを動かそうとな?
360:デフォルトの名無しさん
10/10/24 16:18:23 .net
URLリンク(yanoshin.jp)
いつのバージョンかわからんけど
>*必ずToolkit、Driver、SDKの順にインストールすること!(なぜか?)
ドライバだけで、他は必要ないのかな?
URLリンク(journal.mycom.co.jp)
URLリンク(developer.apple.com)
361:デフォルトの名無しさん
10/10/24 16:21:17 .net
今までRadeonユーザーにOpenCL使ってもらうには
SDKインストールしてもらわないといけなかったんだが、
最新ドライバから、OpenCLランタイムをインストールできるようになったらしい。
めでたいことだ。
362:デフォルトの名無しさん
10/10/24 17:39:16 .net
Radeonって全然高速じゃないし使う意味ないよなぁ
363:デフォルトの名無しさん
10/10/24 18:35:46 .net
Radeonユーザーの場合はDirectCompute使った方が良いね
364:デフォルトの名無しさん
10/10/24 18:41:34 .net
Core i …… RADEON HD 6xxx
Phenom II …… GeForce GTX 4xx
365:デフォルトの名無しさん
10/10/24 19:48:56 .net
RadeonだとN体 24Gぐらいしかでないしな
Geforceだと500Gぐらい平気で出るんだけどねぇ
366:デフォルトの名無しさん
10/10/24 23:22:24 .net
>>356
秀和システムのOpenCL入門を読んだら
Mac:Xcodeあればいい
Win:ドライバダウンロード必要
としか書いてなかったからてっきり。
>>357
インストール順番さっそくミスった
実はMacは初めてだからアンインストールの仕方ぐぐらんと
367:363
10/10/27 09:01:28 .net
やっぱり動かない・・・
よく見たらApple英語サイトはGeForceGT330M書いてあるけど
日本語のほうは載ってないし
URLリンク(www.apple.com)
URLリンク(www.apple.com)
368:デフォルトの名無しさん
10/10/27 11:20:00 .net
それ、OSの必要条件じゃん。だから何?
369:デフォルトの名無しさん
10/10/29 07:17:55 .net
URLリンク(developer.apple.com)
> __kernel square
を
> __kernel void square
に置換。
のサンプルも動かない?
370:デフォルトの名無しさん
10/10/29 16:50:26 .net
>>365
ごめん それは関係なかった
>>366
カーネル以前にclGetDeviceIDsでGPU指定だと止まる。CPUでは動く。。。
試しに>>357の参考してCUDAのサンプルも動かしてみたら
CUDA使用可能なデバイスが見つからないというエラーがでる(´・ω・`)
でも動くのもあって、oceanFFTとかnbodyとかは動いてくれるんだけど
371:デフォルトの名無しさん
10/10/29 19:14:57 .net
そりゃ変だな。ちなみにこちらは Radeon HD 5670 の iMac だが普通に動いてる。
CUDAのドライバにSDKは入れてる(入れただけで放置してたが)。
372:デフォルトの名無しさん
10/11/06 16:01:55 .net
gccはOpenCLに興味ないみたいだね
代わりにclang使うしかないのか?UNIXでは
373:デフォルトの名無しさん
10/11/07 00:02:23 .net
>>369
gccは開発技術レベル落ちまくってて
本業のコンパイラもLLVM連中やMSに
抜き去られてやばいらしい
374:デフォルトの名無しさん
10/11/07 00:11:37 .net
つってもGCC死んだらUNIX系が基盤から崩壊するから、
どうにかしなきゃいかんだろうしどうにかするだろ
375:デフォルトの名無しさん
10/11/07 00:29:49 .net
マルチアーキ型のgccの最適化処理がx86特化型であるmsのソレ以上だったことなんてあったか?
376:デフォルトの名無しさん
10/11/07 00:30:00 .net
GCCってそんな立ち位置だったっけ?
広く愚直にというイメージがあるんだが
377:,,・´∀`・,,)っ-○○○
10/11/07 01:03:36 .net
GNUソフトウェアはいつだって言いだしっぺの法則が適用されるんだぜ。
Cell B.E.だってSCEが自らABIを公開してGCCやLinuxカーネルのパッチをコミットした。
NVIDIAやAMDがGCCにコミットしない限り動かんだろ。
378:デフォルトの名無しさん
10/11/07 05:02:21 .net
>>371
もうどうにもならん
ORACLEのせい
379:,,・´∀`・,,)っ-○○○
10/11/07 05:21:45 .net
なんだかんだでHPCなんて所詮はサーバ市場の1%未満のニッチ市場だよ。
そのなかのGPGPU用の言語の一つのために必死になる奴もそうそういない。
なんならRailsやZend使ってWebサービスを構築してるSIerにでもGPGPUの素晴らしさを説いてくれw
380:デフォルトの名無しさん
10/11/07 10:51:44 .net
>>376
動画のエンコード・デコードはダメなの??
381:デフォルトの名無しさん
10/11/07 13:34:36 .net
ffmpegと同等の画質を達成すればGoogle様が興味を示す
かも
382:デフォルトの名無しさん
10/11/07 13:44:30 .net
なんでGPUを使う→低画質という思考になるの?
383:デフォルトの名無しさん
10/11/07 14:24:23 .net
馬鹿だから
384:,,・´∀`・,,)っ-○○○
10/11/07 15:08:22 .net
ブロックサイズを細かく分けて並列処理しないとGPUのスループットの強みを生かせないから。
CPUで処理するレベルの高画質エンコードは構造的に不向き。せいぜいフィルタだけやらせておけというレベル。
385:デフォルトの名無しさん
10/11/07 20:04:27 .net
ブロックサイズ1ピクセル単位とかにでもしないとGPUの優位なんて出てこないんだろうなw
386:デフォルトの名無しさん
10/11/17 00:02:22 .net
IntelがCoreプロセッサ向けOpenCL SDKのアルファ版を公開: 新 masafumi's Diary
URLリンク(masafumi.cocolog-nifty.com)
387:デフォルトの名無しさん
10/11/17 01:07:04 .net
Windows Onlyか
388:デフォルトの名無しさん
10/11/17 15:57:12 .net
Core2Duoなのに入れられない!と思ったら45nm版Core2以降かよ…SSE4使うのな
389:デフォルトの名無しさん
10/11/17 19:24:56 .net
そろそろQ6600に引導渡してやるか・・・
Cougar Pointの仕様が色々と半端なので、GPUだけ強化してIvy Bridgeまで引っ張るつもりだったんだが
390:デフォルトの名無しさん
10/11/21 00:35:46 .net
来年からAMDが大攻勢、NVは苦しくなるな。
もうグラフィックボードすら不要になってくる。
391:デフォルトの名無しさん
10/11/21 00:38:40 .net
CPUで使う場合も、OpenCL的なメモリコピーを挟まないといけないのでしょうか?
392:デフォルトの名無しさん
10/11/27 07:53:49 .net
OpenCLって、いつになったら動かせるようになるの?
組み込み向けにGPGPUしたいんだけど、CUDAだと発熱すごすぎグラフィックボード
がどうしても必要なんで、オンボードGPUをOpenCLで動かしたいのだが。
393:デフォルトの名無しさん
10/11/27 08:38:35 .net
まるでオンボードGPUだと発熱しないと言わんばかりの意味不明な発言。
394:デフォルトの名無しさん
10/11/27 10:03:51 .net
信頼性は違うだろ?
395:デフォルトの名無しさん
10/11/27 13:28:35 .net
オンボードのチップの方が信頼性が高いの?
マザボ丸ごと道連れになるくらいならカード交換で済む方がいい気もするんだが。
今までの経験からすると、寧ろ電源が死ぬことのほうが多いけどね。
396:デフォルトの名無しさん
10/11/27 14:29:27 .net
RadeonでもGeForceでもPhenomでもCore 2(45nm以下)以上でも動くよ>>OpenCL
397:,,・´∀`・,,)っ-○○○
10/11/27 14:34:16 .net
SSE4.1以上に限定する意味は一応あるのね。
insertps/extractpsがgather/scatterとして、vlendvpsがプレディケートに使えるから
SPMDのカーネルモデルを容易に実現できる。
398:デフォルトの名無しさん
10/11/29 14:16:12 .net
OPENCLってグラフィックカードの計算につかうCPUで
普通のプログラミングも計算するってことですか?
399:デフォルトの名無しさん
10/11/29 19:38:51 .net
日本語でおk
400:デフォルトの名無しさん
10/11/29 22:13:20 .net
>>395
コストが無駄になるので特定の用途向けの計算に使います。
401:デフォルトの名無しさん
10/12/01 11:07:07 .net
じゃあ、グラフィックカードの付いてないノートパソコンでは無意味ということだな。
402:デフォルトの名無しさん
10/12/02 01:56:33 .net
C言語っぽく書いて、コンパイラがうまいことSIMDに変換してくれるから意味あるよ。
403:デフォルトの名無しさん
10/12/04 11:20:13 .net
GPUでmalloc作った論文どこだっけ?
404:デフォルトの名無しさん
10/12/18 09:11:15 .net
外付けと内蔵グラフィック切り替えるタイプのノートでopenCL使うとどうなるの
NVkernelそこまで対応してるのかな?
405:デフォルトの名無しさん
10/12/25 19:51:36 .net
全ワークアイテムでは同期とれないんだね。ワークグループ内のみか。
さて、どうやって同期とるか・・・
406:デフォルトの名無しさん
10/12/31 18:12:58 .net
OpenCLを始めようと思ってサンプルコードを動かしてみたんですが
コンテキストを作るところで躓いてしまいました。
何がいけないんでしょうか?
具体的には
cl_int status;
cl_context context = clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU, NULL, NULL, &status);
とやると、status に CL_INVALID_PLATFORM が返ってきます。
clGetPlatformInfo 関数は、たとえば CL_PLATFORM_VERSION を引数にして実行すると
"OpenCL 1.0 CUDA 3.2.1" という文字列が返ってくるので
OpenCLドライバが入ってないわけではなさそうなんですが・・・
環境はCore2Duo E8400、GeForce9600GT、Windows7 32bitです。
407:デフォルトの名無しさん
10/12/31 18:39:37 .net
第一引数がNULLだとそうなるのがある
ならないのがあるのかは知らん
秀和の本読んでると思うけど公式から修正されたソース落としてこれるからそれを参考にしてくれ
今規制中で携帯からコード打つ気にならんw
408:403
10/12/31 20:39:19 .net
>>404
秀和のサイトの修正済サンプルコードを参考にしたら、うまく動きました。
第一引数にNULLではなくコンテキストのプロパティを与えればいいみたいですね。
秀和の本で勉強してると言い当てられてビックリですw
この本わかりやすいですね。
大学の研究で何千枚の画像相関やってるんで、OpenCLで夢がひろがりんぐ。
409:デフォルトの名無しさん
11/01/01 10:51:11 .net
グラフィックスドゥライヴァのヴァージョンは?
410:404
11/01/01 16:41:42 .net
URLリンク(developer.download.nvidia.com)
411:デフォルトの名無しさん
11/01/04 05:00:19 .net
openCLを使っています。
CL_DEVICE_TYPE_DEFAULTという値について質問があります。
この値はプラットフォームの標準デバイスを使うと書いてありました。
どのようにしたら、プラットフォームの標準デバイスがGPUなのか、CPU
なのかを知ることができるのでしょうか。
412:デフォルトの名無しさん
11/01/26 11:02:46 .net
Radeon5850と6970を二本さして、FFTの負荷分散させたいと思ってcontextにデバイス2つのせてキューも2本立てたんだけど、
データ転送も並列実行も同時並列的に実行されないで逐次的に実行されてるみたいなんですよ。
コードは1GPUの場合のものをキューだけ変えて単純に2つ並べただけなんですけれども。
OpenCL StramSDKでマルチGPU?実行されてる方いらっしゃいます?
413:デフォルトの名無しさん
11/01/26 12:09:39 .net
AMDからメール来た
AMD Accelerated Parallel Processing (APP) SDK | AMD Developer Central
URLリンク(developer.amd.com)
OpenCL? H.264/AVC: MainConcept
URLリンク(www.mainconcept.com)
414:409
11/01/28 13:15:14 .net
OpenMP使えばいいんですね.自己解決しましたw
415:デフォルトの名無しさん
11/01/28 18:00:42 .net
OpenCLはCUDAやTBBのラッパーという理解で宜しいか?
416:デフォルトの名無しさん
11/01/31 10:23:07 .net
OpenMPはCPUしか並列化できない
GPUも並列化したいならOpenMPじゃなくてOpenCL使わなきゃだめだろ
417:デフォルトの名無しさん
11/01/31 21:48:44 .net
>>413
レスあざす。
もともとOpenCLで組んでて、OpenCLだけでマルチデバイスで動作しないかなぁと思った悩んでいたもんで。一応ホストのスレッドを二本立てたら並列動作しました!
418:デフォルトの名無しさん
11/01/31 23:26:33 .net
AMDのH264のSDKってどうなの?
419:デフォルトの名無しさん
11/02/01 20:28:57 .net
>>415
んなもんあったっけ??
420:デフォルトの名無しさん
11/02/02 01:05:26 .net
>>416
話解らない奴だな
OpenCL H.264/AVC Encoder SDK Beta
どうなんだって聞いてるんだから答えろやクソが
421:デフォルトの名無しさん
11/02/02 15:44:26 .net
>>417
それAMD製じゃないしAMD専用でも無いじゃん
URLリンク(www.mainconcept.com)
422:デフォルトの名無しさん
11/02/02 21:39:51 .net
>>417
ぷw
423:デフォルトの名無しさん
11/02/03 00:23:39 .net
>>414
OpenCLの関数ってほとんどノンブロッキングだから
OpenMP使わなくても並列に動作するんじゃないの?
試したことないからわからんけど
424:デフォルトの名無しさん
11/02/03 00:34:19 .net
>>420
と思ったんですよ。とりあえず同じコンテクストにデバイス2つ乗っけて、キューを二本立ててやってみると計算はされるんだけど、プロファイラーで動作みてみると見事に逐次実行されてて。コンテクスト2つ立ててもダメでした。
ヘテロジニアスなんて謳ってるわりに面倒ですよねぇ^^;
425:デフォルトの名無しさん
11/02/04 03:56:08 .net
>>421
OpenCLのコマンドキューはインオーダー実行がデフォだから
CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLEやらないと必ず逐次実行されるよ
426:デフォルトの名無しさん
11/02/04 20:08:07 .net
>>422
違うんですねー
OpenCLドライバは何故か初期から、OutOfOrderを付けても逐次実行されるんだわ。。。
いつか対応されるだろうと、一年くらい経過したけどまだ対応されてないとは
427:デフォルトの名無しさん
11/02/09 20:10:42 .net
428:="../test/read.cgi/tech/1228891105/421" target="_blank">>>421 プロファイラで実行すると逐次実行されるが、プロファイラ上でなければ並列実行される。 ジョブ投入や実行の時間を記録して表示させてみ。 また、同一コンテキストのメモリが二つのデバイスのどちらからでもアクセスできる裏技もあるよ。 最初のアクセスは遅いが、それ以降は早いので、CPU側に読み込んで書き戻すとかしなくてもダミーでメモリをアクセスするジョブを流せばデバイス間のデータ移動ができる。 1年ほど前にデバイス2本同時駆動の実験だけして本チャンの計算プログラムはまだつくってなかったな、そういや。
429:デフォルトの名無しさん
11/03/08 07:32:39.91 .net
昨日1日使ってボトルネックをOpenCLに移植したけど、
余計遅くなったわ。やれやれ
430:デフォルトの名無しさん
11/03/08 08:28:07.93 .net
ボトルネックを移植するんじゃなくてOpenCLに向いている部分を移植しろよ
または並列性を極大化したりif文などの分岐を全部排除するなどアルゴリズム最適化をしてみれば?
431:デフォルトの名無しさん
11/04/07 03:06:36.77 .net
VLIW5のtパイプ埋まらん
432:デフォルトの名無しさん
11/04/13 04:08:44.89 .net
深く考えずに2^26スレッドenqueueしたらひどいことになった。
433:デフォルトの名無しさん
11/04/21 23:37:32.85 .net
なんでこれ有料なんだ?
URLリンク(web.me.com)
434:デフォルトの名無しさん
11/04/22 00:28:47.04 .net
Appleが提供しているツールならまだしも第三者が開発しているツールを無料にしろってのは横暴だろ
シェアウェアや市販ソフトを完全否定なお人ですか?
435:デフォルトの名無しさん
11/04/23 23:18:19.02 .net
AMD APPのOpenCLについてご存じの方がいたら教えて欲しいんですが、
wavefront=64 って事は、例えばwork_group = 128 の場合 work_itemが64ずつ完全に並列実行って認識で合ってるでしょうか?
(wavefront内のやりとりは同期が必要ないかどうかを知りたいです)
436:デフォルトの名無しさん
11/04/24 03:56:08.00 .net
>>431
何の保証もないけど、今のところ大丈夫な気がする。
437:デフォルトの名無しさん
11/04/24 05:50:16.61 .net
最大3クロックのタイミング差があると思うんだけど。
438:デフォルトの名無しさん
11/05/26 04:58:19.55 .net
XOR_INT*4とMULADD*4が同じ時間食うって納得いかん…
439:デフォルトの名無しさん
11/06/14 22:58:32.16 .net
for(d=0;省略){
clSetKernelArg(省略&d);
clEnqueueNDRangekernel(省略);
clEnqueueReadBuffer(省略);
for(省略){読み出したメモリ合算}
}
で1024*dで実行して
読み出して合算して再度実行・・・の形にしてもアドレス違反が起きてしまう・・・
イベントリストもバリア同期も意味なし
GPU実行でアドレス違反は画面だけ真っ黒になってびっくりした
デバックはCPUデバイス使ったほうがいいよ
440:デフォルトの名無しさん
11/06/26 01:59:15.81 .net
最近OpenCLに興味もったんですが皆さん楽しいですか?
441:デフォルトの名無しさん
11/06/26 14:59:58.32 .net
楽しいとか楽しくないとか問題じゃねえよ
442:デフォルトの名無しさん
11/06/26 15:03:37.91 .net
でっかいうんこかどうかだな
443:デフォルトの名無しさん
11/07/04 00:47:28.82 .net
AMD gDEBugger
URLリンク(developer.amd.com)
いろいろ便利かもな
444:デフォルトの名無しさん
11/07/04 00:50:00.35 .net
nsightもOpenCLデバッグ対応してなかったっけ?
445:天使 ◆uL5esZLBSE
11/07/04 06:50:33.14 .net
2011年になっても未だにJAVA使い続けてる奴ってさ
仕事で仕方なくならわかるけど
家でもJAVAやってるなら本当にバカだよね。哀れ
ゴミだし
446:デフォルトの名無しさん
11/07/04 07:59:16.86 .net
最近みかける天使うぜー死ねと思っていたが
松本龍の阿呆発言と比べると実害無いだけマシだと思った
447:デフォルトの名無しさん
11/07/05 22:49:02.30 .net
つまんねー書き込みしてないでとっととNG登録しろよ
448:デフォルトの名無しさん
11/07/05 22:51:03.29 .net
このコテハン「天使 ◆uL5esZLBSE」は天才チンパンジー「アイちゃん」が
言語訓練のために使用しているハンドルです。
アイと研究員とのやり取りに利用する書き込みなので、
関係者以外はレスしないで下さい。
京都大学霊長類研究所
449:デフォルトの名無しさん
11/07/06 01:40:07.31 .net
intelのopencl SDKをlinuxにインスコったけどコンパイルのやり方わからん
gcc使ってどうにかならんの?
450:デフォルトの名無しさん
11/07/06 09:49:42.54 .net
OpenCLってもう1年もバージョン変わって無いけど、開発中止したの?
451:デフォルトの名無しさん
11/07/06 11:06:10.67 .net
バージョンUPしなくていいほど今の版が完成されたすばらしい出来だという事なんだよ
という事にしておきたい
452:デフォルトの名無しさん
11/07/06 11:57:01.57 .net
グラボはどんどん進化してるのに、ライブラリは完成されてるとかねーよ
453:デフォルトの名無しさん
11/07/06 18:08:10.55 .net
進化しても演算部分のコンパイラが底まで進化する必要があるか?
MSのCPUコンパイラさえ基本的には10年以上前のCPUでも動くような最適化レベルで止まっているしな。
GPUとして使うならまだしもGPGPUとして処理するならコンパイラは基本部分だけで、あとはドライバの進化で十分かと
454:デフォルトの名無しさん
11/07/09 07:08:13.67 .net
>>439
それってGPU1枚だけでも使えるの?
requirementsにはハードウェアのことが書いてない
455:1
11/07/26 06:44:48.46 .net
スレリンク(dataroom板)
456:デフォルトの名無しさん
11/07/27 23:22:22.79 .net
HD4850が最新のドライバではOpenCL動かないし、古いドライバでは動くがゲロ遅
アムドはあかんな
457:デフォルトの名無しさん
11/07/28 01:08:32.77 .net
>>452
4870 + CCC 11.6 で OpenCL 動いてるけど、
もしかして 11.7 では動かなくなるのかな ?
458:デフォルトの名無しさん
11/07/28 14:50:27.81 .net
HD4850, APP 2.4, CCC 11.6で動かず(カーネルコンパイルエラー)。
ググったら4xxxは11.6じゃ動かないから11.5にしろと言うことで11.5にしたら動いた。
459:デフォルトの名無しさん
11/07/28 15:07:33.48 .net
アムドとか言ってるあたりでお察し・・・
460:デフォルトの名無しさん
11/07/28 20:28:57.67 .net
アムドいうただけでレッテル貼りとかどんだけ・・・
ヌビディアはOpenCL対応あかんね
1.0のくせに1.1用の関数を使ってもコンパイル・リンクが通る
でも、clEnqueueWriteBufferRectとか実行したらセグメンテーション違反
なめとるで
461:デフォルトの名無しさん
11/07/29 09:43:45.32 .net
どっちも自社ライブラリ使えってことだよ
462:デフォルトの名無しさん
11/07/29 12:23:00.19 .net
data parallelで簡単な2重forならできるけどそれ使って複雑な計算するのが
できぬ・・・CUDAと違って1024が最大なのがネック
463:452
11/07/30 22:03:20.57 .net
職場のC1060に家パソのHD4850が10倍以上の大差で惨敗してムカついたのでHD6950買ってきた。
2倍以上でHD6950の勝利!
アムド最高やで
464:デフォルトの名無しさん
11/07/30 22:25:54.10 .net
6970や6990じゃなくて6950なのか。てかC1060はもうどうでもよかろう。
465:デフォルトの名無しさん
11/07/30 23:10:14.10 .net
>>460
C1060はどうでもええことないよ。
だって、職場の計算機の貴重な戦力だし。
6950にしたのは家パソ用に高い板を買う気はないから。
466:デフォルトの名無しさん
11/08/01 20:49:14.86 .net
いつの間にか WebCL とか出来てて驚いた。
WebGL は色々使い道あるけど、WebCL は需要が分からん。
467:デフォルトの名無しさん
11/08/01 21:47:49.14 .net
WebGLについてはこちらでお願いします
【O3D】HTML5用 3D API WebGL 【Canvas:3D】
スレリンク(tech板)
468:デフォルトの名無しさん
11/08/01 22:13:20.26 .net
WebGLの話なんてしてないが
469:デフォルトの名無しさん
11/08/01 23:26:04.83 .net
サイトを開くだけで分散コンピューティングに参加…胸熱。
470:デフォルトの名無しさん
11/08/02 10:29:42.77 .net
URLリンク(www.infoq.com)
これか
確かにブラウザ上で並列処理する必要性がよくわからんな
471:デフォルトの名無しさん
11/08/02 14:03:26.64 .net
頻繁にメインメモリと同期するような計算にはJavaScriptが遅くて使い物にならないだろうし
重い処理を単発でやるだけならサーバーでやればいいだけな気がする
わざわざWebで激しく環境依存するようなことをやる意味が分からん
472:デフォルトの名無しさん
11/08/02 15:29:27.41 .net
技術というのは、早い者勝ちでなぁ
仕様などをはやめに決めておかないと、特許やらパクリと言われたりとかなんやらで面倒な事になってしまうんだ
あと名を残したい人が作ったりするんだ
役に立つとか使えるとか、そんなの関係無いんだ
473:デフォルトの名無しさん
11/08/02 16:18:14.25 .net
それはわかるんだが、特許を取るタイミングとかが難しいよな
取得にも維持費もかかるし、早すぎると普及した一番儲かる時期に特許権が切れて利益にならないとか
まー特許引き延ばしって裏技もあるけど
474:デフォルトの名無しさん
11/08/02 19:41:55.79 .net
まあ、あれや
OpenCL CはJITやから、LL言語からでもグルーライブラリを組めば簡単に使える。
そら、試してみたくもなるわな。
しかし、実際はOpenCL Cを使いこなさなあかんわけで、それほどハードルが低いわけやないと。
んで、環境依存しまくりいうけど、マルチコアプロセッサ用のOpenCLライブラリもIntel, AMDから出てるわけで、もはや大概の環境でOpenCLは使えまっせ。
475:デフォルトの名無しさん
11/08/03 01:09:07.14 .net
ブラウザで超広大なライフゲーム
476:デフォルトの名無しさん
11/08/04 04:52:42.94 .net
APP SDK 2.5 で BFI_INT が使われるようになったけど、
bitselect() 使うとだめで、 (x & 0xf0f0f0f0) | (y & 0x0f0f0f0f) の型だと OK みたい。
477:デフォルトの名無しさん
11/08/04 18:42:12.38 .net
CAL ILコンパイラはもう誰もメンテできないんだろうな。BFI_INT を付け足すのがそんなに苦痛かね?
AMDはLLVMのラデバックエンドに挑戦しているようだけど、果たして新アーキに切り替わる前に
モノにできるんだろうか?
478:デフォルトの名無しさん
11/08/04 23:21:28.44 .net
OpenCLってCellみたいなプロセッサが普及しないと面白くないよね。
GPU型の抽象化だけじゃ。
479:デフォルトの名無しさん
11/08/05 09:45:21.35 .net
そのCellがコケたからなー
発想が速すぎた
今の技術で開発していれば、大人気だったかもしれないのに
480:デフォルトの名無しさん
11/08/06 00:40:12.65 .net
i7であえてOpenCL
481:デフォルトの名無しさん
11/08/06 02:51:44.01 .net
OpenCLのアプリを配布するときってAMDとnVidiaで別に実行ファイル作らなきゃいけないの?
482:デフォルトの名無しさん
11/08/06 03:08:35.23 .net
何でんなこと思った。
483:デフォルトの名無しさん
11/08/06 03:57:16.00 .net
今のところ、OpenCLなアプリケーションを"配布"するための良い方法は無い。(除 MacOS X)
484:デフォルトの名無しさん
11/08/06 07:16:37.83 .net
*.cl カーネルを露出させるのがそんなに恥ずかしいか!
難読化するだけだったら gzip してバイナリに埋め込んどくのが楽かもね。
485:デフォルトの名無しさん
11/08/07 08:06:38.42 .net
nVidiaから最新ドライバでOpenCL1.1対応とかメールきたんだけど、
ドライバとりに行ったらLinux用はまだじゃねーか。
ざけんなー。
486:デフォルトの名無しさん
11/08/07 08:08:49.28 .net
>>480
恥ずかしいというよりノウハウの塊だから出したくない人はいるだろう。
487:デフォルトの名無しさん
11/08/08 05:22:20.10 .net
Windows用OpenCL1.1ドライバを試してみたが、
どうも上手く動かないのでもう一寸待った方が良いと思う
488:デフォルトの名無しさん
11/08/09 01:37:46.04 .net
>>428
門外不出のノウハウ=世間一般には知られていない。
つまり各分野
489:の研究者すら出し抜く大発見ってことだぞw
490:デフォルトの名無しさん
11/08/11 20:59:03.48 .net
>>484
ノウハウが全て開示されているとでも思っているのか?
491:デフォルトの名無しさん
11/08/11 22:05:51.96 .net
世間一般に知られていなければ十分じゃん
492:デフォルトの名無しさん
11/08/12 21:31:49.60 .net
世間一般に知られないようにするためにカーネルを晒したくないわけだろ
493:デフォルトの名無しさん
11/08/14 01:34:57.52 .net
>>473
CAL ILコンパイラ自体はいまだに新命令追加されているよ。
64bitINT除算とかはドキュメント化までされている。
ドキュメントにはなっていないけど、wave_idとかは
Appendix Bにはこっそり追加されて、実際テキストで
1OP命令として書けば使える。
でもBFI_INTは置いてけぼり
494:デフォルトの名無しさん
11/08/14 09:57:57.76 .net
マスクが定数なら、iand,iand,ior で BFI_INT になるとおもうけど、
そうじゃないときになー。
495:デフォルトの名無しさん
11/08/31 17:10:54.28 .net
初心者です。
Cで書かれた演算プログラムを高速化させたいと思っています。
この元のプログラムをホストプログラムとして、OpenCL用に書き換えて、高速化させたい演算部分を引っこ抜いてカーネルプログラムとして書き換えるというやり方でいいのでしょうか?
また、このようなCのプログラムをOpenCL用に書き換える作業を解説しているサイトや書籍はあるのでしょうか?
当方LINUXでのプログラミングをしております。
496:デフォルトの名無しさん
11/08/31 21:06:58.51 .net
並列化はアルゴリズムをかなり選ぶよ。GPGPUなんて尚更。
まず普通にマルチスレッドで並列化してみたら?
497:デフォルトの名無しさん
11/09/15 10:02:24.21 .net
opencl用の自動並列化コンパイラってある?
498:デフォルトの名無しさん
11/09/16 05:07:07.00 .net
>>490
そのやりかたでいいさ。
2重ループを1重ループ2つにわけるとか。
あとはほとんどC言語と同じだから書き換えるところも少ないんじゃないか?
499:デフォルトの名無しさん
11/09/16 18:41:47.81 .net
「Ivy Bridge」プロセッサ、「OpenCL 」をサポート
500:デフォルトの名無しさん
11/09/16 23:43:18.97 .net
OpenCLを使ったおぉっとなるアプリってありますか?
501:デフォルトの名無しさん
11/09/17 08:21:50.52 .net
うわぁってなるあぷりならある
502:デフォルトの名無しさん
11/09/17 08:36:22.90 .net
たとえば?
503:デフォルトの名無しさん
11/09/17 18:08:09.83 .net
まってて、ちょっと調べてくる
504:デフォルトの名無しさん
11/09/18 07:57:32.03 .net
つ「URLリンク(www.geeks3d.com)」
505:デフォルトの名無しさん
11/09/23 23:20:48.33 .net
なんでAMDのOpenCLってこんなにサポートが糞なの?
506:デフォルトの名無しさん
11/09/24 06:50:26.05 .net
OpenCLに関しちゃAMDが一番マシじゃね。
507:デフォルトの名無しさん
11/09/24 15:07:51.08 .net
>>500
ヒトイネ
508:デフォルトの名無しさん
11/09/27 22:25:38.34 .net
>500
バグレポートしたら、ちゃんと対応してもらえたよ?
509:デフォルトの名無しさん
11/10/03 02:47:52.78 .net
もしかして関数呼び出しはOpenCL Cで記述出来ない...?
cudaでいう__device__のように記述出来るかと思ったらそんなことはないのかひどいぞこれは
510:デフォルトの名無しさん
11/10/03 02:54:10.32 .net
そんなことはなかったすみませんでした
511:デフォルトの名無しさん
11/10/03 22:18:02.72 .net
>>503
バグレポートなんか出来るの?
512:デフォルトの名無しさん
11/10/04 00:03:56.22 .net
コンパイル時に死ぬバグだけどコンパイラのサポート窓口は分からなかったので
KernelAnalyzerのAboutにあるメアドに「KernelAnalyzerが死ぬんだけど」
って送った。(嘘はついてないつもり)
コンパイラチームに転送してくれて11.10/2.6で直るって連絡来たよ。
実行時に死ぬのとか結果が変なのもForumに書けば結構みてくれるよ。
513:デフォルトの名無しさん
11/10/05 23:41:21.79 .net
>>507
Forumに書いても放置が多いみたいで困る。。
514:デフォルトの名無しさん
11/10/06 05:23:23.41 .net
俺が今書いてるJavaプログラムの中で
2つのbyte配列に対する100~5万回くらいの論理積(単にforループで2つの配列の論理積をとる)が頻繁に発生するんだけど
そういうとこでOpenCL使ったら高速化期待できる?
まとめて100万回くらいならGPUが速そうなんだけど
100回で済むとかだとオーバーヘッドがでかいのかなと思って躊躇してる
515:デフォルトの名無しさん
11/10/06 18:38:50.63 .net
aparapiでも使ってみたら?
516:デフォルトの名無しさん
11/10/17 07:38:26.26 .net
C++のラッパーを最近使い始めたけどかなり使いやすいね。
とくにメモリ解放が楽になった。
517:デフォルトの名無しさん
11/11/02 21:22:05.07 .net
OpenCLは構造体のメモリオブジェクトを作成できますか?
CUDAだったら
typedef struct {
float *num;
} DATA;
DATA data;
cudaMalloc( &data.num, sizeof(float) * 1024 );
みたいにできるんですけど
518:デフォルトの名無しさん
11/11/02 23:38:01.05 .net
>>512
例が意味不明
それじゃGPU上に単なるfloat型の配列を確保して、
そのdeviceポインタをCPUの構造体メンバに代入しているだけ。
OpenCLでもGPU上にfloat型の配列をbufferとして確保して、
それをCPUの構造体メンバに代入することは出来る。
メンバ変数の型はfloat*では無く、cl_memだけどね。
でも、その配列自体をGPU側にコピーして、
間接アクセスしようとするとCUDAとOpenCLでは全く違う。
OpenCLではGPU上のポインタは1つのカーネル呼び出し内でしか
一貫性が保証されないから、ポインタを保存しておいて
次のカーネル呼び出しで使うという事が不可能
(cl_memはハンドルに過ぎず、OpenCLのランタイムは
GPU上のオブジェクトを再配置する可能性があるから)
まあ、やるとしたら大きなbufferをメモリプールとして生成して、offsetをポインタの代わりに保存
後でアクセスするときにはbufferを引数に渡して、それにoffset足した位置を触るという
形にするしかない。
まあ、CUDAでも実際にはこの方がCPUとGPUで同じデータを扱えるし、
性能面でも悪くないやり方なんだけど。
519:デフォルトの名無しさん
11/11/03 01:23:08.95 .net
ラデ外付けGPUに大量にデータを送りたいんだけど、1/4までって制限どうにかならないの?256MBまでしか送れん
520:デフォルトの名無しさん
11/11/03 10:05:29.53 .net
いや、1/4なのではなく 256MBまでという制限。
sizeof(float4) * 4096 * 4096.
521:デフォルトの名無しさん
11/11/03 10:38:23.81 .net
>>515
これって変えられないの?
522:デフォルトの名無しさん
11/11/04 11:46:02.78 .net
馬鹿には無理
523:デフォルトの名無しさん
11/11/07 02:56:58.68 .net
並列化させるのも結構苦労するよね。
簡単な演算ならいいけど、データ依存がちょっとでも複雑になると
動かすカーネルの順番とか数とか
気にしなきゃいけないことイパーイ
524:デフォルトの名無しさん
11/11/15 23:57:17.03 .net
OpenCL 1.2
URLリンク(www.khronos.org)
525:デフォルトの名無しさん
11/11/16 00:44:39.04 .net
NVIDIAのドライバがカオスになるな
gdgdの果てに漸く1.0対応が落ち着いたと思ったら
28x世代の1.1対応でまたおかしくなってまだ終息してないのに
526:デフォルトの名無しさん
11/11/16 01:54:02.46 .net
彼らにはCUDAがあるからなぁ。。
頑張る必要が無いのだろう。
527:デフォルトの名無しさん
11/11/19 02:59:11.80 .net
nVidiaはどこに向かっているんだ…
OpenACC : 新しい並列コンピューティングのためのプログラミング環境
URLリンク(www.shader.jp)
528:デフォルトの名無しさん
11/11/19 19:26:18.05 .net
それはOpenMPのGPU版みたいなものなので、CUDAやOpenCLとは衝突しない
529:デフォルトの名無しさん
11/11/19 20:50:05.10 .net
AlteraがFPGAでOpenCLを、とか言い出してて面白そうな感じ。
530:デフォルトの名無しさん
11/11/19 21:07:31.87 .net
C++AMPのNVIDIA版ぽいね
まぁC++AMPはNVIDIAでも動くけど
インライン記述の世代でどれが主導権を握れるかは気になるところ
531:デフォルトの名無しさん
11/11/19 23:38:32.61 .net
MSは最終的にC++AMPをオープンにすると言ってはいるが、結局オプソ系コミュニティがどう動くかだな
CPUの並列ライブラリはMSはOpenMPからPPL推し、オプソ系は主にTBBと別れてしまっているので、
GPUではどうにかして歩調を揃えてもらいたいところ
ただ、一応オープン化を標榜するC++ AMPに介入するわけでもなくかといってCUDAの様に自社GPU専用に囲い込むわけでもなく、
立ち位置の被るオープン規格を立ち上げたNVIDIAの意図が分からんといえば分からん
GPUに全てを賭けるメーカーとしては握れる手綱は全て握っておきたい、という事なのかな
532:デフォルトの名無しさん
11/11/20 01:50:41.74 .net
>>523
使う側は思いっきり衝突するだろ
533:デフォルトの名無しさん
11/11/20 02:32:04.15 .net
>>522
PGI Accelerator が元になっているのかな?
URLリンク(www.softek.co.jp)
534:デフォルトの名無しさん
11/11/22 14:27:24.23 .net
インタビューで簡単にOpenACCについてふれてる
URLリンク(insidehpc.com)
535:デフォルトの名無しさん
11/11/22 23:50:42.88 .net
カーネルの実行順位はイベントで指定できる
OpenCLのバイナリコンパイルと読み込みうまくできない・・・
バイナリなしだと環境自由になるけど
ソース丸出しになるから計算高速化くらいしか使い道ないね
536:デフォルトの名無しさん
11/11/25 00:37:00.99 .net
1.2の新機能
URLリンク(www.streamcomputing.eu)
537:デフォルトの名無しさん
11/11/25 22:22:16.51 .net
>>531
ダイナミックに追加が変更があったのって、DirectX関係だけだな。。。
538:デフォルトの名無しさん
11/11/28 10:27:25.45 .net
なんかもーGPUメーカーは独自に動いてるし、開発する気無いだろw
539:デフォルトの名無しさん
11/11/29 19:35:56.69 .net
intel CPU制限多すぎ・・・SSE4.1対応って書いておいてくれよ・・・
core2 quad全部対応してるかのようなのはやめてほしい・・・
XPで使えないのはちょっと困る・・・
540:デフォルトの名無しさん
11/11/29 23:11:26.28 .net
SSE見逃してたごめん
541:デフォルトの名無しさん
11/11/30 00:12:08.31 .net
SSEぐらいOpenCL使わなくってもいいじゃん
542:デフォルトの名無しさん
11/11/30 00:50:42.75 .net
>>536
OpenCLの機能実現するのに都合がいい命令がSSE4.1にあるからインテルの開発ツールはSSE4.1対応の世代以降でないと使えないんだよ
どうせ普及する頃には古い世代のCPUいなくなってるよねって方針なんだろ
543:デフォルトの名無しさん
11/11/30 00:58:02.95 .net
GPUが使えない環境での互換性用と割り切って広くサポートしてくれたほうがまだ有用なのにな
544:デフォルトの名無しさん
11/12/05 06:55:31.93 .net
構造体そのままカーネルに放り投げられない・・・
x.yに配列分けなくちゃだめか・・・
GPU正直CUDAのほうが楽だよね・・・
CPUとGPU同時並列に魅力感じてたけど
両方ともスレッドが少なすぎて・・・
545:デフォルトの名無しさん
11/12/05 09:48:13.49 .net
なにいってるんだ?
546:デフォルトの名無しさん
11/12/05 11:51:31.75 .net
構造体 a
int x;
int y;
の配列をそのままメモリバッファにコピーしても
うまくいかなかったので・・・
AMDのカーネルアナライザーでエラーがでてたんです
if(a[id].x-a[id].y){}
結局配列分割してコピーしました・・・
547:デフォルトの名無しさん
11/12/05 12:04:37.78 .net
組み込みのint2でいいじゃない。
548:デフォルトの名無しさん
11/12/05 16:36:44.62 .net
そうですね
それで組み込んでみます
549:542
11/12/05 21:49:58.78 .net
>>543
まず無いだろうけど、別スレッドで
同じ添え字のxとyをバラバラに更新すると嵌るよ。
550:543
11/12/06 04:05:54.65 .net
>>544
xを固定してyの値すべて計算して次のxへという
九九を生成するようなマニアックな使い方をしてるんです・・・
551:542
11/12/06 07:51:19.62 .net
それなら分けた方がいいと思う。
552:543
11/12/06 09:23:20.52 .net
そうしてみます!
553:デフォルトの名無しさん
11/12/07 22:41:57.13 .net
ふう・・・ついに完成しました
ちまちま25%使うよりフルロードはいいですね
ただ、オーバーヘッドがいくらあるからはわかりませんが・・・
554:デフォルトの名無しさん
11/12/08 07:31:00.39 .net
256MBの制限に引っかかって処理が止まるorz
これの上限増やせないのか?
555:デフォルトの名無しさん
11/12/08 10:09:58.25 .net
>>549
グローバルメモリが足りない・・・のかな?
URLリンク(www.ozone3d.net)
これで確認してみて
それかワークスレッドの設定が悪いのかも
556:デフォルトの名無しさん
11/12/08 11:03:39.84 .net
>>550
なんでダメか分かった、ありがとう
ローカルメモリ32kbしかないのに2mb使おうとしてたwww
557:デフォルトの名無しさん
11/12/08 14:28:54.91 .net
>>551
使い捨てる変数の宣言くらいがちょうどいいよ
NVIDIAはローカルメモリ使わないと倍ぐらい遅くなるけど
他はそうでもないから(OpenCL入門に比較があったよ)
グローバルで問題ないと思うよ
558:デフォルトの名無しさん
11/12/15 20:39:38.90 .net
URLリンク(www.4gamer.net)
おまいらこれからもOpenCLにしがみついて行くの?
559:デフォルトの名無しさん
11/12/15 20:44:38.54 .net
CUDAはGPUしかできないけど一度により多くの処理ができる
OpenCLはCPUとGPUを同時並列処理ができるのが魅力
どっちにも特化した特性があるからプログラムしだいだよ
560:デフォルトの名無しさん
11/12/15 22:16:31.17 .net
GPUには留まらない図が載ってるよ、ヌフォの所に
561:デフォルトの名無しさん
11/12/15 22:40:09.72 .net
もうGPU固有じゃなくなってきたのね・・・
カーネル丸出しのCLは論文すら少ない・・・
562:デフォルトの名無しさん
11/12/26 03:28:48.61 .net
引数の渡し方が面倒なんだよなー
思わぬところでバグが出たりする
563:デフォルトの名無しさん
12/01/18 10:01:49.46 .net
openclを実用的に使うにはどんな環境がおすすめでしょうか
564:デフォルトの名無しさん
12/01/18 10:11:34.51 .net
いつでもCUDAに逃げられる環境
565:デフォルトの名無しさん
12/01/18 22:05:36.88 .net
nVidiaってこと?
566:デフォルトの名無しさん
12/01/19 09:51:18.68 .net
グラフィックボードは倍精度不動小数点数(cl_amd_fp64)が利用可能な
Radeon HD 7900、6900、5900/5800 シリーズがおすすめ
URLリンク(blog.tommy6.net)
567:デフォルトの名無しさん
12/01/19 16:52:31.76 .net
宗教戦争が始まりそうだな
568:デフォルトの名無しさん
12/01/19 17:05:38.23 .net
>>561
紹介thx
569:デフォルトの名無しさん
12/01/19 18:25:09.26 .net
どうせおまえらめんどくさい組み込み関数なんか使わないだろってことか?
570:デフォルトの名無しさん
12/01/23 19:34:34.31 .net
GCNでアセンブリが変わったのか、動かなくなってしまった・・・
571:デフォルトの名無しさん
12/01/25 02:58:13.00 .net
変わる以前にGCN対応ドライバ&ランタイムまだ出てないでしょ
CCC12.1Previewが出回ってるからそれ付属のSDKランタイムなら動くんじゃないの
572:デフォルトの名無しさん
12/01/25 03:08:02.37 .net
Kernel AnalyzerもTahiti対応版出てないしな
573:デフォルトの名無しさん
12/02/01 22:06:59.00 .net
RADEONとGeforce、ガチンコ対決ではごっちが速いの?
574:デフォルトの名無しさん
12/02/01 22:33:40.43 .net
ごっちかな
575:デフォルトの名無しさん
12/02/01 23:52:53.73 .net
そもそもガチンコな応用でOpenCLってまともに実績あるの?
576:デフォルトの名無しさん
12/02/02 00:02:24.64 .net
無ければなんだっての?
577:デフォルトの名無しさん
12/02/02 15:35:32.54 .net
いや別に問題ない
578:デフォルトの名無しさん
12/02/10 23:47:32.03 .net
とりあえず齧る分には公式のプログラミングガイド買っとけばおk?
579:デフォルトの名無しさん
12/02/13 02:50:23.08 .net
OK
C言語と同じ
580:デフォルトの名無しさん
12/02/22 23:40:42.01 .net
サブルーチンみたいにカーネルに直接引数渡して処理できればなぁ
アドレスを渡す時とかすげえ面倒。
581:デフォルトの名無しさん
12/02/23 01:38:17.77 .net
そんな気軽にあちこちで使うようなもんじゃないっしょ
582:デフォルトの名無しさん
12/03/08 16:45:33.65 .net
カーネルソース丸出しか
特定デバイス用にコンパイルしておかないと
いけないのがなあ
583:デフォルトの名無しさん
12/03/08 16:57:57.20 .net
大したことないやつほど隠したがる銭湯の法則
584:デフォルトの名無しさん
12/03/08 22:38:56.05 .net
BOINC的なもので使うと不正対策必要で、既知の答えも一緒に計算させたりして対策するんだけどエコじゃないて悩ましいよ
585:デフォルトの名無しさん
12/03/11 01:23:31.48 .net
それなら同じWU他のやつに配って結果一致したやつだけ採用、
合わなかったら更に配布して一致した方採用でいいんでないかね
どのみち普通にやったって計算エラーになるのもいるし
586:デフォルトの名無しさん
12/03/11 02:45:56.59 .net
つーかカーネルがソースコードだから
改竄される恐れがなんて懸念するような
プログラムなら、どんな形態で配るにせよ
ディスアセンブルされりゃ同じだって。
587:デフォルトの名無しさん
12/03/17 16:17:03.96 .net
個人PCでスパコンの1/1000の計算速度(10テラFLOPS)だってよ。スゲーな。
URLリンク(dualsocketworld.blog134.fc2.com)
588:デフォルトの名無しさん
12/03/18 17:23:23.96 .net
10TFLOPSっていうと10年前のスパコンの性能と同じくらいだな
589:デフォルトの名無しさん
12/03/18 20:53:01.85 .net
10年後に京の性能がご家庭に来るかというと、さすがにそうでもない感。
590:デフォルトの名無しさん
12/03/18 21:28:00.64 .net
物理的限界が近づいてきたからこれまでとは事情が違うよね。
無知な人は技術でなんとかなるって言っちゃうだろうけどw
591:デフォルトの名無しさん
12/03/18 23:15:06.83 .net
一般家庭にベクトル演算ってそんなに必要ない気が。。。
592:デフォルトの名無しさん
12/03/19 10:47:53.21 .net
O(n^2)の直接法のN体とか本当にベンチマーク以上の意味はないんだがな
実用コードはツリー法やFMM法を使う
593:デフォルトの名無しさん
12/03/19 17:14:11.16 .net
O(n^2)がツリー法だとO(n logn)に、FMMだとO(n)になるそうだ
www.kurims.kyoto-u.ac.jp/~kyodo/kokyuroku/contents/pdf/1084-12.pdf
594:デフォルトの名無しさん
12/04/13 00:11:16.74 .net
AdobeのCS6でOpenCLが使われているという噂を聞いたんだが、カーネルのソースコードとかどうやってるんだろうか
595:デフォルトの名無しさん
12/04/13 03:29:06.78 .net
>>589
Adobeのライセンス認証部分のコードだって、一緒にディスクに入ってるわけですよ。
どうにでもなる。
596:デフォルトの名無しさん
12/04/29 15:57:09.88 .net
Intel OpenCL SDKを使って開発をしようとしているのですが、CPUとGPUを非同期で
走らせる方法が分かりません。
サンプルなどないでしょうか?
597:デフォルトの名無しさん
12/04/29 20:57:55.38 .net
>>587
必ずしもそうでもない。もちろん限られたケースだが、空間ごとに時間刻みを変えたい場合とか、ツリー方とかだと複雑になりすぎてまだまだ難しい場合も多い。
そもそも、ツリーやFMMでも近傍場の計算は直接法だし、サンプルコードとして無意味ではない。
598:デフォルトの名無しさん
12/05/02 10:33:58.88 .net
>>591
CPU側を並列化してGPUを扱うスレッド/プロセスとCPU側の計算をするものに分ける
並列化、同期はお好みの方法で
599:デフォルトの名無しさん
12/06/27 01:05:42.85 .net
質問なんだけど今はAMD/nVidia/IntelどのSDKでビルドしても
AMD/nVidiaのドライバが入っている環境ならGPUが利用できるって理解でok?
600:デフォルトの名無しさん
12/06/27 21:29:31.15 .net
>>594
違うというか、根本的に違う
601:デフォルトの名無しさん
12/06/30 22:46:38.04 .net
>>594
理論上は合っているよ。
まあ、微妙に非互換だったり、ランタイムの
インストール方法など気を使わざるを得ないのが現実だが。
602:デフォルトの名無しさん
12/07/01 01:24:59.44 .net
>>595
603:デフォルトの名無しさん
12/07/01 12:56:18.02 .net
>>595
604:デフォルトの名無しさん
12/07/05 01:16:06.38 .net
GT440でclinfoしたら
Max compute units: 2
と出たんだけど、この2とGT440のCUDAコア96とはどういう関係にあるの?
605:デフォルトの名無しさん
12/07/05 12:03:19.25 .net
NVIDIAの場合
Max Compute unit = Streaming Multiprocessor(SM) = Streaming Multiprocessor eXtreme(SMX)
606:デフォルトの名無しさん
12/07/27 10:28:17.75 .net
CPUデバイスのランタイムを有効にするにはAMDかインテルのSDKをインストールしてもらうしかないの?
ランタイムだけのパッケージってある?
607:デフォルトの名無しさん
12/07/27 11:10:16.02 .net
>>601
Intel の Windows 用ならあるね。
AMD は知らん。
608:デフォルトの名無しさん
12/07/28 14:23:52.35 .net
URLリンク(software.intel.com)
のダウンロードリストボックスのOpenCL CPU only runtime(Windows* OS)ってやつか。
見落としてた。ありがとう。
609:デフォルトの名無しさん
12/07/30 20:27:19.07 .net
CPUでCLやっても遅いだけで意味無いなぁ
610:デフォルトの名無しさん
12/07/30 22:03:29.12 .net
>>604
どんなプログラムなのかしらないけど、ボクが試したのは充分速かったけどなぁ。
いやまあ、GPUと絶対値を比べればもちろん遅いけど。w
611:デフォルトの名無しさん
12/07/30 22:41:12.50 .net
CPUでOpenCL使うとお手軽にSIMD+マルチコア使えるな。
612:デフォルトの名無しさん
12/07/30 22:48:37.20 .net
ベンチも取らずに知ったか
613:デフォルトの名無しさん
12/07/31 00:12:55.35 .net
ベンチと言えば Intel と AMD で比べてみたら、Intel のほうがかなり速かった。
いやまあ、その PC の CPU は Intel だったんだけど。w
AMD な CPU だと逆転したりするのかなぁ。
614:デフォルトの名無しさん
12/07/31 07:48:58.72 .net
>>606
お手軽じゃねーっつの。
CPUでSIMDとマルチコアを使いたいためだけにOpenCLを使つかうならアホだわ。
615:デフォルトの名無しさん
12/07/31 10:50:46.32 .net
phoronixのベンチ見る限りだとAMDのSDKの方が速そうだったけど
616:デフォルトの名無しさん
12/07/31 18:30:47.41 .net
少なくともカーネル部分はお手軽だよ。
素のCで使うと準備が面倒だが
C++のラッパーなら大した事は無い。
617:デフォルトの名無しさん
12/07/31 22:46:48.26 .net
OpenCL以外でSIMDに自動で対応してくれるのってなにかあるの?
618:デフォルトの名無しさん
12/08/01 06:14:34.83 .net
インテルコンパイラ使っとけ。
それかFortranだな。
619:デフォルトの名無しさん
12/08/01 13:12:30.64 .net
simdと言っているのがSSEのパックドなインストラクションのことでいいならgccでもOK。
620:デフォルトの名無しさん
12/08/01 22:34:10.47 .net
gccじゃ自動ベクトル化は皆無に等しいだろ。
621:デフォルトの名無しさん
12/08/01 22:54:07.37 .net
ちょっと前までSSEwとか思ってたけど
これだけ並列プログラミングが普及してきてAVX2とかみると考え変わる
622:デフォルトの名無しさん
12/08/01 23:22:54.44 .net
>>611
んなアホな
CL用のメモリとのやり取りが発生するだけ無駄だよ
正直、マルチコアを使いたいならMPIが一番速い。
通信含めても。
OpenMPもなんだかんだであまり速くないな。
>>612
PGI はあまりコードの品質よくなかったな
623:デフォルトの名無しさん
12/08/02 00:32:11.20 .net
>>617
なんか解釈に誤解があるようだが。
マルチコアのどんなプログラムでもOpenCLで書けという話ではない。
OpenCLのカーネルとして記述できるような問題に
適用すれば、なんも考えずにSIMDもマルチコアも
使えるようになるし、そういう用途に限れば
OpenMPやMPIもしくはPOSIX threadとかで
真面目に書くよりお手軽だし、余程の玄人が
書くのでない限り素早く、速いコードが書ける。
CL用のメモリ云々言っておきながら、速度面で
マルチスレッドなOpenMPでなくマルチプロセスになる
MPIをすすめるあたり根本的に理解に問題があるような。
まあ、通信部分はintel MPIとかなら共有メモリ使うから
極端に不利にはならないけど、少なくともこれが最速とは行かない。
624:デフォルトの名無しさん
12/08/02 00:45:08.79 .net
てかさ、CL 用のメモリとのやりとりなんかしないよね?
いや、しないようにつくるよね????
>CPUでSIMDとマルチコアを使いたいためだけにOpenCLを使つかうならアホだわ。
うわ、アホって言われちゃった。てへ。
625:デフォルトの名無しさん
12/08/02 01:31:56.84 .net
OpenCLとMPIの並列化は全く別もんだし、
OpenCLとOpenMPの並列化もちょっと違う。
正直OpenCLのカーネルを書くくらいなら、
OpenMPを使った並列化の方が圧倒的に楽だわ。
OpenCLを使うメリットは複数のプラットフォームで動かすためだけだろ。
626:デフォルトの名無しさん
12/08/02 06:37:43.98 .net
無脳をさらすスレですか?
627:デフォルトの名無しさん
12/08/02 07:45:55.61 .net
>>619
CLデバイスとCPUは論理的に別物なんだからメモリ転送はいるだろ。
>>620
GPUがなければOpenMPなりMPIなりで並列動作しているというプログラムを作ればよい。
CPUの並列も面倒くさいのでCLでってのは手抜き杉
628:デフォルトの名無しさん
12/08/02 08:05:46.59 .net
>>622
CLで書くほうが手間がかかると思うが。。。
CPU用のコードとNVIDIA用のコード、ATI用のコードを用意するのはかなり大変だし。だからOpenCLが生まれたわけで。
629:デフォルトの名無しさん
12/08/02 08:07:44.71 .net
>>623
GPUがあればそっちをつかいたいのならCLを書くこと自体が手間とか言ってる場合じゃないだろ。
それ一本で済まそうというのが手抜きだっての。
CPUでCLつかっても無駄なオーバーヘッドが出るだけだし
630:デフォルトの名無しさん
12/08/02 08:13:47.37 .net
論理的に別なのはわかるけど
対象がCPUの時にはメモリコピーしないような実装になっててもおかしくないような気もする
631:デフォルトの名無しさん
12/08/02 08:14:10.39 .net
まあ、小さい規模のコードしか書いてない奴には分からんかもしれんが、
複数のハードウェアプラットフォームをそれぞれメンテしないといけなのは、
かなりの工数がかかるからな。
多少のパフォーマンスを犠牲にしても良いことなんて沢山あるんだよ。
632:デフォルトの名無しさん
12/08/02 09:23:17.69 .net
えぇ~・・・・・・。
キミタチは実際につかったことないんだね?
URLリンク(software.intel.com)
の Sharing Resources Efficiently とか読んでごらんよ。
633:デフォルトの名無しさん
12/08/02 23:04:54.27 .net
これは恥ずかしいw
634:デフォルトの名無しさん
12/08/03 00:10:12.73 .net
どれにレスしてんだか分からんレスがおおいな。
635:デフォルトの名無しさん
12/08/03 00:34:42.14 .net
このスレ、99割が誤爆レスだからな。
636:デフォルトの名無しさん
12/08/03 19:43:05.27 .net
>>630
> 、99割
0.99 割? 990% ?
どのスレに書こうとしてたの?
637:デフォルトの名無しさん
12/08/04 01:06:20.28 .net
だ ー か ー ら ー ぁ 誤 爆 で し ょ
638:デフォルトの名無しさん
12/08/08 17:52:37.24 .net
なんでこのスレこの板にあるんだ?
639:デフォルトの名無しさん
12/08/09 01:30:40.64 .net
OpenCLハードル高いなぁ
どの機材構成でどのプラットフォームでどう書けば速くなるか
検証すべき項目が多すぎる
640:デフォルトの名無しさん
12/08/09 02:10:21.89 .net
逆に考えるんだ
速さをあきらめればすべて解決する
641:デフォルトの名無しさん
12/08/09 02:22:49.56 .net
あちらを立てればこちらが立たずですなぁ
642:デフォルトの名無しさん
12/08/10 17:37:54.94 .net
週あすwでAPUの記事載ってて、OpenCLで何でも高速に出来るように書いてたなぁw
643:デフォルトの名無しさん
12/08/10 23:05:10.52 .net
write once, tune everywhere
644:デフォルトの名無しさん
12/08/10 23:06:13.71 .net
anywhereだったか
645:デフォルトの名無しさん
12/08/16 08:59:47.91 .net
OpenCL1.2ではデバイス分割ができるみたいだけど
それまでってどうやって並列化してたの?
コマンドキューをCompute Unit分生成してたの?
それともclEnqueueNDRangeKernelがいい感じに並列化してくれてたの?
646:デフォルトの名無しさん
12/08/17 04:01:39.09 .net
でっかく突っ込んだら普通にデスクトップがフリーズしてた。
647:デフォルトの名無しさん
12/08/21 22:38:27.42 .net
OpenCLで最速の構成教えて
648:デフォルトの名無しさん
12/08/22 00:38:21.46 .net
素晴らしいプログラマ
これに尽きるw
649:デフォルトの名無しさん
12/08/22 09:45:30.14 .net
>>642
Radeon の一番高いヤツをさせるだけさす。w
650:デフォルトの名無しさん
12/08/31 15:37:24.77 .net
APUより速いん?
651:デフォルトの名無しさん
12/09/06 03:18:56.29 .net
だれかOpenCLでOpenGL実装してくれ
652:デフォルトの名無しさん
12/09/08 00:09:32.81 .net
むしろOpenManko実装してくれ
653:デフォルトの名無しさん
12/09/08 01:20:37.10 .net
プロプライエタリですので
654:デフォルトの名無しさん
12/09/08 18:07:21.58 .net
OpenMankoはよ
655:デフォルトの名無しさん
12/09/08 22:36:50.84 .net
互換フリー0実装のKuperで我慢しとけ。
656:デフォルトの名無しさん
12/09/09 23:25:50.57 .net
Mankoは商用製品で我慢しろよ
657:デフォルトの名無しさん
12/09/20 15:05:43.24 .net
昔の日本はOpenだろ
658:デフォルトの名無しさん
12/09/27 04:12:39.50 .net
AMD Releases CodeXL Public Beta | SemiAccurate
URLリンク(semiaccurate.com)
659:デフォルトの名無しさん
12/10/05 01:09:53.66 .net
URLリンク(pc.watch.impress.co.jp)
660:デフォルトの名無しさん
12/10/05 01:15:43.73 .net
スレリンク(poverty板)
661:デフォルトの名無しさん
12/10/05 01:16:52.94 .net
URLリンク(prohardver.hu)
662:デフォルトの名無しさん
12/10/28 20:13:53.12 .net
意外と
663:デフォルトの名無しさん
12/11/30 23:33:09.24 .net
Khronos Releases Significant OpenCL 1.2 Specification Update | techPowerUp
URLリンク(www.techpowerup.com)
664:デフォルトの名無しさん
12/12/07 11:27:13.90 .net
OpenCLでパスワード解析
URLリンク(securityledger.com)
665:25-gpu-monster-devours-passwords-in-seconds/
666:デフォルトの名無しさん
12/12/20 01:25:19.05 .net
>>615
vetor extension記法でゴリゴリかく。
若しくは、-O3 -ftree-vectorize
但し、後者はまだまだ未熟なのは確かだね。
667:デフォルトの名無しさん
12/12/21 09:03:58.99 .net
最近OpenCLを本格的に始めたんだが、
OpenCLのいいところは、コンパイラを選ばない、
カーネル以外はC++で書けるといところかな。
CUDAだと同じことができるけど、ホスト側でNVCC以外使おうとするとちょっと面倒だ。
ただ、カーネルの最適化がコンパイラでもできるから、
パフォーマンスは出やすいな。
LLVMで最適化レベルって設定ができるのかな?
668:デフォルトの名無しさん
12/12/22 01:07:39.90 .net
>>661
アーキテクチャが何にでも対応できるが、
アーキテクチャによって最適なWARP(に相当するもの)の数が違ったり、
コアレセンスアクセスできる条件が違ったり、キャッシュの有無だったりで
結局はアーキテクチャ依存の最適化をしないと速くならないよ。
669:デフォルトの名無しさん
12/12/22 02:28:20.85 .net
場合によってはコンパイラのバージョン依存も。
670:デフォルトの名無しさん
12/12/24 05:32:34.90 .net
やっとCL使うネタが準備できた
楽しみだー
671:デフォルトの名無しさん
13/01/13 19:49:11.31 .net
Trinity APUで使ったらCPU使用率が50%(2コアなので1コアがフル稼働状態)になったが、こんなもんなの?
GPUで計算してるはずなんだが。
672:デフォルトの名無しさん
13/01/14 05:46:41.04 .net
ジョブの内容と数によるんでは。
673:デフォルトの名無しさん
13/01/14 21:42:22.31 .net
CUDA見たいに結果出るまでぽーりんぐしてんじゃないの?
674:デフォルトの名無しさん
13/01/14 22:02:09.36 .net
自分のマシンのFLOPS計るのはどのベンチがお勧め?
675:デフォルトの名無しさん
13/01/15 00:36:48.35 .net
クロックとシェーダの数を掛ければ。
676:デフォルトの名無しさん
13/01/15 12:44:28.36 .net
ちゃんとGPUで計算されてないだけじゃね
afterburnerかなんかでGPU側の使用率も見てる?
677:665
13/01/20 11:45:47.76 .net
Catalystのバージョン上げたらCPU使用率下がりました
678:デフォルトの名無しさん
13/01/21 06:12:45.45 .net
AMDのOpenCL SDKはCPU(SSE)デバイスもサポートしてるから
そっちで動いてたってことかな