さてついにOpenCLの仕様が公開されました。
http://www.khronos.org/opencl/
公式ページにはAPIのヘッダファイルが公開されており、
まだ実際に動かす事はできないもののプログラミングすることは可能となっています。
ということで、公開に先んじてプログラミングを始めてしまいましょう。
OpenCLプログラミング#1
■ このスレッドは過去ログ倉庫に格納されています
1a36 ◆K0BqlCB3.k
2008/12/10(水) 15:38:25561デフォルトの名無しさん
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じゃ自動ベクトル化は皆無に等しいだろ。
616デフォルトの名無しさん
2012/08/01(水) 22:54:07.37 ちょっと前までSSEwとか思ってたけど
これだけ並列プログラミングが普及してきてAVX2とかみると考え変わる
これだけ並列プログラミングが普及してきてAVX2とかみると考え変わる
617デフォルトの名無しさん
2012/08/01(水) 23:22:54.44618デフォルトの名無しさん
2012/08/02(木) 00:32:11.20 >>617
なんか解釈に誤解があるようだが。
マルチコアのどんなプログラムでもOpenCLで書けという話ではない。
OpenCLのカーネルとして記述できるような問題に
適用すれば、なんも考えずにSIMDもマルチコアも
使えるようになるし、そういう用途に限れば
OpenMPやMPIもしくはPOSIX threadとかで
真面目に書くよりお手軽だし、余程の玄人が
書くのでない限り素早く、速いコードが書ける。
CL用のメモリ云々言っておきながら、速度面で
マルチスレッドなOpenMPでなくマルチプロセスになる
MPIをすすめるあたり根本的に理解に問題があるような。
まあ、通信部分はintel MPIとかなら共有メモリ使うから
極端に不利にはならないけど、少なくともこれが最速とは行かない。
なんか解釈に誤解があるようだが。
マルチコアのどんなプログラムでもOpenCLで書けという話ではない。
OpenCLのカーネルとして記述できるような問題に
適用すれば、なんも考えずにSIMDもマルチコアも
使えるようになるし、そういう用途に限れば
OpenMPやMPIもしくはPOSIX threadとかで
真面目に書くよりお手軽だし、余程の玄人が
書くのでない限り素早く、速いコードが書ける。
CL用のメモリ云々言っておきながら、速度面で
マルチスレッドなOpenMPでなくマルチプロセスになる
MPIをすすめるあたり根本的に理解に問題があるような。
まあ、通信部分はintel MPIとかなら共有メモリ使うから
極端に不利にはならないけど、少なくともこれが最速とは行かない。
619デフォルトの名無しさん
2012/08/02(木) 00:45:08.79 てかさ、CL 用のメモリとのやりとりなんかしないよね?
いや、しないようにつくるよね????
>CPUでSIMDとマルチコアを使いたいためだけにOpenCLを使つかうならアホだわ。
うわ、アホって言われちゃった。てへ。
いや、しないようにつくるよね????
>CPUでSIMDとマルチコアを使いたいためだけにOpenCLを使つかうならアホだわ。
うわ、アホって言われちゃった。てへ。
620デフォルトの名無しさん
2012/08/02(木) 01:31:56.84 OpenCLとMPIの並列化は全く別もんだし、
OpenCLとOpenMPの並列化もちょっと違う。
正直OpenCLのカーネルを書くくらいなら、
OpenMPを使った並列化の方が圧倒的に楽だわ。
OpenCLを使うメリットは複数のプラットフォームで動かすためだけだろ。
OpenCLとOpenMPの並列化もちょっと違う。
正直OpenCLのカーネルを書くくらいなら、
OpenMPを使った並列化の方が圧倒的に楽だわ。
OpenCLを使うメリットは複数のプラットフォームで動かすためだけだろ。
621デフォルトの名無しさん
2012/08/02(木) 06:37:43.98 無脳をさらすスレですか?
622デフォルトの名無しさん
2012/08/02(木) 07:45:55.61623デフォルトの名無しさん
2012/08/02(木) 08:05:46.59624デフォルトの名無しさん
2012/08/02(木) 08:07:44.71 >>623
GPUがあればそっちをつかいたいのならCLを書くこと自体が手間とか言ってる場合じゃないだろ。
それ一本で済まそうというのが手抜きだっての。
CPUでCLつかっても無駄なオーバーヘッドが出るだけだし
GPUがあればそっちをつかいたいのならCLを書くこと自体が手間とか言ってる場合じゃないだろ。
それ一本で済まそうというのが手抜きだっての。
CPUでCLつかっても無駄なオーバーヘッドが出るだけだし
625デフォルトの名無しさん
2012/08/02(木) 08:13:47.37 論理的に別なのはわかるけど
対象がCPUの時にはメモリコピーしないような実装になっててもおかしくないような気もする
対象がCPUの時にはメモリコピーしないような実装になっててもおかしくないような気もする
626デフォルトの名無しさん
2012/08/02(木) 08:14:10.39 まあ、小さい規模のコードしか書いてない奴には分からんかもしれんが、
複数のハードウェアプラットフォームをそれぞれメンテしないといけなのは、
かなりの工数がかかるからな。
多少のパフォーマンスを犠牲にしても良いことなんて沢山あるんだよ。
複数のハードウェアプラットフォームをそれぞれメンテしないといけなのは、
かなりの工数がかかるからな。
多少のパフォーマンスを犠牲にしても良いことなんて沢山あるんだよ。
627デフォルトの名無しさん
2012/08/02(木) 09:23:17.69 えぇ〜・・・・・・。
キミタチは実際につかったことないんだね?
ttp://software.intel.com/sites/landingpage/opencl/optimization-guide/index.htm
の Sharing Resources Efficiently とか読んでごらんよ。
キミタチは実際につかったことないんだね?
ttp://software.intel.com/sites/landingpage/opencl/optimization-guide/index.htm
の Sharing Resources Efficiently とか読んでごらんよ。
628デフォルトの名無しさん
2012/08/02(木) 23:04:54.27 これは恥ずかしいw
629デフォルトの名無しさん
2012/08/03(金) 00:10:12.73 どれにレスしてんだか分からんレスがおおいな。
630デフォルトの名無しさん
2012/08/03(金) 00:34:42.14 このスレ、99割が誤爆レスだからな。
631デフォルトの名無しさん
2012/08/03(金) 19:43:05.27632デフォルトの名無しさん
2012/08/04(土) 01:06:20.28 だ ー か ー ら ー ぁ 誤 爆 で し ょ
633デフォルトの名無しさん
2012/08/08(水) 17:52:37.24 なんでこのスレこの板にあるんだ?
634デフォルトの名無しさん
2012/08/09(木) 01:30:40.64 OpenCLハードル高いなぁ
どの機材構成でどのプラットフォームでどう書けば速くなるか
検証すべき項目が多すぎる
どの機材構成でどのプラットフォームでどう書けば速くなるか
検証すべき項目が多すぎる
635デフォルトの名無しさん
2012/08/09(木) 02:10:21.89 逆に考えるんだ
速さをあきらめればすべて解決する
速さをあきらめればすべて解決する
636デフォルトの名無しさん
2012/08/09(木) 02:22:49.56 あちらを立てればこちらが立たずですなぁ
637デフォルトの名無しさん
2012/08/10(金) 17:37:54.94 週あすwでAPUの記事載ってて、OpenCLで何でも高速に出来るように書いてたなぁw
638デフォルトの名無しさん
2012/08/10(金) 23:05:10.52 write once, tune everywhere
639デフォルトの名無しさん
2012/08/10(金) 23:06:13.71 anywhereだったか
640デフォルトの名無しさん
2012/08/16(木) 08:59:47.91 OpenCL1.2ではデバイス分割ができるみたいだけど
それまでってどうやって並列化してたの?
コマンドキューをCompute Unit分生成してたの?
それともclEnqueueNDRangeKernelがいい感じに並列化してくれてたの?
それまでってどうやって並列化してたの?
コマンドキューをCompute Unit分生成してたの?
それともclEnqueueNDRangeKernelがいい感じに並列化してくれてたの?
641デフォルトの名無しさん
2012/08/17(金) 04:01:39.09 でっかく突っ込んだら普通にデスクトップがフリーズしてた。
642デフォルトの名無しさん
2012/08/21(火) 22:38:27.42 OpenCLで最速の構成教えて
643デフォルトの名無しさん
2012/08/22(水) 00:38:21.46 素晴らしいプログラマ
これに尽きるw
これに尽きるw
644デフォルトの名無しさん
2012/08/22(水) 09:45:30.14 >>642
Radeon の一番高いヤツをさせるだけさす。w
Radeon の一番高いヤツをさせるだけさす。w
645デフォルトの名無しさん
2012/08/31(金) 15:37:24.77 APUより速いん?
646デフォルトの名無しさん
2012/09/06(木) 03:18:56.29 だれかOpenCLでOpenGL実装してくれ
647デフォルトの名無しさん
2012/09/08(土) 00:09:32.81 むしろOpenManko実装してくれ
648デフォルトの名無しさん
2012/09/08(土) 01:20:37.10 プロプライエタリですので
649デフォルトの名無しさん
2012/09/08(土) 18:07:21.58 OpenMankoはよ
650デフォルトの名無しさん
2012/09/08(土) 22:36:50.84 互換フリー0実装のKuperで我慢しとけ。
651デフォルトの名無しさん
2012/09/09(日) 23:25:50.57 Mankoは商用製品で我慢しろよ
652デフォルトの名無しさん
2012/09/20(木) 15:05:43.24 昔の日本はOpenだろ
653デフォルトの名無しさん
2012/09/27(木) 04:12:39.50 AMD Releases CodeXL Public Beta | SemiAccurate
http://semiaccurate.com/2012/09/25/amd-releases-codexl-public-beta/
http://semiaccurate.com/2012/09/25/amd-releases-codexl-public-beta/
654デフォルトの名無しさん
2012/10/05(金) 01:09:53.66655デフォルトの名無しさん
2012/10/05(金) 01:15:43.73656デフォルトの名無しさん
2012/10/05(金) 01:16:52.94657デフォルトの名無しさん
2012/10/28(日) 20:13:53.12 意外と
658デフォルトの名無しさん
2012/11/30(金) 23:33:09.24 Khronos Releases Significant OpenCL 1.2 Specification Update | techPowerUp
http://www.techpowerup.com/176413/Khronos-Releases-Significant-OpenCL-1.2-Specification-Update.html
http://www.techpowerup.com/176413/Khronos-Releases-Significant-OpenCL-1.2-Specification-Update.html
659デフォルトの名無しさん
2012/12/07(金) 11:27:13.90660デフォルトの名無しさん
2012/12/20(木) 01:25:19.05661デフォルトの名無しさん
2012/12/21(金) 09:03:58.99 最近OpenCLを本格的に始めたんだが、
OpenCLのいいところは、コンパイラを選ばない、
カーネル以外はC++で書けるといところかな。
CUDAだと同じことができるけど、ホスト側でNVCC以外使おうとするとちょっと面倒だ。
ただ、カーネルの最適化がコンパイラでもできるから、
パフォーマンスは出やすいな。
LLVMで最適化レベルって設定ができるのかな?
OpenCLのいいところは、コンパイラを選ばない、
カーネル以外はC++で書けるといところかな。
CUDAだと同じことができるけど、ホスト側でNVCC以外使おうとするとちょっと面倒だ。
ただ、カーネルの最適化がコンパイラでもできるから、
パフォーマンスは出やすいな。
LLVMで最適化レベルって設定ができるのかな?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】Jリーグ、43億円の赤字予算を承認 ★2 [鉄チーズ烏★]
- 40代教員、1億8600万円分の暗号資産だまし取られる 「警察手帳のような物」見せられ−滋賀県草津市 [蚤の市★]
- 上野動物園の双子パンダ、1月末に中国に返還へ 国内でパンダ不在に ★4 [蚤の市★]
- 【給食無償化】国が全額負担 自維公3党、近く合意へ★2 [ぐれ★]
- 【ラブホ】小川晶前市長、出直し立候補意向 周囲に伝達 群馬・前橋市長選 [ぐれ★]
- なだぎ武、イベントチケットが売れず悲鳴「10枚しか売れておりません」 [muffin★]
- ケンモメンの特技「否定する」「ケチをつける」「悪口を言う」「お客様気どりをする」👈こんなんでよく社会でやってけるな [856698234]
- 旅に出たい
- 維新・吉村はん「国民よ思い出せ! 悪夢の民主党時代を!!」 [592058334]
- 楽しく生きると決めたんだが
- 共産党っていま内部分裂してんの?
- レズだけどひま
