さてついにOpenCLの仕様が公開されました。
http://www.khronos.org/opencl/
公式ページにはAPIのヘッダファイルが公開されており、
まだ実際に動かす事はできないもののプログラミングすることは可能となっています。
ということで、公開に先んじてプログラミングを始めてしまいましょう。
OpenCLプログラミング#1
■ このスレッドは過去ログ倉庫に格納されています
1a36 ◆K0BqlCB3.k
2008/12/10(水) 15:38:25516デフォルトの名無しさん
2011/11/03(木) 10:38:23.81 >>515
これって変えられないの?
これって変えられないの?
517デフォルトの名無しさん
2011/11/04(金) 11:46:02.78 馬鹿には無理
518デフォルトの名無しさん
2011/11/07(月) 02:56:58.68 並列化させるのも結構苦労するよね。
簡単な演算ならいいけど、データ依存がちょっとでも複雑になると
動かすカーネルの順番とか数とか
気にしなきゃいけないことイパーイ
簡単な演算ならいいけど、データ依存がちょっとでも複雑になると
動かすカーネルの順番とか数とか
気にしなきゃいけないことイパーイ
519デフォルトの名無しさん
2011/11/15(火) 23:57:17.03520デフォルトの名無しさん
2011/11/16(水) 00:44:39.04 NVIDIAのドライバがカオスになるな
gdgdの果てに漸く1.0対応が落ち着いたと思ったら
28x世代の1.1対応でまたおかしくなってまだ終息してないのに
gdgdの果てに漸く1.0対応が落ち着いたと思ったら
28x世代の1.1対応でまたおかしくなってまだ終息してないのに
521デフォルトの名無しさん
2011/11/16(水) 01:54:02.46 彼らにはCUDAがあるからなぁ。。
頑張る必要が無いのだろう。
頑張る必要が無いのだろう。
522デフォルトの名無しさん
2011/11/19(土) 02:59:11.80523デフォルトの名無しさん
2011/11/19(土) 19:26:18.05 それはOpenMPのGPU版みたいなものなので、CUDAやOpenCLとは衝突しない
524デフォルトの名無しさん
2011/11/19(土) 20:50:05.10 AlteraがFPGAでOpenCLを、とか言い出してて面白そうな感じ。
525デフォルトの名無しさん
2011/11/19(土) 21:07:31.87 C++AMPのNVIDIA版ぽいね
まぁC++AMPはNVIDIAでも動くけど
インライン記述の世代でどれが主導権を握れるかは気になるところ
まぁC++AMPはNVIDIAでも動くけど
インライン記述の世代でどれが主導権を握れるかは気になるところ
526デフォルトの名無しさん
2011/11/19(土) 23:38:32.61 MSは最終的にC++AMPをオープンにすると言ってはいるが、結局オプソ系コミュニティがどう動くかだな
CPUの並列ライブラリはMSはOpenMPからPPL推し、オプソ系は主にTBBと別れてしまっているので、
GPUではどうにかして歩調を揃えてもらいたいところ
ただ、一応オープン化を標榜するC++ AMPに介入するわけでもなくかといってCUDAの様に自社GPU専用に囲い込むわけでもなく、
立ち位置の被るオープン規格を立ち上げたNVIDIAの意図が分からんといえば分からん
GPUに全てを賭けるメーカーとしては握れる手綱は全て握っておきたい、という事なのかな
CPUの並列ライブラリはMSはOpenMPからPPL推し、オプソ系は主にTBBと別れてしまっているので、
GPUではどうにかして歩調を揃えてもらいたいところ
ただ、一応オープン化を標榜するC++ AMPに介入するわけでもなくかといってCUDAの様に自社GPU専用に囲い込むわけでもなく、
立ち位置の被るオープン規格を立ち上げたNVIDIAの意図が分からんといえば分からん
GPUに全てを賭けるメーカーとしては握れる手綱は全て握っておきたい、という事なのかな
527デフォルトの名無しさん
2011/11/20(日) 01:50:41.74 >>523
使う側は思いっきり衝突するだろ
使う側は思いっきり衝突するだろ
528デフォルトの名無しさん
2011/11/20(日) 02:32:04.15529デフォルトの名無しさん
2011/11/22(火) 14:27:24.23 インタビューで簡単にOpenACCについてふれてる
http://insidehpc.com/2011/11/21/cuda-reaches-5th-birthday-openacc-ramps-up/
http://insidehpc.com/2011/11/21/cuda-reaches-5th-birthday-openacc-ramps-up/
530デフォルトの名無しさん
2011/11/22(火) 23:50:42.88 カーネルの実行順位はイベントで指定できる
OpenCLのバイナリコンパイルと読み込みうまくできない・・・
バイナリなしだと環境自由になるけど
ソース丸出しになるから計算高速化くらいしか使い道ないね
OpenCLのバイナリコンパイルと読み込みうまくできない・・・
バイナリなしだと環境自由になるけど
ソース丸出しになるから計算高速化くらいしか使い道ないね
531デフォルトの名無しさん
2011/11/25(金) 00:37:00.99532デフォルトの名無しさん
2011/11/25(金) 22:22:16.51 >>531
ダイナミックに追加が変更があったのって、DirectX関係だけだな。。。
ダイナミックに追加が変更があったのって、DirectX関係だけだな。。。
533デフォルトの名無しさん
2011/11/28(月) 10:27:25.45 なんかもーGPUメーカーは独自に動いてるし、開発する気無いだろw
534デフォルトの名無しさん
2011/11/29(火) 19:35:56.69 intel CPU制限多すぎ・・・SSE4.1対応って書いておいてくれよ・・・
core2 quad全部対応してるかのようなのはやめてほしい・・・
XPで使えないのはちょっと困る・・・
core2 quad全部対応してるかのようなのはやめてほしい・・・
XPで使えないのはちょっと困る・・・
535デフォルトの名無しさん
2011/11/29(火) 23:11:26.28 SSE見逃してたごめん
536デフォルトの名無しさん
2011/11/30(水) 00:12:08.31 SSEぐらいOpenCL使わなくってもいいじゃん
537デフォルトの名無しさん
2011/11/30(水) 00:50:42.75 >>536
OpenCLの機能実現するのに都合がいい命令がSSE4.1にあるからインテルの開発ツールはSSE4.1対応の世代以降でないと使えないんだよ
どうせ普及する頃には古い世代のCPUいなくなってるよねって方針なんだろ
OpenCLの機能実現するのに都合がいい命令がSSE4.1にあるからインテルの開発ツールはSSE4.1対応の世代以降でないと使えないんだよ
どうせ普及する頃には古い世代のCPUいなくなってるよねって方針なんだろ
538デフォルトの名無しさん
2011/11/30(水) 00:58:02.95 GPUが使えない環境での互換性用と割り切って広くサポートしてくれたほうがまだ有用なのにな
539デフォルトの名無しさん
2011/12/05(月) 06:55:31.93 構造体そのままカーネルに放り投げられない・・・
x.yに配列分けなくちゃだめか・・・
GPU正直CUDAのほうが楽だよね・・・
CPUとGPU同時並列に魅力感じてたけど
両方ともスレッドが少なすぎて・・・
x.yに配列分けなくちゃだめか・・・
GPU正直CUDAのほうが楽だよね・・・
CPUとGPU同時並列に魅力感じてたけど
両方ともスレッドが少なすぎて・・・
540デフォルトの名無しさん
2011/12/05(月) 09:48:13.49 なにいってるんだ?
541デフォルトの名無しさん
2011/12/05(月) 11:51:31.75 構造体 a
int x;
int y;
の配列をそのままメモリバッファにコピーしても
うまくいかなかったので・・・
AMDのカーネルアナライザーでエラーがでてたんです
if(a[id].x-a[id].y){}
結局配列分割してコピーしました・・・
int x;
int y;
の配列をそのままメモリバッファにコピーしても
うまくいかなかったので・・・
AMDのカーネルアナライザーでエラーがでてたんです
if(a[id].x-a[id].y){}
結局配列分割してコピーしました・・・
542デフォルトの名無しさん
2011/12/05(月) 12:04:37.78 組み込みのint2でいいじゃない。
543デフォルトの名無しさん
2011/12/05(月) 16:36:44.62 そうですね
それで組み込んでみます
それで組み込んでみます
546542
2011/12/06(火) 07:51:19.62 それなら分けた方がいいと思う。
547543
2011/12/06(火) 09:23:20.52 そうしてみます!
548デフォルトの名無しさん
2011/12/07(水) 22:41:57.13 ふう・・・ついに完成しました
ちまちま25%使うよりフルロードはいいですね
ただ、オーバーヘッドがいくらあるからはわかりませんが・・・
ちまちま25%使うよりフルロードはいいですね
ただ、オーバーヘッドがいくらあるからはわかりませんが・・・
549デフォルトの名無しさん
2011/12/08(木) 07:31:00.39 256MBの制限に引っかかって処理が止まるorz
これの上限増やせないのか?
これの上限増やせないのか?
550デフォルトの名無しさん
2011/12/08(木) 10:09:58.25551デフォルトの名無しさん
2011/12/08(木) 11:03:39.84552デフォルトの名無しさん
2011/12/08(木) 14:28:54.91 >>551
使い捨てる変数の宣言くらいがちょうどいいよ
NVIDIAはローカルメモリ使わないと倍ぐらい遅くなるけど
他はそうでもないから(OpenCL入門に比較があったよ)
グローバルで問題ないと思うよ
使い捨てる変数の宣言くらいがちょうどいいよ
NVIDIAはローカルメモリ使わないと倍ぐらい遅くなるけど
他はそうでもないから(OpenCL入門に比較があったよ)
グローバルで問題ないと思うよ
553デフォルトの名無しさん
2011/12/15(木) 20:39:38.90554デフォルトの名無しさん
2011/12/15(木) 20:44:38.54 CUDAはGPUしかできないけど一度により多くの処理ができる
OpenCLはCPUとGPUを同時並列処理ができるのが魅力
どっちにも特化した特性があるからプログラムしだいだよ
OpenCLはCPUとGPUを同時並列処理ができるのが魅力
どっちにも特化した特性があるからプログラムしだいだよ
555デフォルトの名無しさん
2011/12/15(木) 22:16:31.17 GPUには留まらない図が載ってるよ、ヌフォの所に
556デフォルトの名無しさん
2011/12/15(木) 22:40:09.72 もうGPU固有じゃなくなってきたのね・・・
カーネル丸出しのCLは論文すら少ない・・・
カーネル丸出しのCLは論文すら少ない・・・
557デフォルトの名無しさん
2011/12/26(月) 03:28:48.61 引数の渡し方が面倒なんだよなー
思わぬところでバグが出たりする
思わぬところでバグが出たりする
558デフォルトの名無しさん
2012/01/18(水) 10:01:49.46 openclを実用的に使うにはどんな環境がおすすめでしょうか
559デフォルトの名無しさん
2012/01/18(水) 10:11:34.51 いつでもCUDAに逃げられる環境
560デフォルトの名無しさん
2012/01/18(水) 22:05:36.88 nVidiaってこと?
561デフォルトの名無しさん
2012/01/19(木) 09:51:18.68 グラフィックボードは倍精度不動小数点数(cl_amd_fp64)が利用可能な
Radeon HD 7900、6900、5900/5800 シリーズがおすすめ
http://blog.tommy6.net/archives/74
Radeon HD 7900、6900、5900/5800 シリーズがおすすめ
http://blog.tommy6.net/archives/74
562デフォルトの名無しさん
2012/01/19(木) 16:52:31.76 宗教戦争が始まりそうだな
563デフォルトの名無しさん
2012/01/19(木) 17:05:38.23 >>561
紹介thx
紹介thx
564デフォルトの名無しさん
2012/01/19(木) 18:25:09.26 どうせおまえらめんどくさい組み込み関数なんか使わないだろってことか?
565デフォルトの名無しさん
2012/01/23(月) 19:34:34.31 GCNでアセンブリが変わったのか、動かなくなってしまった・・・
566デフォルトの名無しさん
2012/01/25(水) 02:58:13.00 変わる以前にGCN対応ドライバ&ランタイムまだ出てないでしょ
CCC12.1Previewが出回ってるからそれ付属のSDKランタイムなら動くんじゃないの
CCC12.1Previewが出回ってるからそれ付属のSDKランタイムなら動くんじゃないの
567デフォルトの名無しさん
2012/01/25(水) 03:08:02.37 Kernel AnalyzerもTahiti対応版出てないしな
568デフォルトの名無しさん
2012/02/01(水) 22:06:59.00 RADEONとGeforce、ガチンコ対決ではごっちが速いの?
569デフォルトの名無しさん
2012/02/01(水) 22:33:40.43 ごっちかな
570デフォルトの名無しさん
2012/02/01(水) 23:52:53.73 そもそもガチンコな応用でOpenCLってまともに実績あるの?
571デフォルトの名無しさん
2012/02/02(木) 00:02:24.64 無ければなんだっての?
572デフォルトの名無しさん
2012/02/02(木) 15:35:32.54 いや別に問題ない
573デフォルトの名無しさん
2012/02/10(金) 23:47:32.03 とりあえず齧る分には公式のプログラミングガイド買っとけばおk?
574デフォルトの名無しさん
2012/02/13(月) 02:50:23.08 OK
C言語と同じ
C言語と同じ
575デフォルトの名無しさん
2012/02/22(水) 23:40:42.01 サブルーチンみたいにカーネルに直接引数渡して処理できればなぁ
アドレスを渡す時とかすげえ面倒。
アドレスを渡す時とかすげえ面倒。
576デフォルトの名無しさん
2012/02/23(木) 01:38:17.77 そんな気軽にあちこちで使うようなもんじゃないっしょ
577デフォルトの名無しさん
2012/03/08(木) 16:45:33.65 カーネルソース丸出しか
特定デバイス用にコンパイルしておかないと
いけないのがなあ
特定デバイス用にコンパイルしておかないと
いけないのがなあ
578デフォルトの名無しさん
2012/03/08(木) 16:57:57.20 大したことないやつほど隠したがる銭湯の法則
579デフォルトの名無しさん
2012/03/08(木) 22:38:56.05 BOINC的なもので使うと不正対策必要で、既知の答えも一緒に計算させたりして対策するんだけどエコじゃないて悩ましいよ
580デフォルトの名無しさん
2012/03/11(日) 01:23:31.48 それなら同じWU他のやつに配って結果一致したやつだけ採用、
合わなかったら更に配布して一致した方採用でいいんでないかね
どのみち普通にやったって計算エラーになるのもいるし
合わなかったら更に配布して一致した方採用でいいんでないかね
どのみち普通にやったって計算エラーになるのもいるし
581デフォルトの名無しさん
2012/03/11(日) 02:45:56.59 つーかカーネルがソースコードだから
改竄される恐れがなんて懸念するような
プログラムなら、どんな形態で配るにせよ
ディスアセンブルされりゃ同じだって。
改竄される恐れがなんて懸念するような
プログラムなら、どんな形態で配るにせよ
ディスアセンブルされりゃ同じだって。
582デフォルトの名無しさん
2012/03/17(土) 16:17:03.96 個人PCでスパコンの1/1000の計算速度(10テラFLOPS)だってよ。スゲーな。
http://dualsocketworld.blog134.fc2.com/blog-date-201202.html
http://dualsocketworld.blog134.fc2.com/blog-date-201202.html
583デフォルトの名無しさん
2012/03/18(日) 17:23:23.96 10TFLOPSっていうと10年前のスパコンの性能と同じくらいだな
584デフォルトの名無しさん
2012/03/18(日) 20:53:01.85 10年後に京の性能がご家庭に来るかというと、さすがにそうでもない感。
585デフォルトの名無しさん
2012/03/18(日) 21:28:00.64 物理的限界が近づいてきたからこれまでとは事情が違うよね。
無知な人は技術でなんとかなるって言っちゃうだろうけどw
無知な人は技術でなんとかなるって言っちゃうだろうけどw
586デフォルトの名無しさん
2012/03/18(日) 23:15:06.83 一般家庭にベクトル演算ってそんなに必要ない気が。。。
587デフォルトの名無しさん
2012/03/19(月) 10:47:53.21 O(n^2)の直接法のN体とか本当にベンチマーク以上の意味はないんだがな
実用コードはツリー法やFMM法を使う
実用コードはツリー法やFMM法を使う
588デフォルトの名無しさん
2012/03/19(月) 17:14:11.16 O(n^2)がツリー法だとO(n logn)に、FMMだとO(n)になるそうだ
www.kurims.kyoto-u.ac.jp/~kyodo/kokyuroku/contents/pdf/1084-12.pdf
www.kurims.kyoto-u.ac.jp/~kyodo/kokyuroku/contents/pdf/1084-12.pdf
589デフォルトの名無しさん
2012/04/13(金) 00:11:16.74 AdobeのCS6でOpenCLが使われているという噂を聞いたんだが、カーネルのソースコードとかどうやってるんだろうか
590デフォルトの名無しさん
2012/04/13(金) 03:29:06.78591デフォルトの名無しさん
2012/04/29(日) 15:57:09.88 Intel OpenCL SDKを使って開発をしようとしているのですが、CPUとGPUを非同期で
走らせる方法が分かりません。
サンプルなどないでしょうか?
走らせる方法が分かりません。
サンプルなどないでしょうか?
592デフォルトの名無しさん
2012/04/29(日) 20:57:55.38 >>587
必ずしもそうでもない。もちろん限られたケースだが、空間ごとに時間刻みを変えたい場合とか、ツリー方とかだと複雑になりすぎてまだまだ難しい場合も多い。
そもそも、ツリーやFMMでも近傍場の計算は直接法だし、サンプルコードとして無意味ではない。
必ずしもそうでもない。もちろん限られたケースだが、空間ごとに時間刻みを変えたい場合とか、ツリー方とかだと複雑になりすぎてまだまだ難しい場合も多い。
そもそも、ツリーやFMMでも近傍場の計算は直接法だし、サンプルコードとして無意味ではない。
593デフォルトの名無しさん
2012/05/02(水) 10:33:58.88594デフォルトの名無しさん
2012/06/27(水) 01:05:42.85 質問なんだけど今はAMD/nVidia/IntelどのSDKでビルドしても
AMD/nVidiaのドライバが入っている環境ならGPUが利用できるって理解でok?
AMD/nVidiaのドライバが入っている環境ならGPUが利用できるって理解でok?
595デフォルトの名無しさん
2012/06/27(水) 21:29:31.15 >>594
違うというか、根本的に違う
違うというか、根本的に違う
596デフォルトの名無しさん
2012/06/30(土) 22:46:38.04597デフォルトの名無しさん
2012/07/01(日) 01:24:59.44598デフォルトの名無しさん
2012/07/01(日) 12:56:18.02599デフォルトの名無しさん
2012/07/05(木) 01:16:06.38 GT440でclinfoしたら
Max compute units: 2
と出たんだけど、この2とGT440のCUDAコア96とはどういう関係にあるの?
Max compute units: 2
と出たんだけど、この2とGT440のCUDAコア96とはどういう関係にあるの?
600デフォルトの名無しさん
2012/07/05(木) 12:03:19.25 NVIDIAの場合
Max Compute unit = Streaming Multiprocessor(SM) = Streaming Multiprocessor eXtreme(SMX)
Max Compute unit = Streaming Multiprocessor(SM) = Streaming Multiprocessor eXtreme(SMX)
601デフォルトの名無しさん
2012/07/27(金) 10:28:17.75 CPUデバイスのランタイムを有効にするにはAMDかインテルのSDKをインストールしてもらうしかないの?
ランタイムだけのパッケージってある?
ランタイムだけのパッケージってある?
602デフォルトの名無しさん
2012/07/27(金) 11:10:16.02603デフォルトの名無しさん
2012/07/28(土) 14:23:52.35 http://software.intel.com/en-us/articles/vcsource-tools-opencl-sdk/
のダウンロードリストボックスのOpenCL CPU only runtime(Windows* OS)ってやつか。
見落としてた。ありがとう。
のダウンロードリストボックスのOpenCL CPU only runtime(Windows* OS)ってやつか。
見落としてた。ありがとう。
604デフォルトの名無しさん
2012/07/30(月) 20:27:19.07 CPUでCLやっても遅いだけで意味無いなぁ
605デフォルトの名無しさん
2012/07/30(月) 22:03:29.12606デフォルトの名無しさん
2012/07/30(月) 22:41:12.50 CPUでOpenCL使うとお手軽にSIMD+マルチコア使えるな。
607デフォルトの名無しさん
2012/07/30(月) 22:48:37.20 ベンチも取らずに知ったか
608デフォルトの名無しさん
2012/07/31(火) 00:12:55.35 ベンチと言えば Intel と AMD で比べてみたら、Intel のほうがかなり速かった。
いやまあ、その PC の CPU は Intel だったんだけど。w
AMD な CPU だと逆転したりするのかなぁ。
いやまあ、その PC の CPU は Intel だったんだけど。w
AMD な CPU だと逆転したりするのかなぁ。
609デフォルトの名無しさん
2012/07/31(火) 07:48:58.72610デフォルトの名無しさん
2012/07/31(火) 10:50:46.32 phoronixのベンチ見る限りだとAMDのSDKの方が速そうだったけど
611デフォルトの名無しさん
2012/07/31(火) 18:30:47.41 少なくともカーネル部分はお手軽だよ。
素のCで使うと準備が面倒だが
C++のラッパーなら大した事は無い。
素のCで使うと準備が面倒だが
C++のラッパーなら大した事は無い。
612デフォルトの名無しさん
2012/07/31(火) 22:46:48.26 OpenCL以外でSIMDに自動で対応してくれるのってなにかあるの?
613デフォルトの名無しさん
2012/08/01(水) 06:14:34.83 インテルコンパイラ使っとけ。
それかFortranだな。
それかFortranだな。
614デフォルトの名無しさん
2012/08/01(水) 13:12:30.64 simdと言っているのがSSEのパックドなインストラクションのことでいいならgccでもOK。
615デフォルトの名無しさん
2012/08/01(水) 22:34:10.47 gccじゃ自動ベクトル化は皆無に等しいだろ。
■ このスレッドは過去ログ倉庫に格納されています
