さてついにOpenCLの仕様が公開されました。
http://www.khronos.org/opencl/
公式ページにはAPIのヘッダファイルが公開されており、
まだ実際に動かす事はできないもののプログラミングすることは可能となっています。
ということで、公開に先んじてプログラミングを始めてしまいましょう。
探検
OpenCLプログラミング#1
■ このスレッドは過去ログ倉庫に格納されています
1a36 ◆K0BqlCB3.k
2008/12/10(水) 15:38:25588デフォルトの名無しさん
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で最適化レベルって設定ができるのかな?
662デフォルトの名無しさん
2012/12/22(土) 01:07:39.90 >>661
アーキテクチャが何にでも対応できるが、
アーキテクチャによって最適なWARP(に相当するもの)の数が違ったり、
コアレセンスアクセスできる条件が違ったり、キャッシュの有無だったりで
結局はアーキテクチャ依存の最適化をしないと速くならないよ。
アーキテクチャが何にでも対応できるが、
アーキテクチャによって最適なWARP(に相当するもの)の数が違ったり、
コアレセンスアクセスできる条件が違ったり、キャッシュの有無だったりで
結局はアーキテクチャ依存の最適化をしないと速くならないよ。
663デフォルトの名無しさん
2012/12/22(土) 02:28:20.85 場合によってはコンパイラのバージョン依存も。
664デフォルトの名無しさん
2012/12/24(月) 05:32:34.90 やっとCL使うネタが準備できた
楽しみだー
楽しみだー
665デフォルトの名無しさん
2013/01/13(日) 19:49:11.31 Trinity APUで使ったらCPU使用率が50%(2コアなので1コアがフル稼働状態)になったが、こんなもんなの?
GPUで計算してるはずなんだが。
GPUで計算してるはずなんだが。
666デフォルトの名無しさん
2013/01/14(月) 05:46:41.04 ジョブの内容と数によるんでは。
667デフォルトの名無しさん
2013/01/14(月) 21:42:22.31 CUDA見たいに結果出るまでぽーりんぐしてんじゃないの?
668デフォルトの名無しさん
2013/01/14(月) 22:02:09.36 自分のマシンのFLOPS計るのはどのベンチがお勧め?
669デフォルトの名無しさん
2013/01/15(火) 00:36:48.35 クロックとシェーダの数を掛ければ。
670デフォルトの名無しさん
2013/01/15(火) 12:44:28.36 ちゃんとGPUで計算されてないだけじゃね
afterburnerかなんかでGPU側の使用率も見てる?
afterburnerかなんかでGPU側の使用率も見てる?
671665
2013/01/20(日) 11:45:47.76 Catalystのバージョン上げたらCPU使用率下がりました
672デフォルトの名無しさん
2013/01/21(月) 06:12:45.45 AMDのOpenCL SDKはCPU(SSE)デバイスもサポートしてるから
そっちで動いてたってことかな
そっちで動いてたってことかな
673デフォルトの名無しさん
2013/01/22(火) 00:13:17.77 デバイス取得時にGPUを指定すればそんな目に合うはずね〜が
674デフォルトの名無しさん
2013/01/22(火) 23:13:25.92 デバイスにCPU使ってたらCPU使用率100%になるんじゃないの
675デフォルトの名無しさん
2013/01/23(水) 00:21:18.43 >>674
特に設定しないとシングルコアだからならない
特に設定しないとシングルコアだからならない
676デフォルトの名無しさん
2013/01/23(水) 01:32:16.04 CPU版はdevice fissionしないと使えるコア全部使わなかったっけ?
677デフォルトの名無しさん
2013/01/26(土) 18:02:42.38 いくつか本読んで基礎的なことは
わかったんだけど、openclでmpegのエンコーダー
作ってみたいから何か参考になる情報ないかな
わかったんだけど、openclでmpegのエンコーダー
作ってみたいから何か参考になる情報ないかな
678デフォルトの名無しさん
2013/01/26(土) 21:16:57.04 CUDAでこれだからOpenCLはチューニング大変だな
pc.watch.impress.co.jp/img/pcw/docs/584/977/html/7b_prometech_32.jpg.html
pc.watch.impress.co.jp/img/pcw/docs/584/977/html/7b_prometech_32.jpg.html
679デフォルトの名無しさん
2013/01/26(土) 22:38:20.74680デフォルトの名無しさん
2013/01/30(水) 22:41:00.14 試しに↓使ってみたんだがローカルメモリ使ったら速度が3割落ちた。
www.aocplan.com/gpgpu/gpgpu-benchmark
www.aocplan.com/gpgpu/gpgpu-benchmark
681デフォルトの名無しさん
2013/02/05(火) 22:18:38.26 OpenCLってHyper-Qみたいな機能ってあるでしょうか?
682デフォルトの名無しさん
2013/02/05(火) 22:28:21.47 >>678
アーキ毎にカーネルを書きなおさないと性能でないよ。
アーキ毎にカーネルを書きなおさないと性能でないよ。
683デフォルトの名無しさん
2013/02/06(水) 21:46:06.32 各アーキテクチャごとの最適化資料ってある?
684デフォルトの名無しさん
2013/02/07(木) 05:31:00.88 AMDだとこれが詳しい。NVIDIAのだったらCUDAのマニュアルを読めばいい。
http://developer.amd.com/download/AMD_Accelerated_Parallel_Processing_OpenCL_Programming_Guide.pdf
http://developer.amd.com/download/AMD_Accelerated_Parallel_Processing_OpenCL_Programming_Guide.pdf
685デフォルトの名無しさん
2013/02/11(月) 23:11:22.51 標準のC++に替わり今後はOpenCLが標準に確定したな
OpenCLでパフォーマンスが激向上するから当然か
OpenCLでパフォーマンスが激向上するから当然か
686デフォルトの名無しさん
2013/02/12(火) 06:11:15.51 寝言は寝て言え
687デフォルトの名無しさん
2013/02/17(日) 21:21:57.05 >>684
ありがとう。VLIW4だとスレッド数1/4にして、1スレッドで4つずつ処理するようにしたら倍速になった。
ありがとう。VLIW4だとスレッド数1/4にして、1スレッドで4つずつ処理するようにしたら倍速になった。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【給食無償化】国が全額負担 自維公3党、近く合意へ★2 [ぐれ★]
- 【サッカー】Jリーグ、43億円の赤字予算を承認 ★2 [鉄チーズ烏★]
- 40代教員、1億8600万円分の暗号資産だまし取られる 「警察手帳のような物」見せられ−滋賀県草津市 [蚤の市★]
- 上野動物園の双子パンダ、1月末に中国に返還へ 国内でパンダ不在に ★4 [蚤の市★]
- 【ラブホ】小川晶前市長、出直し立候補意向 周囲に伝達 群馬・前橋市長選 [ぐれ★]
- なだぎ武、イベントチケットが売れず悲鳴「10枚しか売れておりません」 [muffin★]
- しっとり歌い上げる系地下アイドルの供給が増えてもいいんじゃないか
- 維新・吉村はん「国民よ思い出せ! 悪夢の民主党時代を!!」 [592058334]
- 女子トイレに浸入→自作の張り紙を勝手に設置→その裏に録画状態のスマホをセットし盗撮した男を逮捕
- 楽しく生きると決めたんだが
- レズだけどひま
- 日本、ガチで終焉。資材高騰と人手不足で全国各地で再開発ストップwwwwwwwwwwwwwwwww [271912485]
