[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2ch.scのread.cgiへ]
Update time : 09/30 15:14 / Filesize : 179 KB / Number-of Response : 910
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

OpenCLプログラミング#1



1 名前:a36 ◆K0BqlCB3.k [2008/12/10(水) 15:38:25 .net]
さてついにOpenCLの仕様が公開されました。

www.khronos.org/opencl/

公式ページにはAPIのヘッダファイルが公開されており、
まだ実際に動かす事はできないもののプログラミングすることは可能となっています。
ということで、公開に先んじてプログラミングを始めてしまいましょう。

422 名前:デフォルトの名無しさん mailto:sage [2011/02/02(水) 21:39:51 .net]
>>417
ぷw

423 名前:デフォルトの名無しさん mailto:sage [2011/02/03(木) 00:23:39 .net]
>>414
OpenCLの関数ってほとんどノンブロッキングだから
OpenMP使わなくても並列に動作するんじゃないの?
試したことないからわからんけど

424 名前:デフォルトの名無しさん [2011/02/03(木) 00:34:19 .net]
>>420
と思ったんですよ。とりあえず同じコンテクストにデバイス2つ乗っけて、キューを二本立ててやってみると計算はされるんだけど、プロファイラーで動作みてみると見事に逐次実行されてて。コンテクスト2つ立ててもダメでした。

ヘテロジニアスなんて謳ってるわりに面倒ですよねぇ^^;

425 名前:デフォルトの名無しさん mailto:sage [2011/02/04(金) 03:56:08 .net]
>>421
OpenCLのコマンドキューはインオーダー実行がデフォだから
CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLEやらないと必ず逐次実行されるよ

426 名前:デフォルトの名無しさん mailto:sage [2011/02/04(金) 20:08:07 .net]
>>422
違うんですねー
OpenCLドライバは何故か初期から、OutOfOrderを付けても逐次実行されるんだわ。。。
いつか対応されるだろうと、一年くらい経過したけどまだ対応されてないとは

427 名前:デフォルトの名無しさん mailto:sage [2011/02/09(水) 20:10:42 .net]

428 名前:="../test/read.cgi/tech/1228891105/421" target="_blank">>>421
プロファイラで実行すると逐次実行されるが、プロファイラ上でなければ並列実行される。
ジョブ投入や実行の時間を記録して表示させてみ。

また、同一コンテキストのメモリが二つのデバイスのどちらからでもアクセスできる裏技もあるよ。
最初のアクセスは遅いが、それ以降は早いので、CPU側に読み込んで書き戻すとかしなくてもダミーでメモリをアクセスするジョブを流せばデバイス間のデータ移動ができる。


1年ほど前にデバイス2本同時駆動の実験だけして本チャンの計算プログラムはまだつくってなかったな、そういや。
[]
[ここ壊れてます]

429 名前:デフォルトの名無しさん mailto:sage [2011/03/08(火) 07:32:39.91 .net]
昨日1日使ってボトルネックをOpenCLに移植したけど、
余計遅くなったわ。やれやれ

430 名前:デフォルトの名無しさん mailto:sage [2011/03/08(火) 08:28:07.93 .net]
ボトルネックを移植するんじゃなくてOpenCLに向いている部分を移植しろよ
または並列性を極大化したりif文などの分岐を全部排除するなどアルゴリズム最適化をしてみれば?



431 名前:デフォルトの名無しさん mailto:sage [2011/04/07(木) 03:06:36.77 .net]
VLIW5のtパイプ埋まらん

432 名前:デフォルトの名無しさん mailto:sage [2011/04/13(水) 04:08:44.89 .net]
深く考えずに2^26スレッドenqueueしたらひどいことになった。

433 名前:デフォルトの名無しさん mailto:sage [2011/04/21(木) 23:37:32.85 .net]
なんでこれ有料なんだ?
ttp://web.me.com/cducommun/CLBuilder/Home.html

434 名前:デフォルトの名無しさん mailto:sage [2011/04/22(金) 00:28:47.04 .net]
Appleが提供しているツールならまだしも第三者が開発しているツールを無料にしろってのは横暴だろ
シェアウェアや市販ソフトを完全否定なお人ですか?

435 名前:デフォルトの名無しさん mailto:sage [2011/04/23(土) 23:18:19.02 .net]
AMD APPのOpenCLについてご存じの方がいたら教えて欲しいんですが、
wavefront=64 って事は、例えばwork_group = 128 の場合 work_itemが64ずつ完全に並列実行って認識で合ってるでしょうか?
(wavefront内のやりとりは同期が必要ないかどうかを知りたいです)

436 名前:デフォルトの名無しさん [2011/04/24(日) 03:56:08.00 .net]
>>431
何の保証もないけど、今のところ大丈夫な気がする。

437 名前:デフォルトの名無しさん mailto:sage [2011/04/24(日) 05:50:16.61 .net]
最大3クロックのタイミング差があると思うんだけど。

438 名前:デフォルトの名無しさん mailto:sage [2011/05/26(木) 04:58:19.55 .net]
XOR_INT*4とMULADD*4が同じ時間食うって納得いかん…

439 名前:デフォルトの名無しさん mailto:sage [2011/06/14(火) 22:58:32.16 .net]
for(d=0;省略){
clSetKernelArg(省略&d);
clEnqueueNDRangekernel(省略);
clEnqueueReadBuffer(省略);
for(省略){読み出したメモリ合算}
}
で1024*dで実行して
読み出して合算して再度実行・・・の形にしてもアドレス違反が起きてしまう・・・
イベントリストもバリア同期も意味なし

GPU実行でアドレス違反は画面だけ真っ黒になってびっくりした
デバックはCPUデバイス使ったほうがいいよ

440 名前:デフォルトの名無しさん mailto:sage [2011/06/26(日) 01:59:15.81 .net]
最近OpenCLに興味もったんですが皆さん楽しいですか?



441 名前:デフォルトの名無しさん mailto:sage [2011/06/26(日) 14:59:58.32 .net]
楽しいとか楽しくないとか問題じゃねえよ

442 名前:デフォルトの名無しさん mailto:sage [2011/06/26(日) 15:03:37.91 .net]
でっかいうんこかどうかだな

443 名前:デフォルトの名無しさん mailto:sage [2011/07/04(月) 00:47:28.82 .net]
AMD gDEBugger
ttp://developer.amd.com/tools/gDEBugger/Pages/default.aspx
いろいろ便利かもな

444 名前:デフォルトの名無しさん mailto:sage [2011/07/04(月) 00:50:00.35 .net]
nsightもOpenCLデバッグ対応してなかったっけ?

445 名前:天使 ◆uL5esZLBSE mailto:sage [2011/07/04(月) 06:50:33.14 .net]
2011年になっても未だにJAVA使い続けてる奴ってさ
仕事で仕方なくならわかるけど

家でもJAVAやってるなら本当にバカだよね。哀れ

ゴミだし

446 名前:デフォルトの名無しさん mailto:sage [2011/07/04(月) 07:59:16.86 .net]
最近みかける天使うぜー死ねと思っていたが
松本龍の阿呆発言と比べると実害無いだけマシだと思った

447 名前:デフォルトの名無しさん mailto:sage [2011/07/05(火) 22:49:02.30 .net]
つまんねー書き込みしてないでとっととNG登録しろよ

448 名前:デフォルトの名無しさん mailto:sage [2011/07/05(火) 22:51:03.29 .net]
このコテハン「天使 ◆uL5esZLBSE」は天才チンパンジー「アイちゃん」が
言語訓練のために使用しているハンドルです。

アイと研究員とのやり取りに利用する書き込みなので、
関係者以外はレスしないで下さい。

                  京都大学霊長類研究所

449 名前:デフォルトの名無しさん mailto:sage [2011/07/06(水) 01:40:07.31 .net]
intelのopencl SDKをlinuxにインスコったけどコンパイルのやり方わからん
gcc使ってどうにかならんの?

450 名前:デフォルトの名無しさん mailto:sage [2011/07/06(水) 09:49:42.54 .net]
OpenCLってもう1年もバージョン変わって無いけど、開発中止したの?



451 名前:デフォルトの名無しさん mailto:sage [2011/07/06(水) 11:06:10.67 .net]
バージョンUPしなくていいほど今の版が完成されたすばらしい出来だという事なんだよ



という事にしておきたい

452 名前:デフォルトの名無しさん mailto:sage [2011/07/06(水) 11:57:01.57 .net]
グラボはどんどん進化してるのに、ライブラリは完成されてるとかねーよ

453 名前:デフォルトの名無しさん mailto:sage [2011/07/06(水) 18:08:10.55 .net]
進化しても演算部分のコンパイラが底まで進化する必要があるか?

MSのCPUコンパイラさえ基本的には10年以上前のCPUでも動くような最適化レベルで止まっているしな。
GPUとして使うならまだしもGPGPUとして処理するならコンパイラは基本部分だけで、あとはドライバの進化で十分かと

454 名前:デフォルトの名無しさん mailto:sage [2011/07/09(土) 07:08:13.67 .net]
>>439
それってGPU1枚だけでも使えるの?
requirementsにはハードウェアのことが書いてない

455 名前:1 [2011/07/26(火) 06:44:48.46 .net]
toki.2ch.net/test/read.cgi/dataroom/1309855042/

456 名前:デフォルトの名無しさん mailto:sage [2011/07/27(水) 23:22:22.79 .net]
HD4850が最新のドライバではOpenCL動かないし、古いドライバでは動くがゲロ遅
アムドはあかんな

457 名前:デフォルトの名無しさん mailto:sage [2011/07/28(木) 01:08:32.77 .net]
>>452
4870 + CCC 11.6 で OpenCL 動いてるけど、
もしかして 11.7 では動かなくなるのかな ?

458 名前:デフォルトの名無しさん mailto:sage [2011/07/28(木) 14:50:27.81 .net]
HD4850, APP 2.4, CCC 11.6で動かず(カーネルコンパイルエラー)。
ググったら4xxxは11.6じゃ動かないから11.5にしろと言うことで11.5にしたら動いた。


459 名前:デフォルトの名無しさん mailto:sage [2011/07/28(木) 15:07:33.48 .net]
アムドとか言ってるあたりでお察し・・・

460 名前:デフォルトの名無しさん mailto:sage [2011/07/28(木) 20:28:57.67 .net]
アムドいうただけでレッテル貼りとかどんだけ・・・
ヌビディアはOpenCL対応あかんね
1.0のくせに1.1用の関数を使ってもコンパイル・リンクが通る
でも、clEnqueueWriteBufferRectとか実行したらセグメンテーション違反
なめとるで



461 名前:デフォルトの名無しさん mailto:sage [2011/07/29(金) 09:43:45.32 .net]
どっちも自社ライブラリ使えってことだよ

462 名前:デフォルトの名無しさん mailto:sage [2011/07/29(金) 12:23:00.19 .net]
data parallelで簡単な2重forならできるけどそれ使って複雑な計算するのが
できぬ・・・CUDAと違って1024が最大なのがネック

463 名前:452 mailto:sage [2011/07/30(土) 22:03:20.57 .net]
職場のC1060に家パソのHD4850が10倍以上の大差で惨敗してムカついたのでHD6950買ってきた。
2倍以上でHD6950の勝利!
アムド最高やで

464 名前:デフォルトの名無しさん mailto:sage [2011/07/30(土) 22:25:54.10 .net]
6970や6990じゃなくて6950なのか。てかC1060はもうどうでもよかろう。

465 名前:デフォルトの名無しさん mailto:sage [2011/07/30(土) 23:10:14.10 .net]
>>460
C1060はどうでもええことないよ。
だって、職場の計算機の貴重な戦力だし。
6950にしたのは家パソ用に高い板を買う気はないから。

466 名前:デフォルトの名無しさん mailto:sage [2011/08/01(月) 20:49:14.86 .net]
いつの間にか WebCL とか出来てて驚いた。
WebGL は色々使い道あるけど、WebCL は需要が分からん。

467 名前:デフォルトの名無しさん mailto:sage [2011/08/01(月) 21:47:49.14 .net]
WebGLについてはこちらでお願いします
【O3D】HTML5用 3D API WebGL 【Canvas:3D】
hibari.2ch.net/test/read.cgi/tech/1308761577/

468 名前:デフォルトの名無しさん mailto:sage [2011/08/01(月) 22:13:20.26 .net]
WebGLの話なんてしてないが

469 名前:デフォルトの名無しさん mailto:sage [2011/08/01(月) 23:26:04.83 .net]
サイトを開くだけで分散コンピューティングに参加…胸熱。

470 名前:デフォルトの名無しさん mailto:sage [2011/08/02(火) 10:29:42.77 .net]
www.infoq.com/jp/news/2011/07/WebCL

これか
確かにブラウザ上で並列処理する必要性がよくわからんな



471 名前:デフォルトの名無しさん mailto:sage [2011/08/02(火) 14:03:26.64 .net]
頻繁にメインメモリと同期するような計算にはJavaScriptが遅くて使い物にならないだろうし
重い処理を単発でやるだけならサーバーでやればいいだけな気がする
わざわざWebで激しく環境依存するようなことをやる意味が分からん

472 名前:デフォルトの名無しさん mailto:sage [2011/08/02(火) 15:29:27.41 .net]
技術というのは、早い者勝ちでなぁ
仕様などをはやめに決めておかないと、特許やらパクリと言われたりとかなんやらで面倒な事になってしまうんだ
あと名を残したい人が作ったりするんだ
役に立つとか使えるとか、そんなの関係無いんだ

473 名前:デフォルトの名無しさん mailto:sage [2011/08/02(火) 16:18:14.25 .net]
それはわかるんだが、特許を取るタイミングとかが難しいよな
取得にも維持費もかかるし、早すぎると普及した一番儲かる時期に特許権が切れて利益にならないとか

まー特許引き延ばしって裏技もあるけど

474 名前:デフォルトの名無しさん mailto:sage [2011/08/02(火) 19:41:55.79 .net]
まあ、あれや
OpenCL CはJITやから、LL言語からでもグルーライブラリを組めば簡単に使える。
そら、試してみたくもなるわな。
しかし、実際はOpenCL Cを使いこなさなあかんわけで、それほどハードルが低いわけやないと。

んで、環境依存しまくりいうけど、マルチコアプロセッサ用のOpenCLライブラリもIntel, AMDから出てるわけで、もはや大概の環境でOpenCLは使えまっせ。

475 名前:デフォルトの名無しさん mailto:sage [2011/08/03(水) 01:09:07.14 .net]
ブラウザで超広大なライフゲーム

476 名前:デフォルトの名無しさん mailto:sage [2011/08/04(木) 04:52:42.94 .net]
APP SDK 2.5 で BFI_INT が使われるようになったけど、
bitselect() 使うとだめで、 (x & 0xf0f0f0f0) | (y & 0x0f0f0f0f) の型だと OK みたい。

477 名前:デフォルトの名無しさん mailto:sage [2011/08/04(木) 18:42:12.38 .net]
CAL ILコンパイラはもう誰もメンテできないんだろうな。BFI_INT を付け足すのがそんなに苦痛かね?
AMDはLLVMのラデバックエンドに挑戦しているようだけど、果たして新アーキに切り替わる前に
モノにできるんだろうか?

478 名前:デフォルトの名無しさん mailto:sage [2011/08/04(木) 23:21:28.44 .net]
OpenCLってCellみたいなプロセッサが普及しないと面白くないよね。
GPU型の抽象化だけじゃ。

479 名前:デフォルトの名無しさん mailto:sage [2011/08/05(金) 09:45:21.35 .net]
そのCellがコケたからなー
発想が速すぎた
今の技術で開発していれば、大人気だったかもしれないのに

480 名前:デフォルトの名無しさん mailto:sage [2011/08/06(土) 00:40:12.65 .net]
i7であえてOpenCL



481 名前:デフォルトの名無しさん mailto:sage [2011/08/06(土) 02:51:44.01 .net]
OpenCLのアプリを配布するときってAMDとnVidiaで別に実行ファイル作らなきゃいけないの?

482 名前:デフォルトの名無しさん mailto:sage [2011/08/06(土) 03:08:35.23 .net]
何でんなこと思った。

483 名前:デフォルトの名無しさん mailto:sage [2011/08/06(土) 03:57:16.00 .net]
今のところ、OpenCLなアプリケーションを"配布"するための良い方法は無い。(除 MacOS X)

484 名前:デフォルトの名無しさん mailto:sage [2011/08/06(土) 07:16:37.83 .net]
*.cl カーネルを露出させるのがそんなに恥ずかしいか!

難読化するだけだったら gzip してバイナリに埋め込んどくのが楽かもね。

485 名前:デフォルトの名無しさん mailto:sage [2011/08/07(日) 08:06:38.42 .net]
nVidiaから最新ドライバでOpenCL1.1対応とかメールきたんだけど、
ドライバとりに行ったらLinux用はまだじゃねーか。
ざけんなー。

486 名前:デフォルトの名無しさん mailto:sage [2011/08/07(日) 08:08:49.28 .net]
>>480
恥ずかしいというよりノウハウの塊だから出したくない人はいるだろう。

487 名前:デフォルトの名無しさん mailto:sage [2011/08/08(月) 05:22:20.10 .net]
Windows用OpenCL1.1ドライバを試してみたが、
どうも上手く動かないのでもう一寸待った方が良いと思う

488 名前:デフォルトの名無しさん mailto:sage [2011/08/09(火) 01:37:46.04 .net]
>>428
門外不出のノウハウ=世間一般には知られていない。
つまり各分野

489 名前:の研究者すら出し抜く大発見ってことだぞw []
[ここ壊れてます]

490 名前:デフォルトの名無しさん mailto:sage [2011/08/11(木) 20:59:03.48 .net]
>>484
ノウハウが全て開示されているとでも思っているのか?



491 名前:デフォルトの名無しさん mailto:sage [2011/08/11(木) 22:05:51.96 .net]
世間一般に知られていなければ十分じゃん

492 名前:デフォルトの名無しさん mailto:sage [2011/08/12(金) 21:31:49.60 .net]
世間一般に知られないようにするためにカーネルを晒したくないわけだろ

493 名前:デフォルトの名無しさん mailto:sage [2011/08/14(日) 01:34:57.52 .net]
>>473
CAL ILコンパイラ自体はいまだに新命令追加されているよ。
64bitINT除算とかはドキュメント化までされている。
ドキュメントにはなっていないけど、wave_idとかは
Appendix Bにはこっそり追加されて、実際テキストで
1OP命令として書けば使える。


でもBFI_INTは置いてけぼり

494 名前:デフォルトの名無しさん mailto:sage [2011/08/14(日) 09:57:57.76 .net]
マスクが定数なら、iand,iand,ior で BFI_INT になるとおもうけど、
そうじゃないときになー。

495 名前:デフォルトの名無しさん mailto:sage [2011/08/31(水) 17:10:54.28 .net]
初心者です。
Cで書かれた演算プログラムを高速化させたいと思っています。
この元のプログラムをホストプログラムとして、OpenCL用に書き換えて、高速化させたい演算部分を引っこ抜いてカーネルプログラムとして書き換えるというやり方でいいのでしょうか?

また、このようなCのプログラムをOpenCL用に書き換える作業を解説しているサイトや書籍はあるのでしょうか?

当方LINUXでのプログラミングをしております。

496 名前:デフォルトの名無しさん mailto:sage [2011/08/31(水) 21:06:58.51 .net]
並列化はアルゴリズムをかなり選ぶよ。GPGPUなんて尚更。
まず普通にマルチスレッドで並列化してみたら?

497 名前:デフォルトの名無しさん mailto:sage [2011/09/15(木) 10:02:24.21 .net]
opencl用の自動並列化コンパイラってある?

498 名前:デフォルトの名無しさん mailto:sage [2011/09/16(金) 05:07:07.00 .net]
>>490
そのやりかたでいいさ。
2重ループを1重ループ2つにわけるとか。
あとはほとんどC言語と同じだから書き換えるところも少ないんじゃないか?


499 名前:デフォルトの名無しさん mailto:sage [2011/09/16(金) 18:41:47.81 .net]
「Ivy Bridge」プロセッサ、「OpenCL 」をサポート

500 名前:デフォルトの名無しさん mailto:sage [2011/09/16(金) 23:43:18.97 .net]
OpenCLを使ったおぉっとなるアプリってありますか?



501 名前:デフォルトの名無しさん mailto:sage [2011/09/17(土) 08:21:50.52 .net]
うわぁってなるあぷりならある

502 名前:デフォルトの名無しさん mailto:sage [2011/09/17(土) 08:36:22.90 .net]
たとえば?

503 名前:デフォルトの名無しさん mailto:sage [2011/09/17(土) 18:08:09.83 .net]
まってて、ちょっと調べてくる

504 名前:デフォルトの名無しさん mailto:sage [2011/09/18(日) 07:57:32.03 .net]
つ「www.geeks3d.com/20110822/webcl-nokia-extension-for-firefox-6-and-kernel-toy/

505 名前:デフォルトの名無しさん mailto:sage [2011/09/23(金) 23:20:48.33 .net]
なんでAMDのOpenCLってこんなにサポートが糞なの?

506 名前:デフォルトの名無しさん mailto:sage [2011/09/24(土) 06:50:26.05 .net]
OpenCLに関しちゃAMDが一番マシじゃね。

507 名前:デフォルトの名無しさん mailto:sage [2011/09/24(土) 15:07:51.08 .net]
>>500
ヒトイネ

508 名前:デフォルトの名無しさん mailto:sage [2011/09/27(火) 22:25:38.34 .net]
>500
バグレポートしたら、ちゃんと対応してもらえたよ?

509 名前:デフォルトの名無しさん mailto:sage [2011/10/03(月) 02:47:52.78 .net]
もしかして関数呼び出しはOpenCL Cで記述出来ない...?
cudaでいう__device__のように記述出来るかと思ったらそんなことはないのかひどいぞこれは

510 名前:デフォルトの名無しさん mailto:sage [2011/10/03(月) 02:54:10.32 .net]
そんなことはなかったすみませんでした



511 名前:デフォルトの名無しさん mailto:sage [2011/10/03(月) 22:18:02.72 .net]
>>503
バグレポートなんか出来るの?

512 名前:デフォルトの名無しさん mailto:sage [2011/10/04(火) 00:03:56.22 .net]
コンパイル時に死ぬバグだけどコンパイラのサポート窓口は分からなかったので
KernelAnalyzerのAboutにあるメアドに「KernelAnalyzerが死ぬんだけど」
って送った。(嘘はついてないつもり)
コンパイラチームに転送してくれて11.10/2.6で直るって連絡来たよ。
実行時に死ぬのとか結果が変なのもForumに書けば結構みてくれるよ。

513 名前:デフォルトの名無しさん mailto:sage [2011/10/05(水) 23:41:21.79 .net]
>>507
Forumに書いても放置が多いみたいで困る。。

514 名前:デフォルトの名無しさん [2011/10/06(木) 05:23:23.41 .net]
俺が今書いてるJavaプログラムの中で
2つのbyte配列に対する100〜5万回くらいの論理積(単にforループで2つの配列の論理積をとる)が頻繁に発生するんだけど
そういうとこでOpenCL使ったら高速化期待できる?
まとめて100万回くらいならGPUが速そうなんだけど
100回で済むとかだとオーバーヘッドがでかいのかなと思って躊躇してる

515 名前:デフォルトの名無しさん mailto:sage [2011/10/06(木) 18:38:50.63 .net]
aparapiでも使ってみたら?


516 名前:デフォルトの名無しさん mailto:sage [2011/10/17(月) 07:38:26.26 .net]
C++のラッパーを最近使い始めたけどかなり使いやすいね。
とくにメモリ解放が楽になった。

517 名前:デフォルトの名無しさん mailto:sage [2011/11/02(水) 21:22:05.07 .net]
OpenCLは構造体のメモリオブジェクトを作成できますか?

CUDAだったら
typedef struct {
float *num;
} DATA;

DATA data;

cudaMalloc( &data.num, sizeof(float) * 1024 );

みたいにできるんですけど

518 名前:デフォルトの名無しさん mailto:sage [2011/11/02(水) 23:38:01.05 .net]
>>512
例が意味不明
それじゃGPU上に単なるfloat型の配列を確保して、
そのdeviceポインタをCPUの構造体メンバに代入しているだけ。

OpenCLでもGPU上にfloat型の配列をbufferとして確保して、
それをCPUの構造体メンバに代入することは出来る。
メンバ変数の型はfloat*では無く、cl_memだけどね。

でも、その配列自体をGPU側にコピーして、
間接アクセスしようとするとCUDAとOpenCLでは全く違う。

OpenCLではGPU上のポインタは1つのカーネル呼び出し内でしか
一貫性が保証されないから、ポインタを保存しておいて
次のカーネル呼び出しで使うという事が不可能
(cl_memはハンドルに過ぎず、OpenCLのランタイムは
GPU上のオブジェクトを再配置する可能性があるから)
まあ、やるとしたら大きなbufferをメモリプールとして生成して、offsetをポインタの代わりに保存
後でアクセスするときにはbufferを引数に渡して、それにoffset足した位置を触るという
形にするしかない。

まあ、CUDAでも実際にはこの方がCPUとGPUで同じデータを扱えるし、
性能面でも悪くないやり方なんだけど。


519 名前:デフォルトの名無しさん mailto:sage [2011/11/03(木) 01:23:08.95 .net]
ラデ外付けGPUに大量にデータを送りたいんだけど、1/4までって制限どうにかならないの?256MBまでしか送れん

520 名前:デフォルトの名無しさん mailto:sage [2011/11/03(木) 10:05:29.53 .net]
いや、1/4なのではなく 256MBまでという制限。
sizeof(float4) * 4096 * 4096.



521 名前:デフォルトの名無しさん mailto:sage [2011/11/03(木) 10:38:23.81 .net]
>>515
これって変えられないの?

522 名前:デフォルトの名無しさん mailto:sage [2011/11/04(金) 11:46:02.78 .net]
馬鹿には無理






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<179KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef