- 1 名前:a36 ◆K0BqlCB3.k [2008/12/10(水) 15:38:25 .net]
- さてついにOpenCLの仕様が公開されました。
www.khronos.org/opencl/ 公式ページにはAPIのヘッダファイルが公開されており、 まだ実際に動かす事はできないもののプログラミングすることは可能となっています。 ということで、公開に先んじてプログラミングを始めてしまいましょう。
- 604 名前:デフォルトの名無しさん mailto:sage [2012/07/05(木) 01:16:06.38 .net]
- GT440でclinfoしたら
Max compute units: 2 と出たんだけど、この2とGT440のCUDAコア96とはどういう関係にあるの?
- 605 名前:デフォルトの名無しさん mailto:sage [2012/07/05(木) 12:03:19.25 .net]
- NVIDIAの場合
Max Compute unit = Streaming Multiprocessor(SM) = Streaming Multiprocessor eXtreme(SMX)
- 606 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 10:28:17.75 .net]
- CPUデバイスのランタイムを有効にするにはAMDかインテルのSDKをインストールしてもらうしかないの?
ランタイムだけのパッケージってある?
- 607 名前:デフォルトの名無しさん mailto:sage [2012/07/27(金) 11:10:16.02 .net]
- >>601
Intel の Windows 用ならあるね。 AMD は知らん。
- 608 名前:デフォルトの名無しさん mailto:sage [2012/07/28(土) 14:23:52.35 .net]
- software.intel.com/en-us/articles/vcsource-tools-opencl-sdk/
のダウンロードリストボックスのOpenCL CPU only runtime(Windows* OS)ってやつか。 見落としてた。ありがとう。
- 609 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 20:27:19.07 .net]
- CPUでCLやっても遅いだけで意味無いなぁ
- 610 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 22:03:29.12 .net]
- >>604
どんなプログラムなのかしらないけど、ボクが試したのは充分速かったけどなぁ。 いやまあ、GPUと絶対値を比べればもちろん遅いけど。w
- 611 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 22:41:12.50 .net]
- CPUでOpenCL使うとお手軽にSIMD+マルチコア使えるな。
- 612 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 22:48:37.20 .net]
- ベンチも取らずに知ったか
- 613 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 00:12:55.35 .net]
- ベンチと言えば Intel と AMD で比べてみたら、Intel のほうがかなり速かった。
いやまあ、その PC の CPU は Intel だったんだけど。w AMD な CPU だと逆転したりするのかなぁ。
- 614 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 07:48:58.72 .net]
- >>606
お手軽じゃねーっつの。 CPUでSIMDとマルチコアを使いたいためだけにOpenCLを使つかうならアホだわ。
- 615 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 10:50:46.32 .net]
- phoronixのベンチ見る限りだとAMDのSDKの方が速そうだったけど
- 616 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 18:30:47.41 .net]
- 少なくともカーネル部分はお手軽だよ。
素のCで使うと準備が面倒だが C++のラッパーなら大した事は無い。
- 617 名前:デフォルトの名無しさん mailto:sage [2012/07/31(火) 22:46:48.26 .net]
- OpenCL以外でSIMDに自動で対応してくれるのってなにかあるの?
- 618 名前:デフォルトの名無しさん mailto:sage [2012/08/01(水) 06:14:34.83 .net]
- インテルコンパイラ使っとけ。
それかFortranだな。
- 619 名前:デフォルトの名無しさん mailto:sage [2012/08/01(水) 13:12:30.64 .net]
- simdと言っているのがSSEのパックドなインストラクションのことでいいならgccでもOK。
- 620 名前:デフォルトの名無しさん mailto:sage [2012/08/01(水) 22:34:10.47 .net]
- gccじゃ自動ベクトル化は皆無に等しいだろ。
- 621 名前:デフォルトの名無しさん mailto:sage [2012/08/01(水) 22:54:07.37 .net]
- ちょっと前までSSEwとか思ってたけど
これだけ並列プログラミングが普及してきてAVX2とかみると考え変わる
- 622 名前:デフォルトの名無しさん mailto:sage [2012/08/01(水) 23:22:54.44 .net]
- >>611
んなアホな CL用のメモリとのやり取りが発生するだけ無駄だよ 正直、マルチコアを使いたいならMPIが一番速い。 通信含めても。 OpenMPもなんだかんだであまり速くないな。 >>612 PGI はあまりコードの品質よくなかったな
- 623 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 00:32:11.20 .net]
- >>617
なんか解釈に誤解があるようだが。 マルチコアのどんなプログラムでもOpenCLで書けという話ではない。 OpenCLのカーネルとして記述できるような問題に 適用すれば、なんも考えずにSIMDもマルチコアも 使えるようになるし、そういう用途に限れば OpenMPやMPIもしくはPOSIX threadとかで 真面目に書くよりお手軽だし、余程の玄人が 書くのでない限り素早く、速いコードが書ける。 CL用のメモリ云々言っておきながら、速度面で マルチスレッドなOpenMPでなくマルチプロセスになる MPIをすすめるあたり根本的に理解に問題があるような。 まあ、通信部分はintel MPIとかなら共有メモリ使うから 極端に不利にはならないけど、少なくともこれが最速とは行かない。
- 624 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 00:45:08.79 .net]
- てかさ、CL 用のメモリとのやりとりなんかしないよね?
いや、しないようにつくるよね???? >CPUでSIMDとマルチコアを使いたいためだけにOpenCLを使つかうならアホだわ。 うわ、アホって言われちゃった。てへ。
- 625 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 01:31:56.84 .net]
- OpenCLとMPIの並列化は全く別もんだし、
OpenCLとOpenMPの並列化もちょっと違う。 正直OpenCLのカーネルを書くくらいなら、 OpenMPを使った並列化の方が圧倒的に楽だわ。 OpenCLを使うメリットは複数のプラットフォームで動かすためだけだろ。
- 626 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 06:37:43.98 .net]
- 無脳をさらすスレですか?
- 627 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 07:45:55.61 .net]
- >>619
CLデバイスとCPUは論理的に別物なんだからメモリ転送はいるだろ。 >>620 GPUがなければOpenMPなりMPIなりで並列動作しているというプログラムを作ればよい。 CPUの並列も面倒くさいのでCLでってのは手抜き杉
- 628 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 08:05:46.59 .net]
- >>622
CLで書くほうが手間がかかると思うが。。。 CPU用のコードとNVIDIA用のコード、ATI用のコードを用意するのはかなり大変だし。だからOpenCLが生まれたわけで。
- 629 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 08:07:44.71 .net]
- >>623
GPUがあればそっちをつかいたいのならCLを書くこと自体が手間とか言ってる場合じゃないだろ。 それ一本で済まそうというのが手抜きだっての。 CPUでCLつかっても無駄なオーバーヘッドが出るだけだし
- 630 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 08:13:47.37 .net]
- 論理的に別なのはわかるけど
対象がCPUの時にはメモリコピーしないような実装になっててもおかしくないような気もする
- 631 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 08:14:10.39 .net]
- まあ、小さい規模のコードしか書いてない奴には分からんかもしれんが、
複数のハードウェアプラットフォームをそれぞれメンテしないといけなのは、 かなりの工数がかかるからな。 多少のパフォーマンスを犠牲にしても良いことなんて沢山あるんだよ。
- 632 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 09:23:17.69 .net]
- えぇ〜・・・・・・。
キミタチは実際につかったことないんだね? ttp://software.intel.com/sites/landingpage/opencl/optimization-guide/index.htm の Sharing Resources Efficiently とか読んでごらんよ。
- 633 名前:デフォルトの名無しさん mailto:sage [2012/08/02(木) 23:04:54.27 .net]
- これは恥ずかしいw
- 634 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 00:10:12.73 .net]
- どれにレスしてんだか分からんレスがおおいな。
- 635 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 00:34:42.14 .net]
- このスレ、99割が誤爆レスだからな。
- 636 名前:デフォルトの名無しさん mailto:sage [2012/08/03(金) 19:43:05.27 .net]
- >>630
> 、99割 0.99 割? 990% ? どのスレに書こうとしてたの?
- 637 名前:デフォルトの名無しさん mailto:sage [2012/08/04(土) 01:06:20.28 .net]
- だ ー か ー ら ー ぁ 誤 爆 で し ょ
- 638 名前:デフォルトの名無しさん mailto:sage [2012/08/08(水) 17:52:37.24 .net]
- なんでこのスレこの板にあるんだ?
- 639 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 01:30:40.64 .net]
- OpenCLハードル高いなぁ
どの機材構成でどのプラットフォームでどう書けば速くなるか 検証すべき項目が多すぎる
- 640 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 02:10:21.89 .net]
- 逆に考えるんだ
速さをあきらめればすべて解決する
- 641 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 02:22:49.56 .net]
- あちらを立てればこちらが立たずですなぁ
- 642 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 17:37:54.94 .net]
- 週あすwでAPUの記事載ってて、OpenCLで何でも高速に出来るように書いてたなぁw
- 643 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 23:05:10.52 .net]
- write once, tune everywhere
- 644 名前:デフォルトの名無しさん mailto:sage [2012/08/10(金) 23:06:13.71 .net]
- anywhereだったか
- 645 名前:デフォルトの名無しさん mailto:sage [2012/08/16(木) 08:59:47.91 .net]
- OpenCL1.2ではデバイス分割ができるみたいだけど
それまでってどうやって並列化してたの? コマンドキューをCompute Unit分生成してたの? それともclEnqueueNDRangeKernelがいい感じに並列化してくれてたの?
- 646 名前:デフォルトの名無しさん mailto:sage [2012/08/17(金) 04:01:39.09 .net]
- でっかく突っ込んだら普通にデスクトップがフリーズしてた。
- 647 名前:デフォルトの名無しさん mailto:sage [2012/08/21(火) 22:38:27.42 .net]
- OpenCLで最速の構成教えて
- 648 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 00:38:21.46 .net]
- 素晴らしいプログラマ
これに尽きるw
- 649 名前:デフォルトの名無しさん mailto:sage [2012/08/22(水) 09:45:30.14 .net]
- >>642
Radeon の一番高いヤツをさせるだけさす。w
- 650 名前:デフォルトの名無しさん mailto:sage [2012/08/31(金) 15:37:24.77 .net]
- APUより速いん?
- 651 名前:デフォルトの名無しさん mailto:sage [2012/09/06(木) 03:18:56.29 .net]
- だれかOpenCLでOpenGL実装してくれ
- 652 名前:デフォルトの名無しさん [2012/09/08(土) 00:09:32.81 .net]
- むしろOpenManko実装してくれ
- 653 名前:デフォルトの名無しさん mailto:sage [2012/09/08(土) 01:20:37.10 .net]
- プロプライエタリですので
- 654 名前:デフォルトの名無しさん [2012/09/08(土) 18:07:21.58 .net]
- OpenMankoはよ
- 655 名前:デフォルトの名無しさん mailto:sage [2012/09/08(土) 22:36:50.84 .net]
- 互換フリー0実装のKuperで我慢しとけ。
- 656 名前:デフォルトの名無しさん mailto:sage [2012/09/09(日) 23:25:50.57 .net]
- Mankoは商用製品で我慢しろよ
- 657 名前:デフォルトの名無しさん mailto:sage [2012/09/20(木) 15:05:43.24 .net]
- 昔の日本はOpenだろ
- 658 名前:デフォルトの名無しさん [2012/09/27(木) 04:12:39.50 .net]
- AMD Releases CodeXL Public Beta | SemiAccurate
semiaccurate.com/2012/09/25/amd-releases-codexl-public-beta/
- 659 名前:デフォルトの名無しさん mailto:sage [2012/10/05(金) 01:09:53.66 .net]
- pc.watch.impress.co.jp/img/pcw/docs/563/431/g02.png
- 660 名前:デフォルトの名無しさん mailto:sage [2012/10/05(金) 01:15:43.73 .net]
- engawa.2ch.net/test/read.cgi/poverty/1349151623/
- 661 名前:デフォルトの名無しさん mailto:sage [2012/10/05(金) 01:16:52.94 .net]
- prohardver.hu/dl/cnt/2012-10/90356/results/handbrake.png
- 662 名前:デフォルトの名無しさん mailto:sage [2012/10/28(日) 20:13:53.12 .net]
- 意外と
- 663 名前:デフォルトの名無しさん [2012/11/30(金) 23:33:09.24 .net]
- Khronos Releases Significant OpenCL 1.2 Specification Update | techPowerUp
www.techpowerup.com/176413/Khronos-Releases-Significant-OpenCL-1.2-Specification-Update.html
- 664 名前:デフォルトの名無しさん mailto:sage [2012/12/07(金) 11:27:13.90 .net]
- OpenCLでパスワード解析
securityledger.com/new-
- 665 名前:25-gpu-monster-devours-passwords-in-seconds/ []
- [ここ壊れてます]
- 666 名前:デフォルトの名無しさん mailto:sage [2012/12/20(木) 01:25:19.05 .net]
- >>615
vetor extension記法でゴリゴリかく。 若しくは、-O3 -ftree-vectorize 但し、後者はまだまだ未熟なのは確かだね。
- 667 名前:デフォルトの名無しさん mailto:sage [2012/12/21(金) 09:03:58.99 .net]
- 最近OpenCLを本格的に始めたんだが、
OpenCLのいいところは、コンパイラを選ばない、 カーネル以外はC++で書けるといところかな。 CUDAだと同じことができるけど、ホスト側でNVCC以外使おうとするとちょっと面倒だ。 ただ、カーネルの最適化がコンパイラでもできるから、 パフォーマンスは出やすいな。 LLVMで最適化レベルって設定ができるのかな?
- 668 名前:デフォルトの名無しさん mailto:sage [2012/12/22(土) 01:07:39.90 .net]
- >>661
アーキテクチャが何にでも対応できるが、 アーキテクチャによって最適なWARP(に相当するもの)の数が違ったり、 コアレセンスアクセスできる条件が違ったり、キャッシュの有無だったりで 結局はアーキテクチャ依存の最適化をしないと速くならないよ。
- 669 名前:デフォルトの名無しさん mailto:sage [2012/12/22(土) 02:28:20.85 .net]
- 場合によってはコンパイラのバージョン依存も。
- 670 名前:デフォルトの名無しさん mailto:sage [2012/12/24(月) 05:32:34.90 .net]
- やっとCL使うネタが準備できた
楽しみだー
- 671 名前:デフォルトの名無しさん mailto:sage [2013/01/13(日) 19:49:11.31 .net]
- Trinity APUで使ったらCPU使用率が50%(2コアなので1コアがフル稼働状態)になったが、こんなもんなの?
GPUで計算してるはずなんだが。
- 672 名前:デフォルトの名無しさん mailto:sage [2013/01/14(月) 05:46:41.04 .net]
- ジョブの内容と数によるんでは。
- 673 名前:デフォルトの名無しさん mailto:sage [2013/01/14(月) 21:42:22.31 .net]
- CUDA見たいに結果出るまでぽーりんぐしてんじゃないの?
- 674 名前:デフォルトの名無しさん mailto:sage [2013/01/14(月) 22:02:09.36 .net]
- 自分のマシンのFLOPS計るのはどのベンチがお勧め?
- 675 名前:デフォルトの名無しさん mailto:sage [2013/01/15(火) 00:36:48.35 .net]
- クロックとシェーダの数を掛ければ。
- 676 名前:デフォルトの名無しさん mailto:sage [2013/01/15(火) 12:44:28.36 .net]
- ちゃんとGPUで計算されてないだけじゃね
afterburnerかなんかでGPU側の使用率も見てる?
- 677 名前:665 mailto:sage [2013/01/20(日) 11:45:47.76 .net]
- Catalystのバージョン上げたらCPU使用率下がりました
- 678 名前:デフォルトの名無しさん mailto:sage [2013/01/21(月) 06:12:45.45 .net]
- AMDのOpenCL SDKはCPU(SSE)デバイスもサポートしてるから
そっちで動いてたってことかな
- 679 名前:デフォルトの名無しさん mailto:sage [2013/01/22(火) 00:13:17.77 .net]
- デバイス取得時にGPUを指定すればそんな目に合うはずね〜が
- 680 名前:デフォルトの名無しさん mailto:sage [2013/01/22(火) 23:13:25.92 .net]
- デバイスにCPU使ってたらCPU使用率100%になるんじゃないの
- 681 名前:デフォルトの名無しさん mailto:sage [2013/01/23(水) 00:21:18.43 .net]
- >>674
特に設定しないとシングルコアだからならない
- 682 名前:デフォルトの名無しさん mailto:sage [2013/01/23(水) 01:32:16.04 .net]
- CPU版はdevice fissionしないと使えるコア全部使わなかったっけ?
- 683 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 18:02:42.38 .net]
- いくつか本読んで基礎的なことは
わかったんだけど、openclでmpegのエンコーダー 作ってみたいから何か参考になる情報ないかな
- 684 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 21:16:57.04 .net]
- CUDAでこれだからOpenCLはチューニング大変だな
pc.watch.impress.co.jp/img/pcw/docs/584/977/html/7b_prometech_32.jpg.html
- 685 名前:デフォルトの名無しさん mailto:sage [2013/01/26(土) 22:38:20.74 .net]
- >>677
MPEGってどれよ? MPEG4(H.264)のことならx264がSSE、AVXアセンブリ含むソースコードが読めるからオススメ
- 686 名前:デフォルトの名無しさん mailto:sage [2013/01/30(水) 22:41:00.14 .net]
- 試しに↓使ってみたんだがローカルメモリ使ったら速度が3割落ちた。
www.aocplan.com/gpgpu/gpgpu-benchmark
- 687 名前:デフォルトの名無しさん mailto:sage [2013/02/05(火) 22:18:38.26 .net]
- OpenCLってHyper-Qみたいな機能ってあるでしょうか?
- 688 名前:デフォルトの名無しさん mailto:sage [2013/02/05(火) 22:28:21.47 .net]
- >>678
アーキ毎にカーネルを書きなおさないと性能でないよ。
- 689 名前:デフォルトの名無しさん mailto:sage [2013/02/06(水) 21:46:06.32 .net]
- 各アーキテクチャごとの最適化資料ってある?
- 690 名前:デフォルトの名無しさん mailto:sage [2013/02/07(木) 05:31:00.88 .net]
- AMDだとこれが詳しい。NVIDIAのだったらCUDAのマニュアルを読めばいい。
developer.amd.com/download/AMD_Accelerated_Parallel_Processing_OpenCL_Programming_Guide.pdf
- 691 名前:デフォルトの名無しさん mailto:sage [2013/02/11(月) 23:11:22.51 .net]
- 標準のC++に替わり今後はOpenCLが標準に確定したな
OpenCLでパフォーマンスが激向上するから当然か
- 692 名前:デフォルトの名無しさん mailto:sage [2013/02/12(火) 06:11:15.51 .net]
- 寝言は寝て言え
- 693 名前:デフォルトの名無しさん mailto:sage [2013/02/17(日) 21:21:57.05 .net]
- >>684
ありがとう。VLIW4だとスレッド数1/4にして、1スレッドで4つずつ処理するようにしたら倍速になった。
- 694 名前:デフォルトの名無しさん mailto:sage [2013/02/18(月) 04:23:25.11 .net]
- R600のISA解説したpdfもどっかにあって、あれ読むとKernel Analyzerの右側の命令が読めるようになって捗るぞ。
- 695 名前:デフォルトの名無しさん [2013/05/09(木) 04:25:55.54 .net]
- Intel Releases SDK with OpenCL 1.2 Support for Intel Xeon Phi Coprocessors | techPowerUp
www.techpowerup.com/183718/intel-releases-sdk-with-opencl-1-2-support-for-intel-xeon-phi-coprocessors.html
- 696 名前:デフォルトの名無しさん mailto:sage [2013/05/10(金) 23:28:13.87 .net]
- CUDAが動かない古いNvidiaのビデオカードでも
OpenCLなら動いたりするものなのでしょうか?
- 697 名前:デフォルトの名無しさん mailto:sage [2013/05/11(土) 17:38:28.19 .net]
- 確かnvidiaがOpenCLサポートしているのは、
チップがGeforce8以降かつ、ドライバの対応も必要だったと思う。 でもgeforce8以降はほとんどCUDA(とPhysXが)乗ってたはず。 それ以前はサポートされていないから動かないんじゃないかな(機材とドライバがないから検証できん)
- 698 名前:デフォルトの名無しさん mailto:sage [2013/05/11(土) 23:50:31.95 .net]
- CUDAにせよ、OpenCLにせよ古いマシンでやろうとする奴はなんなんだ?
古いGPUじゃ大して効果がないし、アーキテクチャがどんどん変わって いるから使えないものが多いのに。 最新のアーキテクチャでも1万円も出せばそれなりのものが買えるのになあ。
- 699 名前:デフォルトの名無しさん mailto:sage [2013/05/12(日) 10:11:53.81 .net]
- 研究目的なら最新ので良いけど、実用だと4年前に導入した
数百台の計算機で高速化したい、とかもあるからな。
- 700 名前:デフォルトの名無しさん mailto:sage [2013/05/13(月) 17:15:31.08 .net]
- GeForce8以前って、どんだけ古いカード使っているんだよw
いろんな意味で、無理無理。
- 701 名前:デフォルトの名無しさん mailto:sage [2013/05/15(水) 13:05:11.17 .net]
- とりあえずGPGPU普及させたいならGPU各社ともミドルレンジ以下でFP64対応切るのやめてくんないかな
性能出るかどうかより使えたり使えなかったりってのが一番困る
- 702 名前:デフォルトの名無しさん [2013/06/05(水) 08:17:39.89 .net]
- OpenCLのチューニングって、まずどのあたりから手を付ければいいかな?
ワークグループ分割数で結構変わるという話は聞くけど、やっぱり おまかせより明示的に指定した方がいいんだろうか?
- 703 名前:デフォルトの名無しさん mailto:sage [2013/06/05(水) 09:35:33.06 .net]
- おまかせとかやる気無さすぎだろう…
色々変えてみて速さを測れ。
- 704 名前:デフォルトの名無しさん mailto:sage [2013/06/05(水) 20:55:53.52 .net]
- ハードに合わせて適当な値を選んでくれると思ってたんで自分で下手な値を設定するより
いいかと思ってたんだけど、たしかに明示的に指定した方がよくなるケースが多いですね。 目安としてはCL_DEVICE_MAX_WORK_GROUP_SIZEに合わせておけばいいんだろうか? それ以外、これは押さえておけ、というようなチューニングポイントってありますか?
|

|