- 1 名前:a36 ◆K0BqlCB3.k [2008/12/10(水) 15:38:25 .net]
- さてついにOpenCLの仕様が公開されました。
www.khronos.org/opencl/ 公式ページにはAPIのヘッダファイルが公開されており、 まだ実際に動かす事はできないもののプログラミングすることは可能となっています。 ということで、公開に先んじてプログラミングを始めてしまいましょう。
- 573 名前:デフォルトの名無しさん [2012/02/01(水) 22:06:59.00 .net]
- RADEONとGeforce、ガチンコ対決ではごっちが速いの?
- 574 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 22:33:40.43 .net]
- ごっちかな
- 575 名前:デフォルトの名無しさん mailto:sage [2012/02/01(水) 23:52:53.73 .net]
- そもそもガチンコな応用でOpenCLってまともに実績あるの?
- 576 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 00:02:24.64 .net]
- 無ければなんだっての?
- 577 名前:デフォルトの名無しさん mailto:sage [2012/02/02(木) 15:35:32.54 .net]
- いや別に問題ない
- 578 名前:デフォルトの名無しさん [2012/02/10(金) 23:47:32.03 .net]
- とりあえず齧る分には公式のプログラミングガイド買っとけばおk?
- 579 名前:デフォルトの名無しさん mailto:sage [2012/02/13(月) 02:50:23.08 .net]
- OK
C言語と同じ
- 580 名前:デフォルトの名無しさん mailto:sage [2012/02/22(水) 23:40:42.01 .net]
- サブルーチンみたいにカーネルに直接引数渡して処理できればなぁ
アドレスを渡す時とかすげえ面倒。
- 581 名前:デフォルトの名無しさん mailto:sage [2012/02/23(木) 01:38:17.77 .net]
- そんな気軽にあちこちで使うようなもんじゃないっしょ
- 582 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 16:45:33.65 .net]
- カーネルソース丸出しか
特定デバイス用にコンパイルしておかないと いけないのがなあ
- 583 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 16:57:57.20 .net]
- 大したことないやつほど隠したがる銭湯の法則
- 584 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 22:38:56.05 .net]
- BOINC的なもので使うと不正対策必要で、既知の答えも一緒に計算させたりして対策するんだけどエコじゃないて悩ましいよ
- 585 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 01:23:31.48 .net]
- それなら同じWU他のやつに配って結果一致したやつだけ採用、
合わなかったら更に配布して一致した方採用でいいんでないかね どのみち普通にやったって計算エラーになるのもいるし
- 586 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 02:45:56.59 .net]
- つーかカーネルがソースコードだから
改竄される恐れがなんて懸念するような プログラムなら、どんな形態で配るにせよ ディスアセンブルされりゃ同じだって。
- 587 名前:デフォルトの名無しさん mailto:sage [2012/03/17(土) 16:17:03.96 .net]
- 個人PCでスパコンの1/1000の計算速度(10テラFLOPS)だってよ。スゲーな。
dualsocketworld.blog134.fc2.com/blog-date-201202.html
- 588 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 17:23:23.96 .net]
- 10TFLOPSっていうと10年前のスパコンの性能と同じくらいだな
- 589 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 20:53:01.85 .net]
- 10年後に京の性能がご家庭に来るかというと、さすがにそうでもない感。
- 590 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 21:28:00.64 .net]
- 物理的限界が近づいてきたからこれまでとは事情が違うよね。
無知な人は技術でなんとかなるって言っちゃうだろうけどw
- 591 名前:デフォルトの名無しさん mailto:sage [2012/03/18(日) 23:15:06.83 .net]
- 一般家庭にベクトル演算ってそんなに必要ない気が。。。
- 592 名前:デフォルトの名無しさん mailto:sage [2012/03/19(月) 10:47:53.21 .net]
- O(n^2)の直接法のN体とか本当にベンチマーク以上の意味はないんだがな
実用コードはツリー法やFMM法を使う
- 593 名前:デフォルトの名無しさん mailto:sage [2012/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 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 00:11:16.74 .net]
- AdobeのCS6でOpenCLが使われているという噂を聞いたんだが、カーネルのソースコードとかどうやってるんだろうか
- 595 名前:デフォルトの名無しさん mailto:sage [2012/04/13(金) 03:29:06.78 .net]
- >>589
Adobeのライセンス認証部分のコードだって、一緒にディスクに入ってるわけですよ。 どうにでもなる。
- 596 名前:デフォルトの名無しさん [2012/04/29(日) 15:57:09.88 .net]
- Intel OpenCL SDKを使って開発をしようとしているのですが、CPUとGPUを非同期で
走らせる方法が分かりません。 サンプルなどないでしょうか?
- 597 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 20:57:55.38 .net]
- >>587
必ずしもそうでもない。もちろん限られたケースだが、空間ごとに時間刻みを変えたい場合とか、ツリー方とかだと複雑になりすぎてまだまだ難しい場合も多い。 そもそも、ツリーやFMMでも近傍場の計算は直接法だし、サンプルコードとして無意味ではない。
- 598 名前:デフォルトの名無しさん [2012/05/02(水) 10:33:58.88 .net]
- >>591
CPU側を並列化してGPUを扱うスレッド/プロセスとCPU側の計算をするものに分ける 並列化、同期はお好みの方法で
- 599 名前:デフォルトの名無しさん mailto:sage [2012/06/27(水) 01:05:42.85 .net]
- 質問なんだけど今はAMD/nVidia/IntelどのSDKでビルドしても
AMD/nVidiaのドライバが入っている環境ならGPUが利用できるって理解でok?
- 600 名前:デフォルトの名無しさん mailto:sage [2012/06/27(水) 21:29:31.15 .net]
- >>594
違うというか、根本的に違う
- 601 名前:デフォルトの名無しさん mailto:sage [2012/06/30(土) 22:46:38.04 .net]
- >>594
理論上は合っているよ。 まあ、微妙に非互換だったり、ランタイムの インストール方法など気を使わざるを得ないのが現実だが。
- 602 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 01:24:59.44 .net]
- >>595
- 603 名前:デフォルトの名無しさん mailto:sage [2012/07/01(日) 12:56:18.02 .net]
- >>595
- 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見たいに結果出るまでぽーりんぐしてんじゃないの?
|

|