10/10/24 00:50:26 .net
新しいMacBookPro買ったんだけど
clCreateContextFromTypeでGPU指定したら、そこからCL_SUCCESSが返ってこない・・・
Appleのサイト見てもGeForce GT 330Mはサポートされてるのに
357:デフォルトの名無しさん
10/10/24 01:04:56 .net
>>353
nVidiaが公開してるCUDAドライバ入れた?
358:デフォルトの名無しさん
10/10/24 01:33:46 .net
>>354
SnowLeopardはOSでサポートされてるんじゃないの?
ちょっとぐぐってきます・・・
359:デフォルトの名無しさん
10/10/24 10:40:54 .net
ドライバもなしにハードを動かそうとな?
360:デフォルトの名無しさん
10/10/24 16:18:23 .net
URLリンク(yanoshin.jp)
いつのバージョンかわからんけど
>*必ずToolkit、Driver、SDKの順にインストールすること!(なぜか?)
ドライバだけで、他は必要ないのかな?
URLリンク(journal.mycom.co.jp)
URLリンク(developer.apple.com)
361:デフォルトの名無しさん
10/10/24 16:21:17 .net
今までRadeonユーザーにOpenCL使ってもらうには
SDKインストールしてもらわないといけなかったんだが、
最新ドライバから、OpenCLランタイムをインストールできるようになったらしい。
めでたいことだ。
362:デフォルトの名無しさん
10/10/24 17:39:16 .net
Radeonって全然高速じゃないし使う意味ないよなぁ
363:デフォルトの名無しさん
10/10/24 18:35:46 .net
Radeonユーザーの場合はDirectCompute使った方が良いね
364:デフォルトの名無しさん
10/10/24 18:41:34 .net
Core i …… RADEON HD 6xxx
Phenom II …… GeForce GTX 4xx
365:デフォルトの名無しさん
10/10/24 19:48:56 .net
RadeonだとN体 24Gぐらいしかでないしな
Geforceだと500Gぐらい平気で出るんだけどねぇ
366:デフォルトの名無しさん
10/10/24 23:22:24 .net
>>356
秀和システムのOpenCL入門を読んだら
Mac:Xcodeあればいい
Win:ドライバダウンロード必要
としか書いてなかったからてっきり。
>>357
インストール順番さっそくミスった
実はMacは初めてだからアンインストールの仕方ぐぐらんと
367:363
10/10/27 09:01:28 .net
やっぱり動かない・・・
よく見たらApple英語サイトはGeForceGT330M書いてあるけど
日本語のほうは載ってないし
URLリンク(www.apple.com)
URLリンク(www.apple.com)
368:デフォルトの名無しさん
10/10/27 11:20:00 .net
それ、OSの必要条件じゃん。だから何?
369:デフォルトの名無しさん
10/10/29 07:17:55 .net
URLリンク(developer.apple.com)
> __kernel square
を
> __kernel void square
に置換。
のサンプルも動かない?
370:デフォルトの名無しさん
10/10/29 16:50:26 .net
>>365
ごめん それは関係なかった
>>366
カーネル以前にclGetDeviceIDsでGPU指定だと止まる。CPUでは動く。。。
試しに>>357の参考してCUDAのサンプルも動かしてみたら
CUDA使用可能なデバイスが見つからないというエラーがでる(´・ω・`)
でも動くのもあって、oceanFFTとかnbodyとかは動いてくれるんだけど
371:デフォルトの名無しさん
10/10/29 19:14:57 .net
そりゃ変だな。ちなみにこちらは Radeon HD 5670 の iMac だが普通に動いてる。
CUDAのドライバにSDKは入れてる(入れただけで放置してたが)。
372:デフォルトの名無しさん
10/11/06 16:01:55 .net
gccはOpenCLに興味ないみたいだね
代わりにclang使うしかないのか?UNIXでは
373:デフォルトの名無しさん
10/11/07 00:02:23 .net
>>369
gccは開発技術レベル落ちまくってて
本業のコンパイラもLLVM連中やMSに
抜き去られてやばいらしい
374:デフォルトの名無しさん
10/11/07 00:11:37 .net
つってもGCC死んだらUNIX系が基盤から崩壊するから、
どうにかしなきゃいかんだろうしどうにかするだろ
375:デフォルトの名無しさん
10/11/07 00:29:49 .net
マルチアーキ型のgccの最適化処理がx86特化型であるmsのソレ以上だったことなんてあったか?
376:デフォルトの名無しさん
10/11/07 00:30:00 .net
GCCってそんな立ち位置だったっけ?
広く愚直にというイメージがあるんだが
377:,,・´∀`・,,)っ-○○○
10/11/07 01:03:36 .net
GNUソフトウェアはいつだって言いだしっぺの法則が適用されるんだぜ。
Cell B.E.だってSCEが自らABIを公開してGCCやLinuxカーネルのパッチをコミットした。
NVIDIAやAMDがGCCにコミットしない限り動かんだろ。
378:デフォルトの名無しさん
10/11/07 05:02:21 .net
>>371
もうどうにもならん
ORACLEのせい
379:,,・´∀`・,,)っ-○○○
10/11/07 05:21:45 .net
なんだかんだでHPCなんて所詮はサーバ市場の1%未満のニッチ市場だよ。
そのなかのGPGPU用の言語の一つのために必死になる奴もそうそういない。
なんならRailsやZend使ってWebサービスを構築してるSIerにでもGPGPUの素晴らしさを説いてくれw
380:デフォルトの名無しさん
10/11/07 10:51:44 .net
>>376
動画のエンコード・デコードはダメなの??
381:デフォルトの名無しさん
10/11/07 13:34:36 .net
ffmpegと同等の画質を達成すればGoogle様が興味を示す
かも
382:デフォルトの名無しさん
10/11/07 13:44:30 .net
なんでGPUを使う→低画質という思考になるの?
383:デフォルトの名無しさん
10/11/07 14:24:23 .net
馬鹿だから
384:,,・´∀`・,,)っ-○○○
10/11/07 15:08:22 .net
ブロックサイズを細かく分けて並列処理しないとGPUのスループットの強みを生かせないから。
CPUで処理するレベルの高画質エンコードは構造的に不向き。せいぜいフィルタだけやらせておけというレベル。
385:デフォルトの名無しさん
10/11/07 20:04:27 .net
ブロックサイズ1ピクセル単位とかにでもしないとGPUの優位なんて出てこないんだろうなw
386:デフォルトの名無しさん
10/11/17 00:02:22 .net
IntelがCoreプロセッサ向けOpenCL SDKのアルファ版を公開: 新 masafumi's Diary
URLリンク(masafumi.cocolog-nifty.com)
387:デフォルトの名無しさん
10/11/17 01:07:04 .net
Windows Onlyか
388:デフォルトの名無しさん
10/11/17 15:57:12 .net
Core2Duoなのに入れられない!と思ったら45nm版Core2以降かよ…SSE4使うのな
389:デフォルトの名無しさん
10/11/17 19:24:56 .net
そろそろQ6600に引導渡してやるか・・・
Cougar Pointの仕様が色々と半端なので、GPUだけ強化してIvy Bridgeまで引っ張るつもりだったんだが
390:デフォルトの名無しさん
10/11/21 00:35:46 .net
来年からAMDが大攻勢、NVは苦しくなるな。
もうグラフィックボードすら不要になってくる。
391:デフォルトの名無しさん
10/11/21 00:38:40 .net
CPUで使う場合も、OpenCL的なメモリコピーを挟まないといけないのでしょうか?
392:デフォルトの名無しさん
10/11/27 07:53:49 .net
OpenCLって、いつになったら動かせるようになるの?
組み込み向けにGPGPUしたいんだけど、CUDAだと発熱すごすぎグラフィックボード
がどうしても必要なんで、オンボードGPUをOpenCLで動かしたいのだが。
393:デフォルトの名無しさん
10/11/27 08:38:35 .net
まるでオンボードGPUだと発熱しないと言わんばかりの意味不明な発言。
394:デフォルトの名無しさん
10/11/27 10:03:51 .net
信頼性は違うだろ?
395:デフォルトの名無しさん
10/11/27 13:28:35 .net
オンボードのチップの方が信頼性が高いの?
マザボ丸ごと道連れになるくらいならカード交換で済む方がいい気もするんだが。
今までの経験からすると、寧ろ電源が死ぬことのほうが多いけどね。
396:デフォルトの名無しさん
10/11/27 14:29:27 .net
RadeonでもGeForceでもPhenomでもCore 2(45nm以下)以上でも動くよ>>OpenCL
397:,,・´∀`・,,)っ-○○○
10/11/27 14:34:16 .net
SSE4.1以上に限定する意味は一応あるのね。
insertps/extractpsがgather/scatterとして、vlendvpsがプレディケートに使えるから
SPMDのカーネルモデルを容易に実現できる。
398:デフォルトの名無しさん
10/11/29 14:16:12 .net
OPENCLってグラフィックカードの計算につかうCPUで
普通のプログラミングも計算するってことですか?
399:デフォルトの名無しさん
10/11/29 19:38:51 .net
日本語でおk
400:デフォルトの名無しさん
10/11/29 22:13:20 .net
>>395
コストが無駄になるので特定の用途向けの計算に使います。
401:デフォルトの名無しさん
10/12/01 11:07:07 .net
じゃあ、グラフィックカードの付いてないノートパソコンでは無意味ということだな。
402:デフォルトの名無しさん
10/12/02 01:56:33 .net
C言語っぽく書いて、コンパイラがうまいことSIMDに変換してくれるから意味あるよ。
403:デフォルトの名無しさん
10/12/04 11:20:13 .net
GPUでmalloc作った論文どこだっけ?
404:デフォルトの名無しさん
10/12/18 09:11:15 .net
外付けと内蔵グラフィック切り替えるタイプのノートでopenCL使うとどうなるの
NVkernelそこまで対応してるのかな?
405:デフォルトの名無しさん
10/12/25 19:51:36 .net
全ワークアイテムでは同期とれないんだね。ワークグループ内のみか。
さて、どうやって同期とるか・・・
406:デフォルトの名無しさん
10/12/31 18:12:58 .net
OpenCLを始めようと思ってサンプルコードを動かしてみたんですが
コンテキストを作るところで躓いてしまいました。
何がいけないんでしょうか?
具体的には
cl_int status;
cl_context context = clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU, NULL, NULL, &status);
とやると、status に CL_INVALID_PLATFORM が返ってきます。
clGetPlatformInfo 関数は、たとえば CL_PLATFORM_VERSION を引数にして実行すると
"OpenCL 1.0 CUDA 3.2.1" という文字列が返ってくるので
OpenCLドライバが入ってないわけではなさそうなんですが・・・
環境はCore2Duo E8400、GeForce9600GT、Windows7 32bitです。
407:デフォルトの名無しさん
10/12/31 18:39:37 .net
第一引数がNULLだとそうなるのがある
ならないのがあるのかは知らん
秀和の本読んでると思うけど公式から修正されたソース落としてこれるからそれを参考にしてくれ
今規制中で携帯からコード打つ気にならんw
408:403
10/12/31 20:39:19 .net
>>404
秀和のサイトの修正済サンプルコードを参考にしたら、うまく動きました。
第一引数にNULLではなくコンテキストのプロパティを与えればいいみたいですね。
秀和の本で勉強してると言い当てられてビックリですw
この本わかりやすいですね。
大学の研究で何千枚の画像相関やってるんで、OpenCLで夢がひろがりんぐ。
409:デフォルトの名無しさん
11/01/01 10:51:11 .net
グラフィックスドゥライヴァのヴァージョンは?
410:404
11/01/01 16:41:42 .net
URLリンク(developer.download.nvidia.com)
411:デフォルトの名無しさん
11/01/04 05:00:19 .net
openCLを使っています。
CL_DEVICE_TYPE_DEFAULTという値について質問があります。
この値はプラットフォームの標準デバイスを使うと書いてありました。
どのようにしたら、プラットフォームの標準デバイスがGPUなのか、CPU
なのかを知ることができるのでしょうか。
412:デフォルトの名無しさん
11/01/26 11:02:46 .net
Radeon5850と6970を二本さして、FFTの負荷分散させたいと思ってcontextにデバイス2つのせてキューも2本立てたんだけど、
データ転送も並列実行も同時並列的に実行されないで逐次的に実行されてるみたいなんですよ。
コードは1GPUの場合のものをキューだけ変えて単純に2つ並べただけなんですけれども。
OpenCL StramSDKでマルチGPU?実行されてる方いらっしゃいます?
413:デフォルトの名無しさん
11/01/26 12:09:39 .net
AMDからメール来た
AMD Accelerated Parallel Processing (APP) SDK | AMD Developer Central
URLリンク(developer.amd.com)
OpenCL? H.264/AVC: MainConcept
URLリンク(www.mainconcept.com)
414:409
11/01/28 13:15:14 .net
OpenMP使えばいいんですね.自己解決しましたw
415:デフォルトの名無しさん
11/01/28 18:00:42 .net
OpenCLはCUDAやTBBのラッパーという理解で宜しいか?
416:デフォルトの名無しさん
11/01/31 10:23:07 .net
OpenMPはCPUしか並列化できない
GPUも並列化したいならOpenMPじゃなくてOpenCL使わなきゃだめだろ
417:デフォルトの名無しさん
11/01/31 21:48:44 .net
>>413
レスあざす。
もともとOpenCLで組んでて、OpenCLだけでマルチデバイスで動作しないかなぁと思った悩んでいたもんで。一応ホストのスレッドを二本立てたら並列動作しました!
418:デフォルトの名無しさん
11/01/31 23:26:33 .net
AMDのH264のSDKってどうなの?
419:デフォルトの名無しさん
11/02/01 20:28:57 .net
>>415
んなもんあったっけ??
420:デフォルトの名無しさん
11/02/02 01:05:26 .net
>>416
話解らない奴だな
OpenCL H.264/AVC Encoder SDK Beta
どうなんだって聞いてるんだから答えろやクソが
421:デフォルトの名無しさん
11/02/02 15:44:26 .net
>>417
それAMD製じゃないしAMD専用でも無いじゃん
URLリンク(www.mainconcept.com)
422:デフォルトの名無しさん
11/02/02 21:39:51 .net
>>417
ぷw
423:デフォルトの名無しさん
11/02/03 00:23:39 .net
>>414
OpenCLの関数ってほとんどノンブロッキングだから
OpenMP使わなくても並列に動作するんじゃないの?
試したことないからわからんけど
424:デフォルトの名無しさん
11/02/03 00:34:19 .net
>>420
と思ったんですよ。とりあえず同じコンテクストにデバイス2つ乗っけて、キューを二本立ててやってみると計算はされるんだけど、プロファイラーで動作みてみると見事に逐次実行されてて。コンテクスト2つ立ててもダメでした。
ヘテロジニアスなんて謳ってるわりに面倒ですよねぇ^^;
425:デフォルトの名無しさん
11/02/04 03:56:08 .net
>>421
OpenCLのコマンドキューはインオーダー実行がデフォだから
CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLEやらないと必ず逐次実行されるよ
426:デフォルトの名無しさん
11/02/04 20:08:07 .net
>>422
違うんですねー
OpenCLドライバは何故か初期から、OutOfOrderを付けても逐次実行されるんだわ。。。
いつか対応されるだろうと、一年くらい経過したけどまだ対応されてないとは
427:デフォルトの名無しさん
11/02/09 20:10:42 .net
428:="../test/read.cgi/tech/1228891105/421" target="_blank">>>421 プロファイラで実行すると逐次実行されるが、プロファイラ上でなければ並列実行される。 ジョブ投入や実行の時間を記録して表示させてみ。 また、同一コンテキストのメモリが二つのデバイスのどちらからでもアクセスできる裏技もあるよ。 最初のアクセスは遅いが、それ以降は早いので、CPU側に読み込んで書き戻すとかしなくてもダミーでメモリをアクセスするジョブを流せばデバイス間のデータ移動ができる。 1年ほど前にデバイス2本同時駆動の実験だけして本チャンの計算プログラムはまだつくってなかったな、そういや。
429:デフォルトの名無しさん
11/03/08 07:32:39.91 .net
昨日1日使ってボトルネックをOpenCLに移植したけど、
余計遅くなったわ。やれやれ
430:デフォルトの名無しさん
11/03/08 08:28:07.93 .net
ボトルネックを移植するんじゃなくてOpenCLに向いている部分を移植しろよ
または並列性を極大化したりif文などの分岐を全部排除するなどアルゴリズム最適化をしてみれば?
431:デフォルトの名無しさん
11/04/07 03:06:36.77 .net
VLIW5のtパイプ埋まらん
432:デフォルトの名無しさん
11/04/13 04:08:44.89 .net
深く考えずに2^26スレッドenqueueしたらひどいことになった。
433:デフォルトの名無しさん
11/04/21 23:37:32.85 .net
なんでこれ有料なんだ?
URLリンク(web.me.com)
434:デフォルトの名無しさん
11/04/22 00:28:47.04 .net
Appleが提供しているツールならまだしも第三者が開発しているツールを無料にしろってのは横暴だろ
シェアウェアや市販ソフトを完全否定なお人ですか?
435:デフォルトの名無しさん
11/04/23 23:18:19.02 .net
AMD APPのOpenCLについてご存じの方がいたら教えて欲しいんですが、
wavefront=64 って事は、例えばwork_group = 128 の場合 work_itemが64ずつ完全に並列実行って認識で合ってるでしょうか?
(wavefront内のやりとりは同期が必要ないかどうかを知りたいです)
436:デフォルトの名無しさん
11/04/24 03:56:08.00 .net
>>431
何の保証もないけど、今のところ大丈夫な気がする。
437:デフォルトの名無しさん
11/04/24 05:50:16.61 .net
最大3クロックのタイミング差があると思うんだけど。
438:デフォルトの名無しさん
11/05/26 04:58:19.55 .net
XOR_INT*4とMULADD*4が同じ時間食うって納得いかん…
439:デフォルトの名無しさん
11/06/14 22:58:32.16 .net
for(d=0;省略){
clSetKernelArg(省略&d);
clEnqueueNDRangekernel(省略);
clEnqueueReadBuffer(省略);
for(省略){読み出したメモリ合算}
}
で1024*dで実行して
読み出して合算して再度実行・・・の形にしてもアドレス違反が起きてしまう・・・
イベントリストもバリア同期も意味なし
GPU実行でアドレス違反は画面だけ真っ黒になってびっくりした
デバックはCPUデバイス使ったほうがいいよ
440:デフォルトの名無しさん
11/06/26 01:59:15.81 .net
最近OpenCLに興味もったんですが皆さん楽しいですか?
441:デフォルトの名無しさん
11/06/26 14:59:58.32 .net
楽しいとか楽しくないとか問題じゃねえよ
442:デフォルトの名無しさん
11/06/26 15:03:37.91 .net
でっかいうんこかどうかだな
443:デフォルトの名無しさん
11/07/04 00:47:28.82 .net
AMD gDEBugger
URLリンク(developer.amd.com)
いろいろ便利かもな
444:デフォルトの名無しさん
11/07/04 00:50:00.35 .net
nsightもOpenCLデバッグ対応してなかったっけ?
445:天使 ◆uL5esZLBSE
11/07/04 06:50:33.14 .net
2011年になっても未だにJAVA使い続けてる奴ってさ
仕事で仕方なくならわかるけど
家でもJAVAやってるなら本当にバカだよね。哀れ
ゴミだし
446:デフォルトの名無しさん
11/07/04 07:59:16.86 .net
最近みかける天使うぜー死ねと思っていたが
松本龍の阿呆発言と比べると実害無いだけマシだと思った
447:デフォルトの名無しさん
11/07/05 22:49:02.30 .net
つまんねー書き込みしてないでとっととNG登録しろよ
448:デフォルトの名無しさん
11/07/05 22:51:03.29 .net
このコテハン「天使 ◆uL5esZLBSE」は天才チンパンジー「アイちゃん」が
言語訓練のために使用しているハンドルです。
アイと研究員とのやり取りに利用する書き込みなので、
関係者以外はレスしないで下さい。
京都大学霊長類研究所
449:デフォルトの名無しさん
11/07/06 01:40:07.31 .net
intelのopencl SDKをlinuxにインスコったけどコンパイルのやり方わからん
gcc使ってどうにかならんの?
450:デフォルトの名無しさん
11/07/06 09:49:42.54 .net
OpenCLってもう1年もバージョン変わって無いけど、開発中止したの?
451:デフォルトの名無しさん
11/07/06 11:06:10.67 .net
バージョンUPしなくていいほど今の版が完成されたすばらしい出来だという事なんだよ
という事にしておきたい
452:デフォルトの名無しさん
11/07/06 11:57:01.57 .net
グラボはどんどん進化してるのに、ライブラリは完成されてるとかねーよ
453:デフォルトの名無しさん
11/07/06 18:08:10.55 .net
進化しても演算部分のコンパイラが底まで進化する必要があるか?
MSのCPUコンパイラさえ基本的には10年以上前のCPUでも動くような最適化レベルで止まっているしな。
GPUとして使うならまだしもGPGPUとして処理するならコンパイラは基本部分だけで、あとはドライバの進化で十分かと
454:デフォルトの名無しさん
11/07/09 07:08:13.67 .net
>>439
それってGPU1枚だけでも使えるの?
requirementsにはハードウェアのことが書いてない
455:1
11/07/26 06:44:48.46 .net
スレリンク(dataroom板)
456:デフォルトの名無しさん
11/07/27 23:22:22.79 .net
HD4850が最新のドライバではOpenCL動かないし、古いドライバでは動くがゲロ遅
アムドはあかんな
457:デフォルトの名無しさん
11/07/28 01:08:32.77 .net
>>452
4870 + CCC 11.6 で OpenCL 動いてるけど、
もしかして 11.7 では動かなくなるのかな ?
458:デフォルトの名無しさん
11/07/28 14:50:27.81 .net
HD4850, APP 2.4, CCC 11.6で動かず(カーネルコンパイルエラー)。
ググったら4xxxは11.6じゃ動かないから11.5にしろと言うことで11.5にしたら動いた。
459:デフォルトの名無しさん
11/07/28 15:07:33.48 .net
アムドとか言ってるあたりでお察し・・・
460:デフォルトの名無しさん
11/07/28 20:28:57.67 .net
アムドいうただけでレッテル貼りとかどんだけ・・・
ヌビディアはOpenCL対応あかんね
1.0のくせに1.1用の関数を使ってもコンパイル・リンクが通る
でも、clEnqueueWriteBufferRectとか実行したらセグメンテーション違反
なめとるで
461:デフォルトの名無しさん
11/07/29 09:43:45.32 .net
どっちも自社ライブラリ使えってことだよ
462:デフォルトの名無しさん
11/07/29 12:23:00.19 .net
data parallelで簡単な2重forならできるけどそれ使って複雑な計算するのが
できぬ・・・CUDAと違って1024が最大なのがネック
463:452
11/07/30 22:03:20.57 .net
職場のC1060に家パソのHD4850が10倍以上の大差で惨敗してムカついたのでHD6950買ってきた。
2倍以上でHD6950の勝利!
アムド最高やで
464:デフォルトの名無しさん
11/07/30 22:25:54.10 .net
6970や6990じゃなくて6950なのか。てかC1060はもうどうでもよかろう。
465:デフォルトの名無しさん
11/07/30 23:10:14.10 .net
>>460
C1060はどうでもええことないよ。
だって、職場の計算機の貴重な戦力だし。
6950にしたのは家パソ用に高い板を買う気はないから。
466:デフォルトの名無しさん
11/08/01 20:49:14.86 .net
いつの間にか WebCL とか出来てて驚いた。
WebGL は色々使い道あるけど、WebCL は需要が分からん。
467:デフォルトの名無しさん
11/08/01 21:47:49.14 .net
WebGLについてはこちらでお願いします
【O3D】HTML5用 3D API WebGL 【Canvas:3D】
スレリンク(tech板)
468:デフォルトの名無しさん
11/08/01 22:13:20.26 .net
WebGLの話なんてしてないが
469:デフォルトの名無しさん
11/08/01 23:26:04.83 .net
サイトを開くだけで分散コンピューティングに参加…胸熱。
470:デフォルトの名無しさん
11/08/02 10:29:42.77 .net
URLリンク(www.infoq.com)
これか
確かにブラウザ上で並列処理する必要性がよくわからんな
471:デフォルトの名無しさん
11/08/02 14:03:26.64 .net
頻繁にメインメモリと同期するような計算にはJavaScriptが遅くて使い物にならないだろうし
重い処理を単発でやるだけならサーバーでやればいいだけな気がする
わざわざWebで激しく環境依存するようなことをやる意味が分からん
472:デフォルトの名無しさん
11/08/02 15:29:27.41 .net
技術というのは、早い者勝ちでなぁ
仕様などをはやめに決めておかないと、特許やらパクリと言われたりとかなんやらで面倒な事になってしまうんだ
あと名を残したい人が作ったりするんだ
役に立つとか使えるとか、そんなの関係無いんだ
473:デフォルトの名無しさん
11/08/02 16:18:14.25 .net
それはわかるんだが、特許を取るタイミングとかが難しいよな
取得にも維持費もかかるし、早すぎると普及した一番儲かる時期に特許権が切れて利益にならないとか
まー特許引き延ばしって裏技もあるけど
474:デフォルトの名無しさん
11/08/02 19:41:55.79 .net
まあ、あれや
OpenCL CはJITやから、LL言語からでもグルーライブラリを組めば簡単に使える。
そら、試してみたくもなるわな。
しかし、実際はOpenCL Cを使いこなさなあかんわけで、それほどハードルが低いわけやないと。
んで、環境依存しまくりいうけど、マルチコアプロセッサ用のOpenCLライブラリもIntel, AMDから出てるわけで、もはや大概の環境でOpenCLは使えまっせ。
475:デフォルトの名無しさん
11/08/03 01:09:07.14 .net
ブラウザで超広大なライフゲーム
476:デフォルトの名無しさん
11/08/04 04:52:42.94 .net
APP SDK 2.5 で BFI_INT が使われるようになったけど、
bitselect() 使うとだめで、 (x & 0xf0f0f0f0) | (y & 0x0f0f0f0f) の型だと OK みたい。
477:デフォルトの名無しさん
11/08/04 18:42:12.38 .net
CAL ILコンパイラはもう誰もメンテできないんだろうな。BFI_INT を付け足すのがそんなに苦痛かね?
AMDはLLVMのラデバックエンドに挑戦しているようだけど、果たして新アーキに切り替わる前に
モノにできるんだろうか?
478:デフォルトの名無しさん
11/08/04 23:21:28.44 .net
OpenCLってCellみたいなプロセッサが普及しないと面白くないよね。
GPU型の抽象化だけじゃ。
479:デフォルトの名無しさん
11/08/05 09:45:21.35 .net
そのCellがコケたからなー
発想が速すぎた
今の技術で開発していれば、大人気だったかもしれないのに
480:デフォルトの名無しさん
11/08/06 00:40:12.65 .net
i7であえてOpenCL
481:デフォルトの名無しさん
11/08/06 02:51:44.01 .net
OpenCLのアプリを配布するときってAMDとnVidiaで別に実行ファイル作らなきゃいけないの?
482:デフォルトの名無しさん
11/08/06 03:08:35.23 .net
何でんなこと思った。
483:デフォルトの名無しさん
11/08/06 03:57:16.00 .net
今のところ、OpenCLなアプリケーションを"配布"するための良い方法は無い。(除 MacOS X)
484:デフォルトの名無しさん
11/08/06 07:16:37.83 .net
*.cl カーネルを露出させるのがそんなに恥ずかしいか!
難読化するだけだったら gzip してバイナリに埋め込んどくのが楽かもね。
485:デフォルトの名無しさん
11/08/07 08:06:38.42 .net
nVidiaから最新ドライバでOpenCL1.1対応とかメールきたんだけど、
ドライバとりに行ったらLinux用はまだじゃねーか。
ざけんなー。
486:デフォルトの名無しさん
11/08/07 08:08:49.28 .net
>>480
恥ずかしいというよりノウハウの塊だから出したくない人はいるだろう。
487:デフォルトの名無しさん
11/08/08 05:22:20.10 .net
Windows用OpenCL1.1ドライバを試してみたが、
どうも上手く動かないのでもう一寸待った方が良いと思う
488:デフォルトの名無しさん
11/08/09 01:37:46.04 .net
>>428
門外不出のノウハウ=世間一般には知られていない。
つまり各分野
489:の研究者すら出し抜く大発見ってことだぞw
490:デフォルトの名無しさん
11/08/11 20:59:03.48 .net
>>484
ノウハウが全て開示されているとでも思っているのか?
491:デフォルトの名無しさん
11/08/11 22:05:51.96 .net
世間一般に知られていなければ十分じゃん
492:デフォルトの名無しさん
11/08/12 21:31:49.60 .net
世間一般に知られないようにするためにカーネルを晒したくないわけだろ
493:デフォルトの名無しさん
11/08/14 01:34:57.52 .net
>>473
CAL ILコンパイラ自体はいまだに新命令追加されているよ。
64bitINT除算とかはドキュメント化までされている。
ドキュメントにはなっていないけど、wave_idとかは
Appendix Bにはこっそり追加されて、実際テキストで
1OP命令として書けば使える。
でもBFI_INTは置いてけぼり
494:デフォルトの名無しさん
11/08/14 09:57:57.76 .net
マスクが定数なら、iand,iand,ior で BFI_INT になるとおもうけど、
そうじゃないときになー。
495:デフォルトの名無しさん
11/08/31 17:10:54.28 .net
初心者です。
Cで書かれた演算プログラムを高速化させたいと思っています。
この元のプログラムをホストプログラムとして、OpenCL用に書き換えて、高速化させたい演算部分を引っこ抜いてカーネルプログラムとして書き換えるというやり方でいいのでしょうか?
また、このようなCのプログラムをOpenCL用に書き換える作業を解説しているサイトや書籍はあるのでしょうか?
当方LINUXでのプログラミングをしております。
496:デフォルトの名無しさん
11/08/31 21:06:58.51 .net
並列化はアルゴリズムをかなり選ぶよ。GPGPUなんて尚更。
まず普通にマルチスレッドで並列化してみたら?
497:デフォルトの名無しさん
11/09/15 10:02:24.21 .net
opencl用の自動並列化コンパイラってある?
498:デフォルトの名無しさん
11/09/16 05:07:07.00 .net
>>490
そのやりかたでいいさ。
2重ループを1重ループ2つにわけるとか。
あとはほとんどC言語と同じだから書き換えるところも少ないんじゃないか?
499:デフォルトの名無しさん
11/09/16 18:41:47.81 .net
「Ivy Bridge」プロセッサ、「OpenCL 」をサポート
500:デフォルトの名無しさん
11/09/16 23:43:18.97 .net
OpenCLを使ったおぉっとなるアプリってありますか?
501:デフォルトの名無しさん
11/09/17 08:21:50.52 .net
うわぁってなるあぷりならある
502:デフォルトの名無しさん
11/09/17 08:36:22.90 .net
たとえば?
503:デフォルトの名無しさん
11/09/17 18:08:09.83 .net
まってて、ちょっと調べてくる
504:デフォルトの名無しさん
11/09/18 07:57:32.03 .net
つ「URLリンク(www.geeks3d.com)」
505:デフォルトの名無しさん
11/09/23 23:20:48.33 .net
なんでAMDのOpenCLってこんなにサポートが糞なの?
506:デフォルトの名無しさん
11/09/24 06:50:26.05 .net
OpenCLに関しちゃAMDが一番マシじゃね。
507:デフォルトの名無しさん
11/09/24 15:07:51.08 .net
>>500
ヒトイネ
508:デフォルトの名無しさん
11/09/27 22:25:38.34 .net
>500
バグレポートしたら、ちゃんと対応してもらえたよ?
509:デフォルトの名無しさん
11/10/03 02:47:52.78 .net
もしかして関数呼び出しはOpenCL Cで記述出来ない...?
cudaでいう__device__のように記述出来るかと思ったらそんなことはないのかひどいぞこれは
510:デフォルトの名無しさん
11/10/03 02:54:10.32 .net
そんなことはなかったすみませんでした
511:デフォルトの名無しさん
11/10/03 22:18:02.72 .net
>>503
バグレポートなんか出来るの?
512:デフォルトの名無しさん
11/10/04 00:03:56.22 .net
コンパイル時に死ぬバグだけどコンパイラのサポート窓口は分からなかったので
KernelAnalyzerのAboutにあるメアドに「KernelAnalyzerが死ぬんだけど」
って送った。(嘘はついてないつもり)
コンパイラチームに転送してくれて11.10/2.6で直るって連絡来たよ。
実行時に死ぬのとか結果が変なのもForumに書けば結構みてくれるよ。
513:デフォルトの名無しさん
11/10/05 23:41:21.79 .net
>>507
Forumに書いても放置が多いみたいで困る。。
514:デフォルトの名無しさん
11/10/06 05:23:23.41 .net
俺が今書いてるJavaプログラムの中で
2つのbyte配列に対する100~5万回くらいの論理積(単にforループで2つの配列の論理積をとる)が頻繁に発生するんだけど
そういうとこでOpenCL使ったら高速化期待できる?
まとめて100万回くらいならGPUが速そうなんだけど
100回で済むとかだとオーバーヘッドがでかいのかなと思って躊躇してる
515:デフォルトの名無しさん
11/10/06 18:38:50.63 .net
aparapiでも使ってみたら?
516:デフォルトの名無しさん
11/10/17 07:38:26.26 .net
C++のラッパーを最近使い始めたけどかなり使いやすいね。
とくにメモリ解放が楽になった。
517:デフォルトの名無しさん
11/11/02 21:22:05.07 .net
OpenCLは構造体のメモリオブジェクトを作成できますか?
CUDAだったら
typedef struct {
float *num;
} DATA;
DATA data;
cudaMalloc( &data.num, sizeof(float) * 1024 );
みたいにできるんですけど
518:デフォルトの名無しさん
11/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:デフォルトの名無しさん
11/11/03 01:23:08.95 .net
ラデ外付けGPUに大量にデータを送りたいんだけど、1/4までって制限どうにかならないの?256MBまでしか送れん
520:デフォルトの名無しさん
11/11/03 10:05:29.53 .net
いや、1/4なのではなく 256MBまでという制限。
sizeof(float4) * 4096 * 4096.
521:デフォルトの名無しさん
11/11/03 10:38:23.81 .net
>>515
これって変えられないの?
522:デフォルトの名無しさん
11/11/04 11:46:02.78 .net
馬鹿には無理
523:デフォルトの名無しさん
11/11/07 02:56:58.68 .net
並列化させるのも結構苦労するよね。
簡単な演算ならいいけど、データ依存がちょっとでも複雑になると
動かすカーネルの順番とか数とか
気にしなきゃいけないことイパーイ
524:デフォルトの名無しさん
11/11/15 23:57:17.03 .net
OpenCL 1.2
URLリンク(www.khronos.org)
525:デフォルトの名無しさん
11/11/16 00:44:39.04 .net
NVIDIAのドライバがカオスになるな
gdgdの果てに漸く1.0対応が落ち着いたと思ったら
28x世代の1.1対応でまたおかしくなってまだ終息してないのに
526:デフォルトの名無しさん
11/11/16 01:54:02.46 .net
彼らにはCUDAがあるからなぁ。。
頑張る必要が無いのだろう。
527:デフォルトの名無しさん
11/11/19 02:59:11.80 .net
nVidiaはどこに向かっているんだ…
OpenACC : 新しい並列コンピューティングのためのプログラミング環境
URLリンク(www.shader.jp)
528:デフォルトの名無しさん
11/11/19 19:26:18.05 .net
それはOpenMPのGPU版みたいなものなので、CUDAやOpenCLとは衝突しない
529:デフォルトの名無しさん
11/11/19 20:50:05.10 .net
AlteraがFPGAでOpenCLを、とか言い出してて面白そうな感じ。
530:デフォルトの名無しさん
11/11/19 21:07:31.87 .net
C++AMPのNVIDIA版ぽいね
まぁC++AMPはNVIDIAでも動くけど
インライン記述の世代でどれが主導権を握れるかは気になるところ
531:デフォルトの名無しさん
11/11/19 23:38:32.61 .net
MSは最終的にC++AMPをオープンにすると言ってはいるが、結局オプソ系コミュニティがどう動くかだな
CPUの並列ライブラリはMSはOpenMPからPPL推し、オプソ系は主にTBBと別れてしまっているので、
GPUではどうにかして歩調を揃えてもらいたいところ
ただ、一応オープン化を標榜するC++ AMPに介入するわけでもなくかといってCUDAの様に自社GPU専用に囲い込むわけでもなく、
立ち位置の被るオープン規格を立ち上げたNVIDIAの意図が分からんといえば分からん
GPUに全てを賭けるメーカーとしては握れる手綱は全て握っておきたい、という事なのかな
532:デフォルトの名無しさん
11/11/20 01:50:41.74 .net
>>523
使う側は思いっきり衝突するだろ
533:デフォルトの名無しさん
11/11/20 02:32:04.15 .net
>>522
PGI Accelerator が元になっているのかな?
URLリンク(www.softek.co.jp)
534:デフォルトの名無しさん
11/11/22 14:27:24.23 .net
インタビューで簡単にOpenACCについてふれてる
URLリンク(insidehpc.com)
535:デフォルトの名無しさん
11/11/22 23:50:42.88 .net
カーネルの実行順位はイベントで指定できる
OpenCLのバイナリコンパイルと読み込みうまくできない・・・
バイナリなしだと環境自由になるけど
ソース丸出しになるから計算高速化くらいしか使い道ないね
536:デフォルトの名無しさん
11/11/25 00:37:00.99 .net
1.2の新機能
URLリンク(www.streamcomputing.eu)
537:デフォルトの名無しさん
11/11/25 22:22:16.51 .net
>>531
ダイナミックに追加が変更があったのって、DirectX関係だけだな。。。
538:デフォルトの名無しさん
11/11/28 10:27:25.45 .net
なんかもーGPUメーカーは独自に動いてるし、開発する気無いだろw
539:デフォルトの名無しさん
11/11/29 19:35:56.69 .net
intel CPU制限多すぎ・・・SSE4.1対応って書いておいてくれよ・・・
core2 quad全部対応してるかのようなのはやめてほしい・・・
XPで使えないのはちょっと困る・・・
540:デフォルトの名無しさん
11/11/29 23:11:26.28 .net
SSE見逃してたごめん
541:デフォルトの名無しさん
11/11/30 00:12:08.31 .net
SSEぐらいOpenCL使わなくってもいいじゃん
542:デフォルトの名無しさん
11/11/30 00:50:42.75 .net
>>536
OpenCLの機能実現するのに都合がいい命令がSSE4.1にあるからインテルの開発ツールはSSE4.1対応の世代以降でないと使えないんだよ
どうせ普及する頃には古い世代のCPUいなくなってるよねって方針なんだろ
543:デフォルトの名無しさん
11/11/30 00:58:02.95 .net
GPUが使えない環境での互換性用と割り切って広くサポートしてくれたほうがまだ有用なのにな
544:デフォルトの名無しさん
11/12/05 06:55:31.93 .net
構造体そのままカーネルに放り投げられない・・・
x.yに配列分けなくちゃだめか・・・
GPU正直CUDAのほうが楽だよね・・・
CPUとGPU同時並列に魅力感じてたけど
両方ともスレッドが少なすぎて・・・
545:デフォルトの名無しさん
11/12/05 09:48:13.49 .net
なにいってるんだ?
546:デフォルトの名無しさん
11/12/05 11:51:31.75 .net
構造体 a
int x;
int y;
の配列をそのままメモリバッファにコピーしても
うまくいかなかったので・・・
AMDのカーネルアナライザーでエラーがでてたんです
if(a[id].x-a[id].y){}
結局配列分割してコピーしました・・・
547:デフォルトの名無しさん
11/12/05 12:04:37.78 .net
組み込みのint2でいいじゃない。
548:デフォルトの名無しさん
11/12/05 16:36:44.62 .net
そうですね
それで組み込んでみます
549:542
11/12/05 21:49:58.78 .net
>>543
まず無いだろうけど、別スレッドで
同じ添え字のxとyをバラバラに更新すると嵌るよ。
550:543
11/12/06 04:05:54.65 .net
>>544
xを固定してyの値すべて計算して次のxへという
九九を生成するようなマニアックな使い方をしてるんです・・・
551:542
11/12/06 07:51:19.62 .net
それなら分けた方がいいと思う。
552:543
11/12/06 09:23:20.52 .net
そうしてみます!
553:デフォルトの名無しさん
11/12/07 22:41:57.13 .net
ふう・・・ついに完成しました
ちまちま25%使うよりフルロードはいいですね
ただ、オーバーヘッドがいくらあるからはわかりませんが・・・
554:デフォルトの名無しさん
11/12/08 07:31:00.39 .net
256MBの制限に引っかかって処理が止まるorz
これの上限増やせないのか?
555:デフォルトの名無しさん
11/12/08 10:09:58.25 .net
>>549
グローバルメモリが足りない・・・のかな?
URLリンク(www.ozone3d.net)
これで確認してみて
それかワークスレッドの設定が悪いのかも
556:デフォルトの名無しさん
11/12/08 11:03:39.84 .net
>>550
なんでダメか分かった、ありがとう
ローカルメモリ32kbしかないのに2mb使おうとしてたwww
557:デフォルトの名無しさん
11/12/08 14:28:54.91 .net
>>551
使い捨てる変数の宣言くらいがちょうどいいよ
NVIDIAはローカルメモリ使わないと倍ぐらい遅くなるけど
他はそうでもないから(OpenCL入門に比較があったよ)
グローバルで問題ないと思うよ
558:デフォルトの名無しさん
11/12/15 20:39:38.90 .net
URLリンク(www.4gamer.net)
おまいらこれからもOpenCLにしがみついて行くの?
559:デフォルトの名無しさん
11/12/15 20:44:38.54 .net
CUDAはGPUしかできないけど一度により多くの処理ができる
OpenCLはCPUとGPUを同時並列処理ができるのが魅力
どっちにも特化した特性があるからプログラムしだいだよ
560:デフォルトの名無しさん
11/12/15 22:16:31.17 .net
GPUには留まらない図が載ってるよ、ヌフォの所に
561:デフォルトの名無しさん
11/12/15 22:40:09.72 .net
もうGPU固有じゃなくなってきたのね・・・
カーネル丸出しのCLは論文すら少ない・・・
562:デフォルトの名無しさん
11/12/26 03:28:48.61 .net
引数の渡し方が面倒なんだよなー
思わぬところでバグが出たりする
563:デフォルトの名無しさん
12/01/18 10:01:49.46 .net
openclを実用的に使うにはどんな環境がおすすめでしょうか
564:デフォルトの名無しさん
12/01/18 10:11:34.51 .net
いつでもCUDAに逃げられる環境
565:デフォルトの名無しさん
12/01/18 22:05:36.88 .net
nVidiaってこと?
566:デフォルトの名無しさん
12/01/19 09:51:18.68 .net
グラフィックボードは倍精度不動小数点数(cl_amd_fp64)が利用可能な
Radeon HD 7900、6900、5900/5800 シリーズがおすすめ
URLリンク(blog.tommy6.net)
567:デフォルトの名無しさん
12/01/19 16:52:31.76 .net
宗教戦争が始まりそうだな
568:デフォルトの名無しさん
12/01/19 17:05:38.23 .net
>>561
紹介thx
569:デフォルトの名無しさん
12/01/19 18:25:09.26 .net
どうせおまえらめんどくさい組み込み関数なんか使わないだろってことか?
570:デフォルトの名無しさん
12/01/23 19:34:34.31 .net
GCNでアセンブリが変わったのか、動かなくなってしまった・・・
571:デフォルトの名無しさん
12/01/25 02:58:13.00 .net
変わる以前にGCN対応ドライバ&ランタイムまだ出てないでしょ
CCC12.1Previewが出回ってるからそれ付属のSDKランタイムなら動くんじゃないの
572:デフォルトの名無しさん
12/01/25 03:08:02.37 .net
Kernel AnalyzerもTahiti対応版出てないしな
573:デフォルトの名無しさん
12/02/01 22:06:59.00 .net
RADEONとGeforce、ガチンコ対決ではごっちが速いの?
574:デフォルトの名無しさん
12/02/01 22:33:40.43 .net
ごっちかな
575:デフォルトの名無しさん
12/02/01 23:52:53.73 .net
そもそもガチンコな応用でOpenCLってまともに実績あるの?
576:デフォルトの名無しさん
12/02/02 00:02:24.64 .net
無ければなんだっての?
577:デフォルトの名無しさん
12/02/02 15:35:32.54 .net
いや別に問題ない
578:デフォルトの名無しさん
12/02/10 23:47:32.03 .net
とりあえず齧る分には公式のプログラミングガイド買っとけばおk?
579:デフォルトの名無しさん
12/02/13 02:50:23.08 .net
OK
C言語と同じ
580:デフォルトの名無しさん
12/02/22 23:40:42.01 .net
サブルーチンみたいにカーネルに直接引数渡して処理できればなぁ
アドレスを渡す時とかすげえ面倒。
581:デフォルトの名無しさん
12/02/23 01:38:17.77 .net
そんな気軽にあちこちで使うようなもんじゃないっしょ
582:デフォルトの名無しさん
12/03/08 16:45:33.65 .net
カーネルソース丸出しか
特定デバイス用にコンパイルしておかないと
いけないのがなあ
583:デフォルトの名無しさん
12/03/08 16:57:57.20 .net
大したことないやつほど隠したがる銭湯の法則
584:デフォルトの名無しさん
12/03/08 22:38:56.05 .net
BOINC的なもので使うと不正対策必要で、既知の答えも一緒に計算させたりして対策するんだけどエコじゃないて悩ましいよ
585:デフォルトの名無しさん
12/03/11 01:23:31.48 .net
それなら同じWU他のやつに配って結果一致したやつだけ採用、
合わなかったら更に配布して一致した方採用でいいんでないかね
どのみち普通にやったって計算エラーになるのもいるし
586:デフォルトの名無しさん
12/03/11 02:45:56.59 .net
つーかカーネルがソースコードだから
改竄される恐れがなんて懸念するような
プログラムなら、どんな形態で配るにせよ
ディスアセンブルされりゃ同じだって。
587:デフォルトの名無しさん
12/03/17 16:17:03.96 .net
個人PCでスパコンの1/1000の計算速度(10テラFLOPS)だってよ。スゲーな。
URLリンク(dualsocketworld.blog134.fc2.com)
588:デフォルトの名無しさん
12/03/18 17:23:23.96 .net
10TFLOPSっていうと10年前のスパコンの性能と同じくらいだな
589:デフォルトの名無しさん
12/03/18 20:53:01.85 .net
10年後に京の性能がご家庭に来るかというと、さすがにそうでもない感。
590:デフォルトの名無しさん
12/03/18 21:28:00.64 .net
物理的限界が近づいてきたからこれまでとは事情が違うよね。
無知な人は技術でなんとかなるって言っちゃうだろうけどw
591:デフォルトの名無しさん
12/03/18 23:15:06.83 .net
一般家庭にベクトル演算ってそんなに必要ない気が。。。
592:デフォルトの名無しさん
12/03/19 10:47:53.21 .net
O(n^2)の直接法のN体とか本当にベンチマーク以上の意味はないんだがな
実用コードはツリー法やFMM法を使う
593:デフォルトの名無しさん
12/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:デフォルトの名無しさん
12/04/13 00:11:16.74 .net
AdobeのCS6でOpenCLが使われているという噂を聞いたんだが、カーネルのソースコードとかどうやってるんだろうか
595:デフォルトの名無しさん
12/04/13 03:29:06.78 .net
>>589
Adobeのライセンス認証部分のコードだって、一緒にディスクに入ってるわけですよ。
どうにでもなる。
596:デフォルトの名無しさん
12/04/29 15:57:09.88 .net
Intel OpenCL SDKを使って開発をしようとしているのですが、CPUとGPUを非同期で
走らせる方法が分かりません。
サンプルなどないでしょうか?
597:デフォルトの名無しさん
12/04/29 20:57:55.38 .net
>>587
必ずしもそうでもない。もちろん限られたケースだが、空間ごとに時間刻みを変えたい場合とか、ツリー方とかだと複雑になりすぎてまだまだ難しい場合も多い。
そもそも、ツリーやFMMでも近傍場の計算は直接法だし、サンプルコードとして無意味ではない。
598:デフォルトの名無しさん
12/05/02 10:33:58.88 .net
>>591
CPU側を並列化してGPUを扱うスレッド/プロセスとCPU側の計算をするものに分ける
並列化、同期はお好みの方法で
599:デフォルトの名無しさん
12/06/27 01:05:42.85 .net
質問なんだけど今はAMD/nVidia/IntelどのSDKでビルドしても
AMD/nVidiaのドライバが入っている環境ならGPUが利用できるって理解でok?
600:デフォルトの名無しさん
12/06/27 21:29:31.15 .net
>>594
違うというか、根本的に違う
601:デフォルトの名無しさん
12/06/30 22:46:38.04 .net
>>594
理論上は合っているよ。
まあ、微妙に非互換だったり、ランタイムの
インストール方法など気を使わざるを得ないのが現実だが。
602:デフォルトの名無しさん
12/07/01 01:24:59.44 .net
>>595
603:デフォルトの名無しさん
12/07/01 12:56:18.02 .net
>>595
604:デフォルトの名無しさん
12/07/05 01:16:06.38 .net
GT440でclinfoしたら
Max compute units: 2
と出たんだけど、この2とGT440のCUDAコア96とはどういう関係にあるの?
605:デフォルトの名無しさん
12/07/05 12:03:19.25 .net
NVIDIAの場合
Max Compute unit = Streaming Multiprocessor(SM) = Streaming Multiprocessor eXtreme(SMX)
606:デフォルトの名無しさん
12/07/27 10:28:17.75 .net
CPUデバイスのランタイムを有効にするにはAMDかインテルのSDKをインストールしてもらうしかないの?
ランタイムだけのパッケージってある?
607:デフォルトの名無しさん
12/07/27 11:10:16.02 .net
>>601
Intel の Windows 用ならあるね。
AMD は知らん。
608:デフォルトの名無しさん
12/07/28 14:23:52.35 .net
URLリンク(software.intel.com)
のダウンロードリストボックスのOpenCL CPU only runtime(Windows* OS)ってやつか。
見落としてた。ありがとう。
609:デフォルトの名無しさん
12/07/30 20:27:19.07 .net
CPUでCLやっても遅いだけで意味無いなぁ
610:デフォルトの名無しさん
12/07/30 22:03:29.12 .net
>>604
どんなプログラムなのかしらないけど、ボクが試したのは充分速かったけどなぁ。
いやまあ、GPUと絶対値を比べればもちろん遅いけど。w
611:デフォルトの名無しさん
12/07/30 22:41:12.50 .net
CPUでOpenCL使うとお手軽にSIMD+マルチコア使えるな。
612:デフォルトの名無しさん
12/07/30 22:48:37.20 .net
ベンチも取らずに知ったか
613:デフォルトの名無しさん
12/07/31 00:12:55.35 .net
ベンチと言えば Intel と AMD で比べてみたら、Intel のほうがかなり速かった。
いやまあ、その PC の CPU は Intel だったんだけど。w
AMD な CPU だと逆転したりするのかなぁ。
614:デフォルトの名無しさん
12/07/31 07:48:58.72 .net
>>606
お手軽じゃねーっつの。
CPUでSIMDとマルチコアを使いたいためだけにOpenCLを使つかうならアホだわ。
615:デフォルトの名無しさん
12/07/31 10:50:46.32 .net
phoronixのベンチ見る限りだとAMDのSDKの方が速そうだったけど
616:デフォルトの名無しさん
12/07/31 18:30:47.41 .net
少なくともカーネル部分はお手軽だよ。
素のCで使うと準備が面倒だが
C++のラッパーなら大した事は無い。
617:デフォルトの名無しさん
12/07/31 22:46:48.26 .net
OpenCL以外でSIMDに自動で対応してくれるのってなにかあるの?
618:デフォルトの名無しさん
12/08/01 06:14:34.83 .net
インテルコンパイラ使っとけ。
それかFortranだな。
619:デフォルトの名無しさん
12/08/01 13:12:30.64 .net
simdと言っているのがSSEのパックドなインストラクションのことでいいならgccでもOK。
620:デフォルトの名無しさん
12/08/01 22:34:10.47 .net
gccじゃ自動ベクトル化は皆無に等しいだろ。
621:デフォルトの名無しさん
12/08/01 22:54:07.37 .net
ちょっと前までSSEwとか思ってたけど
これだけ並列プログラミングが普及してきてAVX2とかみると考え変わる
622:デフォルトの名無しさん
12/08/01 23:22:54.44 .net
>>611
んなアホな
CL用のメモリとのやり取りが発生するだけ無駄だよ
正直、マルチコアを使いたいならMPIが一番速い。
通信含めても。
OpenMPもなんだかんだであまり速くないな。
>>612
PGI はあまりコードの品質よくなかったな
623:デフォルトの名無しさん
12/08/02 00:32:11.20 .net
>>617
なんか解釈に誤解があるようだが。
マルチコアのどんなプログラムでもOpenCLで書けという話ではない。
OpenCLのカーネルとして記述できるような問題に
適用すれば、なんも考えずにSIMDもマルチコアも
使えるようになるし、そういう用途に限れば
OpenMPやMPIもしくはPOSIX threadとかで
真面目に書くよりお手軽だし、余程の玄人が
書くのでない限り素早く、速いコードが書ける。
CL用のメモリ云々言っておきながら、速度面で
マルチスレッドなOpenMPでなくマルチプロセスになる
MPIをすすめるあたり根本的に理解に問題があるような。
まあ、通信部分はintel MPIとかなら共有メモリ使うから
極端に不利にはならないけど、少なくともこれが最速とは行かない。
624:デフォルトの名無しさん
12/08/02 00:45:08.79 .net
てかさ、CL 用のメモリとのやりとりなんかしないよね?
いや、しないようにつくるよね????
>CPUでSIMDとマルチコアを使いたいためだけにOpenCLを使つかうならアホだわ。
うわ、アホって言われちゃった。てへ。
625:デフォルトの名無しさん
12/08/02 01:31:56.84 .net
OpenCLとMPIの並列化は全く別もんだし、
OpenCLとOpenMPの並列化もちょっと違う。
正直OpenCLのカーネルを書くくらいなら、
OpenMPを使った並列化の方が圧倒的に楽だわ。
OpenCLを使うメリットは複数のプラットフォームで動かすためだけだろ。
626:デフォルトの名無しさん
12/08/02 06:37:43.98 .net
無脳をさらすスレですか?
627:デフォルトの名無しさん
12/08/02 07:45:55.61 .net
>>619
CLデバイスとCPUは論理的に別物なんだからメモリ転送はいるだろ。
>>620
GPUがなければOpenMPなりMPIなりで並列動作しているというプログラムを作ればよい。
CPUの並列も面倒くさいのでCLでってのは手抜き杉
628:デフォルトの名無しさん
12/08/02 08:05:46.59 .net
>>622
CLで書くほうが手間がかかると思うが。。。
CPU用のコードとNVIDIA用のコード、ATI用のコードを用意するのはかなり大変だし。だからOpenCLが生まれたわけで。
629:デフォルトの名無しさん
12/08/02 08:07:44.71 .net
>>623
GPUがあればそっちをつかいたいのならCLを書くこと自体が手間とか言ってる場合じゃないだろ。
それ一本で済まそうというのが手抜きだっての。
CPUでCLつかっても無駄なオーバーヘッドが出るだけだし
630:デフォルトの名無しさん
12/08/02 08:13:47.37 .net
論理的に別なのはわかるけど
対象がCPUの時にはメモリコピーしないような実装になっててもおかしくないような気もする
631:デフォルトの名無しさん
12/08/02 08:14:10.39 .net
まあ、小さい規模のコードしか書いてない奴には分からんかもしれんが、
複数のハードウェアプラットフォームをそれぞれメンテしないといけなのは、
かなりの工数がかかるからな。
多少のパフォーマンスを犠牲にしても良いことなんて沢山あるんだよ。
632:デフォルトの名無しさん
12/08/02 09:23:17.69 .net
えぇ~・・・・・・。
キミタチは実際につかったことないんだね?
URLリンク(software.intel.com)
の Sharing Resources Efficiently とか読んでごらんよ。
633:デフォルトの名無しさん
12/08/02 23:04:54.27 .net
これは恥ずかしいw
634:デフォルトの名無しさん
12/08/03 00:10:12.73 .net
どれにレスしてんだか分からんレスがおおいな。
635:デフォルトの名無しさん
12/08/03 00:34:42.14 .net
このスレ、99割が誤爆レスだからな。
636:デフォルトの名無しさん
12/08/03 19:43:05.27 .net
>>630
> 、99割
0.99 割? 990% ?
どのスレに書こうとしてたの?
637:デフォルトの名無しさん
12/08/04 01:06:20.28 .net
だ ー か ー ら ー ぁ 誤 爆 で し ょ
638:デフォルトの名無しさん
12/08/08 17:52:37.24 .net
なんでこのスレこの板にあるんだ?
639:デフォルトの名無しさん
12/08/09 01:30:40.64 .net
OpenCLハードル高いなぁ
どの機材構成でどのプラットフォームでどう書けば速くなるか
検証すべき項目が多すぎる
640:デフォルトの名無しさん
12/08/09 02:10:21.89 .net
逆に考えるんだ
速さをあきらめればすべて解決する
641:デフォルトの名無しさん
12/08/09 02:22:49.56 .net
あちらを立てればこちらが立たずですなぁ
642:デフォルトの名無しさん
12/08/10 17:37:54.94 .net
週あすwでAPUの記事載ってて、OpenCLで何でも高速に出来るように書いてたなぁw
643:デフォルトの名無しさん
12/08/10 23:05:10.52 .net
write once, tune everywhere
644:デフォルトの名無しさん
12/08/10 23:06:13.71 .net
anywhereだったか
645:デフォルトの名無しさん
12/08/16 08:59:47.91 .net
OpenCL1.2ではデバイス分割ができるみたいだけど
それまでってどうやって並列化してたの?
コマンドキューをCompute Unit分生成してたの?
それともclEnqueueNDRangeKernelがいい感じに並列化してくれてたの?
646:デフォルトの名無しさん
12/08/17 04:01:39.09 .net
でっかく突っ込んだら普通にデスクトップがフリーズしてた。
647:デフォルトの名無しさん
12/08/21 22:38:27.42 .net
OpenCLで最速の構成教えて
648:デフォルトの名無しさん
12/08/22 00:38:21.46 .net
素晴らしいプログラマ
これに尽きるw
649:デフォルトの名無しさん
12/08/22 09:45:30.14 .net
>>642
Radeon の一番高いヤツをさせるだけさす。w
650:デフォルトの名無しさん
12/08/31 15:37:24.77 .net
APUより速いん?
651:デフォルトの名無しさん
12/09/06 03:18:56.29 .net
だれかOpenCLでOpenGL実装してくれ
652:デフォルトの名無しさん
12/09/08 00:09:32.81 .net
むしろOpenManko実装してくれ
653:デフォルトの名無しさん
12/09/08 01:20:37.10 .net
プロプライエタリですので
654:デフォルトの名無しさん
12/09/08 18:07:21.58 .net
OpenMankoはよ
655:デフォルトの名無しさん
12/09/08 22:36:50.84 .net
互換フリー0実装のKuperで我慢しとけ。
656:デフォルトの名無しさん
12/09/09 23:25:50.57 .net
Mankoは商用製品で我慢しろよ
657:デフォルトの名無しさん
12/09/20 15:05:43.24 .net
昔の日本はOpenだろ
658:デフォルトの名無しさん
12/09/27 04:12:39.50 .net
AMD Releases CodeXL Public Beta | SemiAccurate
URLリンク(semiaccurate.com)
659:デフォルトの名無しさん
12/10/05 01:09:53.66 .net
URLリンク(pc.watch.impress.co.jp)
660:デフォルトの名無しさん
12/10/05 01:15:43.73 .net
スレリンク(poverty板)
661:デフォルトの名無しさん
12/10/05 01:16:52.94 .net
URLリンク(prohardver.hu)
662:デフォルトの名無しさん
12/10/28 20:13:53.12 .net
意外と
663:デフォルトの名無しさん
12/11/30 23:33:09.24 .net
Khronos Releases Significant OpenCL 1.2 Specification Update | techPowerUp
URLリンク(www.techpowerup.com)
664:デフォルトの名無しさん
12/12/07 11:27:13.90 .net
OpenCLでパスワード解析
URLリンク(securityledger.com)
665:25-gpu-monster-devours-passwords-in-seconds/
666:デフォルトの名無しさん
12/12/20 01:25:19.05 .net
>>615
vetor extension記法でゴリゴリかく。
若しくは、-O3 -ftree-vectorize
但し、後者はまだまだ未熟なのは確かだね。
667:デフォルトの名無しさん
12/12/21 09:03:58.99 .net
最近OpenCLを本格的に始めたんだが、
OpenCLのいいところは、コンパイラを選ばない、
カーネル以外はC++で書けるといところかな。
CUDAだと同じことができるけど、ホスト側でNVCC以外使おうとするとちょっと面倒だ。
ただ、カーネルの最適化がコンパイラでもできるから、
パフォーマンスは出やすいな。
LLVMで最適化レベルって設定ができるのかな?
668:デフォルトの名無しさん
12/12/22 01:07:39.90 .net
>>661
アーキテクチャが何にでも対応できるが、
アーキテクチャによって最適なWARP(に相当するもの)の数が違ったり、
コアレセンスアクセスできる条件が違ったり、キャッシュの有無だったりで
結局はアーキテクチャ依存の最適化をしないと速くならないよ。
669:デフォルトの名無しさん
12/12/22 02:28:20.85 .net
場合によってはコンパイラのバージョン依存も。
670:デフォルトの名無しさん
12/12/24 05:32:34.90 .net
やっとCL使うネタが準備できた
楽しみだー
671:デフォルトの名無しさん
13/01/13 19:49:11.31 .net
Trinity APUで使ったらCPU使用率が50%(2コアなので1コアがフル稼働状態)になったが、こんなもんなの?
GPUで計算してるはずなんだが。
672:デフォルトの名無しさん
13/01/14 05:46:41.04 .net
ジョブの内容と数によるんでは。
673:デフォルトの名無しさん
13/01/14 21:42:22.31 .net
CUDA見たいに結果出るまでぽーりんぐしてんじゃないの?
674:デフォルトの名無しさん
13/01/14 22:02:09.36 .net
自分のマシンのFLOPS計るのはどのベンチがお勧め?
675:デフォルトの名無しさん
13/01/15 00:36:48.35 .net
クロックとシェーダの数を掛ければ。
676:デフォルトの名無しさん
13/01/15 12:44:28.36 .net
ちゃんとGPUで計算されてないだけじゃね
afterburnerかなんかでGPU側の使用率も見てる?
677:665
13/01/20 11:45:47.76 .net
Catalystのバージョン上げたらCPU使用率下がりました
678:デフォルトの名無しさん
13/01/21 06:12:45.45 .net
AMDのOpenCL SDKはCPU(SSE)デバイスもサポートしてるから
そっちで動いてたってことかな
679:デフォルトの名無しさん
13/01/22 00:13:17.77 .net
デバイス取得時にGPUを指定すればそんな目に合うはずね~が
680:デフォルトの名無しさん
13/01/22 23:13:25.92 .net
デバイスにCPU使ってたらCPU使用率100%になるんじゃないの
681:デフォルトの名無しさん
13/01/23 00:21:18.43 .net
>>674
特に設定しないとシングルコアだからならない
682:デフォルトの名無しさん
13/01/23 01:32:16.04 .net
CPU版はdevice fissionしないと使えるコア全部使わなかったっけ?
683:デフォルトの名無しさん
13/01/26 18:02:42.38 .net
いくつか本読んで基礎的なことは
わかったんだけど、openclでmpegのエンコーダー
作ってみたいから何か参考になる情報ないかな
684:デフォルトの名無しさん
13/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:デフォルトの名無しさん
13/01/26 22:38:20.74 .net
>>677
MPEGってどれよ?
MPEG4(H.264)のことならx264がSSE、AVXアセンブリ含むソースコードが読めるからオススメ
686:デフォルトの名無しさん
13/01/30 22:41:00.14 .net
試しに↓使ってみたんだがローカルメモリ使ったら速度が3割落ちた。
www.aocplan.com/gpgpu/gpgpu-benchmark
687:デフォルトの名無しさん
13/02/05 22:18:38.26 .net
OpenCLってHyper-Qみたいな機能ってあるでしょうか?
688:デフォルトの名無しさん
13/02/05 22:28:21.47 .net
>>678
アーキ毎にカーネルを書きなおさないと性能でないよ。
689:デフォルトの名無しさん
13/02/06 21:46:06.32 .net
各アーキテクチャごとの最適化資料ってある?
690:デフォルトの名無しさん
13/02/07 05:31:00.88 .net
AMDだとこれが詳しい。NVIDIAのだったらCUDAのマニュアルを読めばいい。
URLリンク(developer.amd.com)
691:デフォルトの名無しさん
13/02/11 23:11:22.51 .net
標準のC++に替わり今後はOpenCLが標準に確定したな
OpenCLでパフォーマンスが激向上するから当然か
692:デフォルトの名無しさん
13/02/12 06:11:15.51 .net
寝言は寝て言え
693:デフォルトの名無しさん
13/02/17 21:21:57.05 .net
>>684
ありがとう。VLIW4だとスレッド数1/4にして、1スレッドで4つずつ処理するようにしたら倍速になった。
694:デフォルトの名無しさん
13/02/18 04:23:25.11 .net
R600のISA解説したpdfもどっかにあって、あれ読むとKernel Analyzerの右側の命令が読めるようになって捗るぞ。
695:デフォルトの名無しさん
13/05/09 04:25:55.54 .net
Intel Releases SDK with OpenCL 1.2 Support for Intel Xeon Phi Coprocessors | techPowerUp
URLリンク(www.techpowerup.com)
696:デフォルトの名無しさん
13/05/10 23:28:13.87 .net
CUDAが動かない古いNvidiaのビデオカードでも
OpenCLなら動いたりするものなのでしょうか?
697:デフォルトの名無しさん
13/05/11 17:38:28.19 .net
確かnvidiaがOpenCLサポートしているのは、
チップがGeforce8以降かつ、ドライバの対応も必要だったと思う。
でもgeforce8以降はほとんどCUDA(とPhysXが)乗ってたはず。
それ以前はサポートされていないから動かないんじゃないかな(機材とドライバがないから検証できん)
698:デフォルトの名無しさん
13/05/11 23:50:31.95 .net
CUDAにせよ、OpenCLにせよ古いマシンでやろうとする奴はなんなんだ?
古いGPUじゃ大して効果がないし、アーキテクチャがどんどん変わって
いるから使えないものが多いのに。
最新のアーキテクチャでも1万円も出せばそれなりのものが買えるのになあ。
699:デフォルトの名無しさん
13/05/12 10:11:53.81 .net
研究目的なら最新ので良いけど、実用だと4年前に導入した
数百台の計算機で高速化したい、とかもあるからな。
700:デフォルトの名無しさん
13/05/13 17:15:31.08 .net
GeForce8以前って、どんだけ古いカード使っているんだよw
いろんな意味で、無理無理。
701:デフォルトの名無しさん
13/05/15 13:05:11.17 .net
とりあえずGPGPU普及させたいならGPU各社ともミドルレンジ以下でFP64対応切るのやめてくんないかな
性能出るかどうかより使えたり使えなかったりってのが一番困る
702:デフォルトの名無しさん
13/06/05 08:17:39.89 .net
OpenCLのチューニングって、まずどのあたりから手を付ければいいかな?
ワークグループ分割数で結構変わるという話は聞くけど、やっぱり
おまかせより明示的に指定した方がいいんだろうか?
703:デフォルトの名無しさん
13/06/05 09:35:33.06 .net
おまかせとかやる気無さすぎだろう…
色々変えてみて速さを測れ。
704:デフォルトの名無しさん
13/06/05 20:55:53.52 .net
ハードに合わせて適当な値を選んでくれると思ってたんで自分で下手な値を設定するより
いいかと思ってたんだけど、たしかに明示的に指定した方がよくなるケースが多いですね。
目安としてはCL_DEVICE_MAX_WORK_GROUP_SIZEに合わせておけばいいんだろうか?
それ以外、これは押さえておけ、というようなチューニングポイントってありますか?
705:デフォルトの名無しさん
13/06/06 22:37:43.71 .net
アドレスモードが便利そうなのでイメージオブジェクトを使ってみようと思ったんだけど、
これって4ch固定なんですかね?できれば1chで使いたいんだけど。
706:デフォルトの名無しさん
13/06/17 09:44:11.96 !.net
>>698
> 目安としてはCL_DEVICE_MAX_WORK_GROUP_SIZEに合わせておけばいいんだろうか?
これだとスピードでないよ。
Radeonだったら>>684の最適化マニュアルを、NVIDIAだったらCUDAの
説明書を読め。
707:デフォルトの名無しさん
13/06/18 23:31:21.64 .net
つか、勉強目的でエミュレータみたいなのが欲しい
遅くていいから
708:デフォルトの名無しさん
13/06/24 22:41:41.16 .net
最近のハードなら何でも出来るだろ。
新しいの買えよ。それぐらい自己投資だ。
709:デフォルトの名無しさん
13/07/23 NY:AN:NY.AN .net
ついに 2.0 で Dynamic Parallelism きちゃったじゃねぇか!
710:デフォルトの名無しさん
13/07/23 NY:AN:NY.AN .net
nVidiaがいまだに1.1なのはどうにかならんのかな。
711:デフォルトの名無しさん
13/07/24 NY:AN:NY.AN .net
CUDAがあるから、あまり積極的にやりたくないんじゃね?
712:デフォルトの名無しさん
13/08/01 NY:AN:NY.AN .net
今AMDの環境で開発しているんだけど、NVIDIAの環境でもビルドできるよう
1.1の機能に限定することってできないんですかね?
CL_USE_DEPRECATED_OPENCL_1_1_APISみたいな。
713:デフォルトの名無しさん
13/08/18 NY:AN:NY.AN .net
OpenGLとの連携やっている人いますか?
OpenGLのHGLRCからcl_device_idを得るのにclGetGLContextInfoKHRというのが
ありますが、これを呼ぶ際、properties引数にCL_CONTEXT_PLATFORMを含めないと
エラー(CL_INVALID_PLATFORM)になります。
Platformを決め打ちで入れてやれば成功はしますが、cl_device_idを得る前にそれが
含まれるcl_platform_idを本来どうやって求めるのでしょうか?
714:デフォルトの名無しさん
13/08/18 NY:AN:NY.AN .net
715:>>707 clCreateContext に渡した properties と同じもので GL context を1つに特定できるものを渡せって書いてあるだろうに clGetGLContextInfoKHR で指定せずにエラーになるなら clCreateContext ではデフォルト値以外の cl_platform_id を指定したんだろう gl_sharing が有効な CL context は作成済みなのになんで cl_platform_id だけ行方不明なんだよ 余所のライブラリが作った CL context に問い合わせたいなら clGetContextInfo で CL_CONTEXT_PROPERTIES
716:デフォルトの名無しさん
13/08/18 NY:AN:NY.AN .net
回答ありがとうございます。
ただ、clCreateContextはclGetGLContextInfoKHRでデバイスを得た後に呼ぶことに
なると思うのですが?
手順は以下で間違ってますかね?
GLコンテキスト(HGLRC)作成
→clGetGLContextInfoKHRで関連付けられているCLデバイスを取得
→clCreateContextでCLコンテキストを作成
いずれにしても、どのデバイスを使っているかがわからないとプラットフォームも
決まらないと思うのですが。
717:デフォルトの名無しさん
13/10/24 01:02:02.86 .net
vloadn ってあるけど、直接ポインタを p[i] するのと速度違ったりするのか?
718:デフォルトの名無しさん
13/10/24 21:28:52.21 .net
vloadはアラインメントの制約がゆるい。要素でそろってればOK。
速度は実装によるだろうけど同じか制約がゆるいvloadのほうが少し遅い。
719:デフォルトの名無しさん
13/10/24 22:48:45.60 .net
なるほど。
アラインメントの制約のせいで、ちょっと冗長になってたあのコードとかを小さく綺麗に書き直せるかも。
これは良いことを知った。サンクス。
720:デフォルトの名無しさん
13/11/22 19:43:38.99 .net
Khronos Groupが「OpenCL 2.0」を完成、コンピュータビジョン向け「OpenVX 1.0」の暫定仕様も発表
URLリンク(sourceforge.jp)
URLリンク(www.khronos.org)
721:デフォルトの名無しさん
13/11/22 19:46:35.85 .net
タラタラ完成してんじゃねーよ
722:デフォルトの名無しさん
13/11/22 20:47:48.41 .net
OpenVXってのが気になる
723:デフォルトの名無しさん
13/11/25 08:28:25.60 .net
JOCLも、早く OpenCL 2.0 に対応しろよ
724:デフォルトの名無しさん
13/11/30 20:57:20.27 .net
OpenCLって初期化とかやたら面倒なんですが、
OpenGL に対する glfw や GLUT みたいなライブラリはないんですか?
勉強してみたい(というか、勉強しかけた)のですが、
計算処理を楽しむ前に挫折しそうです。
725:デフォルトの名無しさん
13/11/30 21:26:47.63 .net
あるけどない
独自API、英語のみのマニュアル…
初期化なんて一度書けば使い回しだからとりあえずやってみるべき
726:デフォルトの名無しさん
13/11/30 22:18:44.90 .net
マニュアルが英語なのは全く問題ないので紹介していただけないでしょうか。
それでも枝葉末節の部分が面倒であれば、今はそういうものだと諦め、
コピペで使い回してかんばります。
ただ、私はたとえば OpenGL 入門者に対して、同じ理由
つまり「初期化なんて一度書けば使い回しだから」という理由で
ウィンドウ作らせたり、レンダリングコンテキストを作らせたりはしたくないです。
使い回し
幸い OpenGL にはユーティリティライブラリがあり、入門者にはありがたいです。
なので OpenCL にも入門者用にきっと何かあるだろうと思っていました。
727:デフォルトの名無しさん
13/11/30 22:34:05.19 .net
OpenGL ほど広く使われていたらあっただろうね。
728:デフォルトの名無しさん
13/11/30 22:53:53.35 .net
NVIDIAやAMDのサンプルコードには簡単なユーティリティが入っているよ。
OpenGLみたいに糞面倒なわけじゃないから、わざわざGLUTみたいなものを
作ろうと思った人はいなかったんだろう。
729:デフォルトの名無しさん
13/12/01 02:54:53.01 .net
そんなに面倒か?
必要十分しかないと思うんだが
730:デフォルトの名無しさん
13/12/01 03:12:45.40 .net
CUDAの簡単さと比較すると面倒
731:デフォルトの名無しさん
13/12/01 03:18:23.16 .net
あほか
732:デフォルトの名無しさん
13/12/01 03:47:08.42 .net
c++binding使えば簡単じゃないか。
まあ、プラットフォーム選択する時点で
cudaには必要ない工程だが
733:デフォルトの名無しさん
13/12/01 07:35:28.28 .net
>>719
intelが最近OpenCLライブラリやGPU向けライブラリのプレビュー版を発表してる
URLリンク(software.intel.com)
IPPはこれまで最適化済みCPUライブラリだったけど、それをGPUにも拡張しようとしてる模様
734:デフォルトの名無しさん
13/12/03 07:13:40.30 .net
>>726
ありがとうございます。
調べてみます。
735:デフォルトの名無しさん
13/12/03 13:47:40.89 .net
amd apu+linuxでaparapi経由で使ってみたんですが面白そうですね。
はるか昔に、javaで配列関係はどうしようかjniにでもしようかと悩んでたんですがこれでやっと悩みは解決できました。
java9.stream.parallelがopenclに対応してaparapiも不要になる(jvmと結合する)ようなので、openclを使えばjavaのままで配列のソリューションが得られるようです。
まだ触って4日ぐらいですが勉強がてらに、行列などの配列依存のライブラリを書き直してみようと思います。
736:デフォルトの名無しさん
13/12/30 11:40:26.21 .net
kaveriが販売される模様
737:デフォルトの名無しさん
14/01/11 01:38:48.46 .net
>>717
software.intel.com/en-us/vcsource/tools/opencl-sdk/clu-api
CLUとか
github.com/Computing-Language-Utility/CLU/blob/master/simple/simple.c
このぐらいに書ける。
使ったことはないので便利かどうかは知らない。
738:デフォルトの名無しさん
14/02/24 15:19:36.59 .net
Core iとグラボつんでグラボで画面表示しててもIntelHDでOpenCLの計算をさせることはできるのでしょうか
739:デフォルトの名無しさん
14/02/24 16:36:29.14 .net
遅くはなろうが計算は出来るでしょう
740:デフォルトの名無しさん
14/02/24 17:04:11.19 .net
あれ?遅くなる要因あるのでしょうか
使ってないIntelHDも使いたいというイメージだったのですが
741:デフォルトの名無しさん
14/02/24 18:04:09.93 .net
CPUでやったほうが速いってだけ
742:デフォルトの名無しさん
14/02/24 18:14:29.38 .net
CPUスレッドとは排他でしか使えないと言うことですか?
743:デフォルトの名無しさん
14/02/24 18:17:43.70 .net
732だけど、単純にIntelHDをグラボと取り違えただけだよ
744:デフォルトの名無しさん
14/02/24 18:34:07.15 .net
了解です
745:デフォルトの名無しさん
14/03/23 07:57:03.89 2/mKAdk3.net
Ubuntu用のSDKはDebian GNU/Linuxで使えますか?
746:デフォルトの名無しさん
14/03/24 20:46:02.33 +qxUA/lQ.net
>>733
俺も今日勉強始めたばっかだから実態よく分からんが、
規格ミニマムだとGPUで実行するバイナリを、
プログラム実行時に動的にコンパイルしてマウントする場合があるらしく、
それだとコンパイルのオーバーヘッドで遅くなりそう。
実行時にコンパイルせず事前にコンパイルしたバイナリを使うこともできるそうで
NVidia, AMDあたりはLLVMで動いてるからまず大丈夫だろうけど、HD Graphicsはどうなるんだろうか?
747:デフォルトの名無しさん
14/04/04 10:41:37.63 YtPgho8U.net
CentOSにAMDのドライバを入れることに成功したけど、Debianには入らなかった。
748:デフォルトの名無しさん
14/04/23 21:53:33.92 e3QPM/2Y.net
GPU持ってるCPUを使っているとか?
749:741
14/04/23 22:38:07.40 Xxk46iNW.net
はい、haswell(i7-4771)を使っています。
その他のグラフィックボードは積んでいません
750:デフォルトの名無しさん
14/04/23 23:16:57.80 RpkkzUGi.net
Platformの数とデバイスの数はイコールじゃない。
デバイスはCPUとGPUの2個見つかるはず。ちなみに内蔵かどうかは関係ない。
気になるならclGetPlatformIDs/clGetPlatformInfoで見てみりゃいい。
751:741
14/04/23 23:39:22.71 Xxk46iNW.net
はしょって書くと以下のように2回出力、Platform IDが一緒でプログラムなどでcl::Platform::getをすると
2個で返ってきます。(DeviceはALLで情報をとってもGPUしか返ってきません。CPUでDeviceをとろうとするとエラーが出ます)
Platform Name: Experiment Intel Gen OCL Driver
Platform ID: 0x7f6ee0ba1a40
Name: Intel(R) HD Graphics Haswell M
Vendor: Intel
Device OpenCL C version: OpenCL C 1.1 beignet 0.8.0
Driver version: 0.8.0
Profile: FULL_PROFILE
Version: OpenCL 1.1 beignet 0.8.0
Platform Name: Experiment Intel Gen OCL Driver
Platform ID: 0x7f6ee0ba1a40
Name: Intel(R) HD Graphics Haswell M
Vendor: Intel
Device OpenCL C version: OpenCL C 1.1 beignet 0.8.0
Driver version: 0.8.0
Profile: FULL_PROFILE
Version: OpenCL 1.1 beignet 0.8.0
752:デフォルトの名無しさん
14/04/23 23:55:44.68 TUgA9FPl.net
Platform数はドライバの数
汎用のドライバとIntelチューンのドライバの2つが入っていたら2つのプラットフォームが出てくる
少なくともWindowsだとそんな感じ
あと745の結果でPlatformIDが同じなのはおかしい
多分745のプログラムはバグってる
753:741
14/04/24 00:06:20.94 T0adDPXi.net
ドライバの数ですか・・・Debianのパッケージを入れる時にたしかに
汎用ローダとか言うのとintelドライバを入れた記憶があります
それで2つ出ているのか、入れたのは以下のパッケージだったような
opencl-headers - OpenCL (Open Computing Language) header files
beignet - Intel OpenCL library
beignet-dev - Intel OpenCL library
ocl-icd-dev - Development files to build a ICD Loader
ocl-icd-libopencl1 - Generic OpenCL ICD Loader
clinfo - Query OpenCL system information
754:デフォルトの名無しさん
14/06/26 07:45:11.00 DsGyZECt.net
>>717
cl.hpp使えばそんな難しくないだろ
URLリンク(qa.atmarkit.co.jp)
755:デフォルトの名無しさん
14/06/26 08:39:51.72 rajeiAxv.net
デフォルトのコンテキストやキューが追加されたのはOpenCL1.2からだから
NVIDIAじゃ使えないことに注意な。
756:デフォルトの名無しさん
14/06/26 12:05:53.66 u/fLSVr/.net
>>747
// OpenCL側に結果を書き込む領域を作成する
const size_t
length = 0x10;
cl::Buffer
array( CL_MEM_READ_ONLY, length * sizeof( float ) );
( ´,_ゝ`)
757:デフォルトの名無しさん
14/06/26 22:35:19.78 BVAAIzQv.net
>>749
答えといてやれよ。
758:デフォルトの名無しさん
14/08/29 13:36:44.60 P9znXDYB.net
AMDとMS,GPU演算用途向けのコンパイラ「C++ AMP v1.2」を発表
URLリンク(www.4gamer.net)
C++ AMP v1.2は、C++開発者が広範なハードウェア構成および
ソフトウェア構成でアプリケーションを高速化できるよう、
以下の3つのアウトプットをサポートしています。
・Khronos GroupのOpenCL:AMD CPU/APU/GPU、Intel CPU/APU、NVIDIA GPU、Apple Mac OS X、その他のOpenCLに準拠したプラットフォームをサポート
・Khronos GroupのSPIR:AMD CPU/APU/GPU、Intel CPU/APU、将来的なSPIRに準拠したプラットフォームをサポート
:HSA FoundationのHSAIL:AMD APU、将来的なヘテロジニアス・システム・アーキテクチャー(HSA)に準拠したプラットフォームをサポート
759:デフォルトの名無しさん
14/08/30 20:21:59.78 rOGhcjm5.net
ム板はしょっちゅう落ちるな。
760:デフォルトの名無しさん
14/08/30 20:24:50.83 nZ1XDijW.net
よく落ちるな‥
761:デフォルトの名無しさん
14/09/19 08:34:07.91 KzrQAxPc.net
OpenCL 1.2が現在のstableになるのかな?
1.1だとOpenCVは動かないですね
762:デフォルトの名無しさん
14/09/19 23:42:34.05 dfKMMaQo.net
NVIDIAが1.2に対応しないからうちは1.1縛りだな。
OpenCVみたいにCUDAと両方やるならいいんだろうけど。
763:デフォルトの名無しさん
14/10/15 00:45:43.10 bIoSVMWH.net
VBAで使いたいのですが、ラッパーDLL何か
ご存知ないでしょうか?
C#用のは幾つか見つかるのですが…
764:デフォルトの名無しさん
14/10/15 01:04:21.97 bIoSVMWH.net
質問あげ m(_ _)m
765:デフォルトの名無しさん
14/10/15 10:11:05.56 3rwOGNYw.net
>>756
C#でVBAとOpenCLの仲介DLLでも作ればいいんでないの?
Windows知らんけど。
766:デフォルトの名無しさん
14/10/15 10:36:01.03 bIoSVMWH.net
>>758
そうなんですけど、既にあるならそれ使いたいなと。
いま、ClooというC#用のラッパー使ったりソース見てるのですが、
ジェネリクスは使えないからどうするんだ?とか
DLL作ったことないのでチョット途方に暮れてます…
(シンプルなDLL作成サンプルは理解できますが、
openclを全てラップするのは無理…)
767:デフォルトの名無しさん
14/10/15 19:03:22.75 oTkKZ4Eq.net
既にあるもので使い方覚えるより
自分で造った方が早い場合も多い
768:デフォルトの名無しさん
14/10/15 22:49:10.60 y41AVgB1.net
口だけ番長
769:757
14/10/16 00:06:46.03 1e+5gfAa.net
>>760
プラットフォームを返すところから少し作り始めてみましたが、
VBAのcollectionとして値を返すなら、
C#では何なの?ディクショナリ?ってとこで
早速つまづいてしまいました(;_;)
なので、VBAでラッパー作ろうかと迷走中…
770:デフォルトの名無しさん
14/10/16 00:45:29.59 925HRnD9.net
別に何しようと勝手だけど
VBAでOpenCL使う必要性って何?
非同期処理が苦手なVBAは「待ち」が生じるような複雑な計算は向かないし
計算速くするだけならDLLなりに入力投げて結果だけもらえばいいし
Officeとの連携ならVBA使う必要ないし
規定されたソフトウェア以外使用禁止だったらそもそもOpenCL使えそうにないし
771:デフォルトの名無しさん
14/10/16 15:24:45.15 7O3aHiya.net
そもそもVBAに固執してる時点で視野狭窄。
772:757
14/10/16 17:11:21.81 8j84DcHT.net
固執?( ´����×����` ) プッ
773:757
14/10/16 17:12:09.70 8j84DcHT.net
ありゃw
774:デフォルトの名無しさん
14/10/17 13:05:53.28 npcZf8Up.net
あらあら可哀想なひとでしたか。
775:デフォルトの名無しさん
14/10/17 16:09:50.28 aw+RiOqr.net
こんなところにもシナが湧くようになったか
776:デフォルトの名無しさん
14/10/18 01:23:16.18 sx5ESDLm.net
そもそもそんな方法よりこうした方が・・とか
上流にまで遡って正そうとする奴がいるけど
余計なお世話なんじゃない?
VBAでOpenCLを使う方法を聞かれているんだから
答えがあるならそれに出せばいい。
無いならわからないと答えればいい。
見当違いのに話を捻じ曲げて、してやったりと
悦にはいるのか?
777:デフォルトの名無しさん
14/10/18 13:19:15.72 Z3gRebWt.net
余計なお世話だと感じたらスルーすればいいだけ
スルーも出来ないお子ちゃまが馬鹿にされるだけ
778:デフォルトの名無しさん
14/10/18 15:49:20.82 mzkaImX0.net
>>769
あんた公務員やな
779:デフォルトの名無しさん
14/10/18 19:40:45.23 P/Strs7V.net
余計な世話しなきゃいい
780:デフォルトの名無しさん
14/10/19 02:01:55.89 CeuU+CpH.net
まあ、余計なお世話なやつは
わかってない(解決策はわからない)
ってことだから
解決策以外はただの雑談
スルーするかしないかなんて、
どうでもいいこと
781:デフォルトの名無しさん
15/01/12 09:09:09.30 BHqm0X8b.net
OpenCLとCUDAの相互運用について情報を探していたらCUDAカーネルを
OpenCLランタイムから実行できると書いてある記事を見つけたんだが、
本当にそんなんできるんだっけ?
URLリンク(www.4gamer.net)
782:デフォルトの名無しさん
15/02/04 08:37:05.19 PgjHlyod.net
いままでコンスタントに500[ms]程度でkernel処理が終わってたのが、
1分以上kernel処理が終了しない異常が、
処理2回目とあと不定期に発生するようになりました。
処理の内部のループカウントを数えたら正常なときと大差なく、
重い処理をしてはいないようです。やはりハードの不具合でしょうか?
783:デフォルトの名無しさん
15/02/04 11:47:15.88 kErMECZ6.net
windows update
784:デフォルトの名無しさん
15/02/08 04:16:42.58 4RF7kRSx.net
モバイルだと、GPU性能とCPU性能あんま大差ないからな。CPUだと4コアでNEON使えば最大性能で60GFLOPSぐらい?最新のTegraX1とかだと300GFLOPSオーバーするかもしれんが
現行のAdreno330ぐらいだと150GFLOPSくらい?
785:デフォルトの名無しさん
15/02/08 04:19:43.86 4RF7kRSx.net
だからNEONのコードをわざわざ書き直す必要まだないかな?メモリアクセスのほうがボトルネックになってるっぽいのもあるし。まぁ、CPUとGPU実行じゃ消費電力ちがうかもしれんが。
786:デフォルトの名無しさん
15/02/15 00:22:26.32 rqZ8R7KU.net
個人的にはこの言語産廃な気がするけどどうなんだろう
手続きの多さはさすがにちょっと…
CUDA←AMDも似たもの作るorライセンス料払ってでも統一しろ(最良)
C++AMPとOpenACC←そのレベルの抽象言語ぐらい統一しろ(次善)
OpenCL←やめて
787:デフォルトの名無しさん
15/02/15 10:01:14.87 MuMGrz7U.net
OpenCLはハード非依存のGPGPUプラットフォームとして用意され、
その上にライブラリを構築してユーザーはそれを使うのが本来意図してたこと。
残念ながらそういうライブラリがあまり出てきていないのが現実かな。
788:デフォルトの名無しさん
15/02/15 12:56:46.74 TTUR8i8s.net
OpenCLはDSPとかFPGAとかGPU以外もターゲットに入っているから
下手に統合しない方がいいと思う
789:デフォルトの名無しさん
15/02/15 20:42:11.90 aU4fh9i9.net
とか言いながら、触ればわかるが単なるCUDAの焼き直しなんだよな、これ
790:デフォルトの名無しさん
15/02/15 21:52:13.56 DwKzmQqr.net
nvidiaのquadro K620Mか
インテルグラフィックHD5500にしようと思うんだけど
openclとか数値計算の初歩の練習としてはどっちがいいよ
791:デフォルトの名無しさん
15/02/15 22:09:31.75 SQuQNCw8.net
>>783
IntelのOpenCLドライバって糞だって印象しかない。
AMDやNVIDIAで動いてたコードが通らなかったりするし。
792:デフォルトの名無しさん
15/02/15 22:20:29.24 DwKzmQqr.net
>>784
ありがとうございます
793:デフォルトの名無しさん
15/02/15 22:26:41.71 SSlwb3yD.net
実は正しくないコードが他の環境ではたまたま通っていただけ、てのはよくある。
たしかにIntelのコンパイラは厳しいから、普段の開発は他のGPUでやっていても
IntelのKernel Builderでカーネルのチェックしたりするな。
794:デフォルトの名無しさん
15/02/16 00:42:06.13 bUgXoWHZ.net
>>786
コードそのものに問題はなかったよ。
カーネルが複雑になりすぎるとIntelのコンパイラは落ちるから論外。
795:デフォルトの名無しさん
15/02/16 00:55:29.94 0cGz3jVB.net
IntelはGlobalWorkingGroupとLocalWGのサイズがN倍じゃないと動かないんだけどAMDは変な比率でも動く
原因調べるのの時間かかったよ
796:デフォルトの名無しさん
15/02/16 02:05:22.57 bUgXoWHZ.net
>>788
そりゃ動くほうが不思議だw 自分の場合はカーネルを小さくしたら
普通に通ったからそういう問題はなかったはず。
797:デフォルトの名無しさん
15/02/16 07:56:11.60 F7oc1qZ/.net
>>784
同意
798:デフォルトの名無しさん
15/02/16 13:24:15.63 LR9r89r7.net
AMDのコンパイラも最適化オンにしたらコンパイル終わらなかった事あったので、結構怪しい。(2011年ぐらいの話だけど)
799:デフォルトの名無しさん
15/02/16 13:44:20.54 bUgXoWHZ.net
>>791
確かにAMDのコンパイラの最適化は完全に地雷だったw
800:デフォルトの名無しさん
15/02/16 21:40:57.33 HyfDl27x.net
>>783
初心者がこれからOpenCLを始めるのにどの環境を選ぶか、という話なら
NVIDIAは避けるのが無難だな。デバッガやオフラインコンパイラなんかの
ツールが皆無に等しい。
CUDAもやりたいとかいうなら別だが。
801:デフォルトの名無しさん
15/02/16 22:38:07.54 QHeQ+cdL.net
>>793
多くの奴はGPGPUするぞ、じゃメジャーなCUDAで良いやだからな
OpenCL使ってIntel,Nv,AMD(あとFPGAとか?)でちゃんと動くものを作らなければいけないってあんまりないだろからな
802:デフォルトの名無しさん
15/02/17 02:24:50.68 xvdMpEI6.net
OpenCL使ったところで、同じコードでどんなCPU/GPUでも効率よく動くとかレアケースだしなぁ。
803:デフォルトの名無しさん
15/02/17 08:22:15.68 fCIGE3+K.net
最高のパフォーマンスを引き出すチューニングというなら別だが、どれかGPUを想定した
コードならそこそこの速度で動くだろ。たいてい、従来のCPUより速けりゃ十分だろうし。
FPGAだけは別格で、GPUと同じコードじゃぜんぜん速度が出ないだろうが。
804:デフォルトの名無しさん
15/02/18 10:38:35.72 CGhwPhC5.net
SSEレジスタに乗ること期待して書いたchar16とかGPUに食わせたら憤死するで。
805:デフォルトの名無しさん
15/02/18 16:12:46.20 pennC58Z.net
アーキテクチャ毎に最適化しないと、
OpenCLで性能なんか出せないよ。
806:デフォルトの名無しさん
15/02/18 22:51:48.89 Z2YWe05s.net
>>797
ベクタ型は想定するターゲットで効果が見込まれる場合に使うべきで、そういう意味では
どっちかというとチューニングの範疇だろう。
そもそも、インテルのコンパイラならベクタ型使わずに普通に書いてSSE/AVXを
使ってくれるんだが。CL_DEVICE_PREFERRED_VECTOR_WIDTH_CHAR=1だしな。
下手に最適化しようとして却って駄目にしているように思える。
807:デフォルトの名無しさん
15/02/19 01:05:51.96 f67JHinc.net
かたやGPUになるとパイプラインのスカスカ具合見ながら
int2とかint4とか使って依存関係のない演算で埋めていかないとお話にならんしなぁ。
808:デフォルトの名無しさん
15/02/19 02:14:32.89 KUEe9MYM.net
アーキテクチャごとの最適化は、まだコンパイラとかの成長中の部分もあるだろうしなぁ
そのうち改善はしてくれるような気がするけど
809:デフォルトの名無しさん
15/02/19 22:30:01.89 t/UF4QVL.net
そうは言っても今のアーキが向かってる方向ってコンパイラ実装の難易度上がってるから
コンパイラの苦手な部分を補填してやらにゃ速くならないってのは改善される事はないと思う
むしろそこまで賢いコンパイラとか使いたくない
810:デフォルトの名無しさん
15/02/19 23:19:07.50 1LBnym+M.net
技術的側面もあるが
それ以上にIA64がコケたことが
コンパイラを賢くしてプロセッサを脳筋にする道を
決定的に閉ざした
コンパイラの賢さに関して言えば
足並みがそろってない事の方が問題だと思う
811:デフォルトの名無しさん
15/02/26 07:17:19.04 BKvgQceT.net
クロノスってなんかのアニメであったような
812:デフォルトの名無しさん
15/02/26 14:44:53.01 ZlyxtZ3O.net
クロノスはゼウスのお父さん
813:デフォルトの名無しさん
15/02/26 20:31:41.27 yDVFOiWq.net
マッシーンロボッ!
お前には、敵はない!
814:デフォルトの名無しさん
15/03/08 09:21:28.42 rJrv12ko.net
OpenCL2.1は発表されたが相変わらずNVIDIAはやる気なさそうだなぁ、コメントくれないし。
おかげでいまだに開発は1.1ベースだよ。
815:デフォルトの名無しさん
15/04/12 20:37:22.82 4fkLnYAO.net
OpenCLでHEVCをGPUに部分的にデコードさせる実験やってるな
まあ新製品はハードウェアでHEVCに対応してるから不要になっちゃうんだけど
816:デフォルトの名無しさん
15/04/12 20:37:43.88 4fkLnYAO.net
×やってるな
○やってたな去年の夏ごろ
817:デフォルトの名無しさん
15/04/12 21:03:58.32 b726GPIq.net
結局使えるのは、いつくらいになるのか…
818:デフォルトの名無しさん
15/04/25 14:51:39.69 zIE5htjK.net
vexcl使えばopenclもcudaも関係なくGPUが使えるっぽいけど
819:デフォルトの名無しさん
15/04/25 16:55:17.48 DlB5+dQK.net
NVIDIAでやっと1.2が使えるようになったと思ったらバグってんじゃねーか。
本当にやる気無いのな。
820:デフォルトの名無しさん
15/04/26 16:04:03.54 ljYoE8AT.net
そらやる気ないやろ。
cudaなら囲い込みできるのに、
cudaの焼き直しのOpenCLなんて協力するだけ損だし。
821:デフォルトの名無しさん
15/04/27 10:52:17.46 1JZfjbGY.net
URLリンク(pocl.sourceforge.net)
822:デフォルトの名無しさん
15/06/06 14:22:49.99 xHuAhJj5.net
Core i7 3990とGeForce使ってるんだけど、IntelHDが認識されてなくてデバイスマネージャに表示されない
OpenCLの性能評価を試したいんだけど、IntelHDのドライバをインストールすれば認識されますかね?
823:デフォルトの名無しさん
15/06/07 15:10:46.44 OFY6KtcL.net
>>815
モニタはiGPUとゲフォどっちにつないでる?
それと自作PCか?
824:デフォルトの名無しさん
15/06/07 15:14:39.85 OFY6KtcL.net
あ、それとintel Opencl driver インストールうまくできるか試してみて結果おしえて
825:デフォルトの名無しさん
15/06/07 20:39:44.84 NnypvtRT.net
>>816
モニタはGeForceに接続。ドライバインストール試してみる。
826:デフォルトの名無しさん
15/06/08 05:35:15.96 ewd9hwV4.net
Intelのにモニターをつなげないと
いけなかったはず。
827:デフォルトの名無しさん
15/06/08 13:13:32.81 rnRcmo2O.net
i7 3990は検索してもろくにヒットしないけど、Sandy Bridge-Eなら無理なのでは。
828:デフォルトの名無しさん
15/06/09 01:36:37.47 c7FHKlcw.net
そだね、そのくらい確認してるかと思って聞かなかったけど、
iGPUがついてないならそもそも無理だわな。
829:デフォルトの名無しさん
15/06/10 12:18:07.90 VIG2W0Y+.net
うまくいけばCPUの方はOpenCLで動かせるかもしれない
やる意味ないけどね
830:デフォルトの名無しさん
15/06/19 09:06:28.51 giF1KE9b.net
GPUのないノートのCPUでデバックしてから
GPUで実行できるなら俺はうれしい
831:デフォルトの名無しさん
15/06/19 21:38:40.35 s6jV56Gc.net
別途ドライバをインストールしなきゃならんってのが難点なんだよな。
SSE/AVXをお手軽に使えて、コア数に応じてマルチスレッドで実行してくれるから
使いではあると思うんだが。
832:デフォルトの名無しさん
15/06/19 23:20:08.11 KZJPVbVq.net
デバッグなんかよりチューニングが大事だからターゲットハード以外でコーディングしてもなぁ
833:デフォルトの名無しさん
15/06/20 00:21:14.39 46SUOvEb.net
なにがなんでも最高性能出さなきゃならん用途ばかりじゃあるまい。
一般的な並列化のみで大多数のハードでそこそこ速くなりゃ十分、という応用もある。
834:デフォルトの名無しさん
15/06/22 00:09:27.57 e4hiyCLD.net
CLはチューニングなしだとCPUに惨敗もありえるのでな。
835:デフォルトの名無しさん
15/06/22 01:11:03.05 rREKDKy5.net
メモリ転送とenqueueしてからの計算開始に時間かかるのがなぁ
836:デフォルトの名無しさん
15/06/22 07:39:26.22 FYteK6ai.net
CPUに惨敗してた処理がチューニングでどうかなるもんか?
単に並列化できてなかっただけじゃね?
837:デフォルトの名無しさん
15/06/22 21:40:24.04 e4hiyCLD.net
>>829
レジスタ数とか共有メモリサイズとかでブロックサイズだっけnVIDIAでいうところのwarp数とか
調整しないとてんでダメだよ。
838:デフォルトの名無しさん
15/06/22 21:41:31.55 e4hiyCLD.net
>>828
そのコストを払っても高速かどうかは実機でテストするしかないしな。
機種ごとにCLを使うか通常ルーチン使うか選別するくらいしないと効果なし
839:デフォルトの名無しさん
15/06/23 02:38:28.65 22fvktD/.net
チューニングは難しい
何となくやってみたら、処理時間が5倍遅くなったときの衝撃は大きかったな
840:デフォルトの名無しさん
15/06/23 08:25:00.27 drLPVFNo.net
ターゲットのハードに特化したチューニングをしないと使い物にならんようなことを
言っている人がいるが、そんなこといったらユーザー環境を特定せずに広く配布する
アプリなんて作れんな。
うちじゃ一般的なGPU向けチューニングしかしてないが、NV/AMD安いのから高いのまで
テストしてみてローエンドでもCPUの数倍くらいで動くから十分、速く動かしたいなら
高いGPU使え、ってなノリだな。
841:デフォルトの名無しさん
15/06/23 08:50:44.48 LQs/3Np0.net
一番遅いハードに合わせて作っとけば問題ないよ
842:デフォルトの名無しさん
15/06/23 22:58:24.67 VwORpFDM.net
>>833
AMDのHSAのAPUとAMDのOpenCl2のdGPUがHPCを除いたいまのデファクト
それ以外は無視で良い。Nvは一般用でGPGPUやる気ないし
HPC用ならターゲットのハードに特化したチューニングは当然だし
843:デフォルトの名無しさん
15/06/24 01:34:16.84 35TMs94C.net
madとかそういう複合命令(?)を使ってチューニングする程度で抑えたいところ
844:デフォルトの名無しさん
15/08/31 07:10:09.59 kH1QDWTh.net
Vexclの開発が止まってる
誰か引き継ぐ人はいないのか?
845:デフォルトの名無しさん
15/09/02 06:58:53.31 VNDyXTKC.net
早く2.0を使えるようにしてくれ
846:デフォルトの名無しさん
15/09/03 00:02:12.18 iQnjIkb4.net
NVIDIA無視すりゃ幸せになれるぞ
847:デフォルトの名無しさん
15/09/03 01:44:07.69 cb/ef9ik.net
>>839
こんなに対応が遅いと思わなかったんだよ
次からはAMDを信じるよ、あればだけど
848:デフォルトの名無しさん
15/12/19 10:21:19.84 7/8YsZOJ.net
プログラマはMacを使ってるってマジ?
スレリンク(news板)
849:デフォルトの名無しさん
15/12/19 10:23:37.79 qfRCvKdP.net
単なる世間知らずが踊らされてそう言ってるだけ
850:デフォルトの名無しさん
15/12/19 12:49:21.08 BBUxwf4S.net
マルチコピペだぞそれ
851:デフォルトの名無しさん
15/12/19 15:25:38.18 iG82T79N.net
100スレ以上にレスしてNGにならないのは運営が公認してるマルチってことか
852:デフォルトの名無しさん
15/12/19 16:25:03.85 2xl0Mjgh.net
GeForceはOpenCL2.xに対応した?
CUDAに同様の機能が在るから技術的に無理という事はないだろうけど
853:デフォルトの名無しさん
15/12/19 18:13:33.83 LGhGH2LK.net
358でやっと1.2正式サポートしたところ。
854:デフォルトの名無しさん
15/12/19 19:06:17.07 2xl0Mjgh.net
サンクス。IntelですらOpenCL2.0に対応しているのに業界最大手のnVIDIAがやらないのはなぁ
CUDAを使えという事なんだろうけど、それではnVIDIA専用になってしまうからそれは避けたい。
かといってnVIDIAを無視する訳にもいかないというジレンマ
そろそろOpenCL2.xをメインにしていきたいのだが