1 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 11:13:52 ] このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。 CUDA使いが優しくコメントを返しますが、 お礼はCUDAの布教と初心者の救済をお願いします。 CUDA・HomePage www.nvidia.com/cuda 関連スレ 【GPGPU】NVIDIA CUDA質問スレッド pc11.2ch.net/test/read.cgi/tech/1190008468/ GPUで汎用コンピューティングを行うスレ pc11.2ch.net/test/read.cgi/tech/1167989627/ GPGPU#2 pc11.2ch.net/test/read.cgi/tech/1188374938/
631 名前:デフォルトの名無しさん mailto:sage [2009/04/26(日) 17:24:31 ] たとえ話にすると細部の理解が必要ないから生半可な知識でも初心者が騙せて優越感に浸れてうめぇw っていつも思う。
632 名前:,,・´∀`・,,)っ-○◎○ mailto:sage [2009/04/26(日) 17:34:27 ] >>631 に全面的に同意
633 名前:デフォルトの名無しさん mailto:sage [2009/04/26(日) 18:23:11 ] >>624 >>631
634 名前:デフォルトの名無しさん mailto:sage [2009/04/26(日) 23:38:55 ] >>625 ジョンカーマックが昔言ってたわな。それ。 ま、今は宇宙大好きっ子になっちまったが。
635 名前:デフォルトの名無しさん mailto:sage [2009/04/27(月) 01:38:03 ] >>630 GPUを使うのが不適切なケースばっかりなのが問題。
636 名前:デフォルトの名無しさん mailto:sage [2009/04/27(月) 09:13:30 ] アインシュタインは一人しかいないけど、CPUとGPUがアインシュタインとタイピストのような関係なら、 CPU増やせばいいんじゃね?無理にGPUにしなくても。
637 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2009/04/27(月) 21:24:06 ] なんにも出来ないのになんでも出来ますと宣伝してるから問題なわけで。
638 名前:デフォルトの名無しさん mailto:sage [2009/04/28(火) 09:16:56 ] そらあんた、ドラッグレーサーをそれなりに走らせるためには適当なコースとそこまで運ぶためのトランスポーターと 燃料などの消耗品が必要になりますがな。 >>638 >631
639 名前:デフォルトの名無しさん mailto:sage [2009/04/28(火) 12:52:26 ] >>637 団子 自己紹介、乙。
640 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2009/04/28(火) 21:36:19 ] だんごやさんだよ だんごせんもんてんだよ
641 名前:デフォルトの名無しさん [2009/04/29(水) 15:05:31 ] AviUtlがCUDAに対応するのを待つか…
642 名前:デフォルトの名無しさん mailto:sage [2009/04/30(木) 21:33:03 ] 某フィルタでシェーダで書いたより遥かに遅くて駄目だしされたような
643 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 00:16:21 ] 今日、CUDASDK入れてみた。CudaSetup-2.1とNVIDIA_SDK10_CUDA_2.10の入れる順番なのか 環境変数でコンパイルエラー、何度かやっているうちになんとか、サンプルが起動できるようになった。 SDKのサンプルはどこにインストールしているんだ アホか C:\に持ってきた。 サンプルへのパスを追加してやっとコンパイル、起動できた。
644 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 00:24:59 ] >>643 2.1のサンプルって意味不明なとこおかれるよね。 VistaのUAC対策かと勝手に思ってるけど。
645 名前:デフォルトの名無しさん mailto:sage [2009/05/03(日) 06:12:04 ] NVIDIAは昔っから何でもそう。 ドライバも一旦C:\に展開してからインスコしてくださりやがる。 まぁ、GCCやそれ用のライブラリが、スペースの入ったパスを 嫌うからかも試練。
646 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 00:48:26 ] 2.0はちゃんとProgram Files配下に置かれてたよ。
647 名前:デフォルトの名無しさん mailto:sage [2009/05/04(月) 23:00:36 ] >>635 GPUはゲームや科学技術計算では実績をあげているので、 不適切なケースばかりではないだろう。 >>636 アインシュタインという不世出の天才物理学者と タイピストという(当時は)いくらでもいた職業を 比較しているのが、この喩えの肝なんだよ。 CPUのコアを1個増やすより、GPUのSPを1個 (10個でもいい)増やす方が、ずっと簡単だろう。
648 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2009/05/04(月) 23:23:48 ] 別にCPUコアなんて年間何億個でも量産できるだろ
649 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 05:38:26 ] タイピストが何人もいても意味無いだろw
650 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 22:12:00 ] こんなコア橋の下に捨てますよ!
651 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 08:41:31 ] Compute Capability 1.3 の GeForce って、GTX だけ? GTS とかはだめなの? ファンがうるさいのはやだな〜
652 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 12:29:08 ] GTSは9800シリーズのリネーム
653 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 23:52:17 ] 初歩的なこと聞くけど、これってグラボ一台でもできるよね? 表示用と別にCUDA専用のグラボって必要?
654 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 06:05:44 ] >>653 その程度が分からないと厳しいかと思いますよ。 分からなくても、やってみて駄目だったら買い足すってことで問題ないと思うけど。
655 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 12:20:36 ] >>653 ttp://ja.wikipedia.org/wiki/CUDA#.E3.83.8F.E3.83.BC.E3.83.89.E3.82.A6.E3.82.A7.E3.82.A2
656 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 18:27:35 ] >>655 赤くなっている。。。 GTS250持っているからできると思ったんだけど、二台必要なのかな? GPUGRIDに参加しようかと思ったらドライバ入れてるのにCUDA対応のデバイスが見つかりませんっていわれるし・・・・。
657 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 20:56:39 ] 1台でも使える。 ただ処理中に画面が固まってOSが制御不能になることがある。
658 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 21:24:34 ] >>657 うーん、CUDAがちゃんと入ったかどうか確認する方法ってありますか?
659 名前:デフォルトの名無しさん mailto:sage [2009/05/11(月) 15:35:15 ] PyCUDAなんてあるのか、おもしろそう
660 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2009/05/11(月) 20:57:31 ] RuCUDAが必要だな
661 名前:デフォルトの名無しさん mailto:sage [2009/05/11(月) 21:41:12 ] >>656 参加したいGPUGRIDがどんなのか分からんが、 もし、倍精度浮動小数点の演算が必要なものなら、 GTX200シリーズじゃないと無理。 ちなみに、モニタがつながっているかPhysX指定がされてないと、 CUDAでデバイス列挙されないぽい。
662 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 01:29:13 ] Py損とかルビィとか手続き型スクリプト言語は向かんだろ。 ocamlとか、Earlangとかの関数型言語をGPGPU対応に した方が御利益は大きいんじゃね? 並列計算の場合、副作用とか、計算の依存関係が有ると 性能出ないんで…。
663 名前:デフォルトの名無しさん mailto:sage [2009/05/12(火) 22:31:21 ] Earlang(笑)
664 名前:デフォルトの名無しさん mailto:sage [2009/05/16(土) 00:29:01 ] 統計解析ソフト「R」用のパッケージ「gputools」: ttp://cran.r-project.org/web/packages/gputools これのWindows版バイナリを作ってくださるネ申はいらっしゃいませんでしょうか。 m(゚-゚;)カミサマ…
665 名前:デフォルトの名無しさん mailto:sage [2009/05/16(土) 10:27:22 ] >>660 こんなのはあるみたいですが ruby-opencl.rubyforge.org/
666 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 17:38:13 ] GPUの計算部分で レジスタを多く使っちゃうようにコンパイラで最適化されちゃうんだけど 部分的に無効にする方法はありませんか?
667 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2009/05/18(月) 20:36:57 ] volatile
668 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 23:05:56 ] >>667 ?volatileは最適化から外すだけで、レジスタには適応されるっしょ つか>>666 のレジスタ使ったら嬉しくない事ってのが想像できない。。。
669 名前:デフォルトの名無しさん mailto:sage [2009/05/18(月) 23:42:16 ] >>648 SPだって年間何億個でも量産できるけど。 >>649 誰も、GPUを何個も用意しろとは言ってない。
670 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2009/05/18(月) 23:56:12 ] >>668 volatile __shared__
671 名前:デフォルトの名無しさん mailto:sage [2009/05/19(火) 09:21:51 ] >666の動機によっては__shared__では何の解決にもならないような。 確認していないけれど、恐らくレジスタを使い回さずに消費しまくる方が速いんだろうねぇ。
672 名前:デフォルトの名無しさん mailto:sage [2009/05/26(火) 14:36:24 ] SP2+未公開パッチで7RC以上に軽くなってるよ Windows Vista SP3 Part1 pc12.2ch.net/test/read.cgi/win/1241571715/225
673 名前:デフォルトの名無しさん mailto:sage [2009/05/26(火) 14:38:56 ] ゴバーク
674 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 18:11:27 ] SSE 4コアフルに使ったら 最上位品でも大差ないw
675 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 15:06:57 ] code.google.com/p/thrust/ >Thrust is a CUDA library of parallel algorithms with an interface resembling the C++ Standard Template Library (STL).
676 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2009/05/30(土) 18:16:26 ] きた!STLきた!これで勝つる! ないない
677 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 21:28:10 ] brookみたいだな。
678 名前:デフォルトの名無しさん [2009/06/02(火) 17:20:15 ] 仮想マシン上でCUDAのインストールに成功した方はいらっしゃいますか? 当方、ホストOS:Vista、ゲストOS:Ubuntu8.04です。 仮想マシンであるUbuntu上で、NVIDIAドライバ: NVIDIA-Linux-x86-180.22-pkg1.runを起動してみました。 すると、「 You do not appear to have an NVIDIA GPU supported by the 180.22 NVIDIA Linux graphics driver installed in this system」とエラーがでました。 GPUは、GeForce 9800 GTです。どなたか、アドバイスお願いします。
679 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 17:50:02 ] 仮想マシンは無理
680 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 02:45:20 ] >>675 合計なんかCUDAでやって早くなるのか?
681 名前:,,・´∀`・,,)っ-○○○ mailto:sage [2009/06/03(水) 02:49:18 ] 分割統治法は並列化の基本だな
682 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 10:53:10 ] 合計求めるのは苦労したなぁ。 結局、分割数(128とか256とか)置きに足していって、その結果はPCで足した記憶がある。
683 名前:デフォルトの名無しさん mailto:sag [2009/06/03(水) 11:18:35 ] とりあえず公式の3つをインストールしたのですがTMPGEncで確認できませんみたいなことを言われました。 インストールするだけではcudaの恩恵を与れないのでしょうか?
684 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 11:31:01 ] すいません、直ぐ解決しましたorz クダがちゃんと動いているか確認したいのですが方法はありますでしょうか?
685 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 11:57:52 ] >>684 SDKをインストールしたのなら、サンプルもインストールしてビルドしてみよう。サンプルが動けば、大丈夫。 # 特に、deviceQueryは便利。
686 名前:デフォルトの名無しさん [2009/06/03(水) 14:12:00 ] こんにちは。CUDA初心者です。質問があります。 Visual C++ 2008、CUDA tool kit ver2.1、CUDA SDK ver2.1 で、サンプルのsimpleCUBLASをビルドすると、 1>LINK : fatal error LNK1181: 入力ファイル 'cutil32D.lib' を開けません。 と出ます。 そこで、CUDA SDKのlibを調べたところ、 cutil64D.libがあり、32のほうはありませんでした。 この場合、どうすればビルドできるのでしょうか?
687 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 15:00:01 ] リリースバージョンをリンクする。
688 名前:デフォルトの名無しさん [2009/06/03(水) 16:01:01 ] リリース構成でビルドしたところ、今度は、 1>LINK : fatal error LNK1181: 入力ファイル 'cutil32.lib' を開けません。 と出ました。 CUDA SDKには、64があり、32はありません。 32と64の違いって一体何なのでしょうか・・・
689 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 16:17:51 ] パスが通ってないんだろ
690 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 17:07:17 ] OSが64bitだと、32bitのCUDAライブラリはインストールされなかったような。
691 名前:デフォルトの名無しさん [2009/06/03(水) 17:07:40 ] ご回答ありがとうございます。 パスが通っていないということですが、 「パスを通す」について、詳しく説明していただけませんか? 知識不足で申し訳ありません;;
692 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 17:43:34 ] 環境を名に使ってるかによるが、 Visual Studioだとプロジェクトのプロパティからインクルードするファイルがあるディレクトリのパスと、 libがあるディレクトリのパスをついかする linuxだとコンパイラのオプションに追加する 詳しくはぐぐれ
693 名前:デフォルトの名無しさん [2009/06/03(水) 18:04:37 ] 何度も回答していただきありがとうございます。 リンカの追加ライブラリを調べたところ、 ちゃんと、SDKのcommon/libが指定されてました。 しかし、この中には、cutil32.libではなく、64があります。 ということは、690さんのおっしゃるとおり、 32bitのCUDAライブラリはインストールされなかったということなのでしょうか? もしそうでしたら、サンプルプログラムは64bitに対応してないが、 自分でプログラムを作る分には、上記のようなエラーはでないということでしょうか?
694 名前:デフォルトの名無しさん mailto:sage [2009/06/03(水) 23:53:30 ] サンプルのリンカ設定を編集して64bitのライブラリをリンクすればいいんじゃね?
695 名前:デフォルトの名無しさん [2009/06/04(木) 13:12:53 ] アクティブソリューションプラットフォームとプラットフォームをWin32からx64へ変更したところ、 エラーがなくなりました。 そのかわり、 1>------ ビルドのスキップ: プロジェクト: simpleCUBLAS ------ 1> ========== ビルド: 0 正常終了または最新の状態、0 失敗、1 スキップ ========== とスキップしてしまいました。 何が原因なのでしょうか・・・
696 名前:デフォルトの名無しさん [2009/06/04(木) 18:26:30 ] threadIdx.xがうまく値を返さなく困っています。 最小のプログラミングだと ちゃんとした値を確認できるんですけど、 規模のあるプログラム書いた物では、threadIdx.xをみると最大でも1000以内の数値が40000を超えていたりします。 かなりラフな書き方していて、グローバル変数使いまくってるのが意見ないのでしょうか? __device__ kouzoutai[2000];//グローバル変数 とか宣言しまくって搭載メモリーを超えちゃってるかもしれませんが、その時は明確なエラーとか出ますか?
697 名前:デフォルトの名無しさん mailto:sage [2009/06/04(木) 19:59:22 ] エラーは基本的に出ない
698 名前:デフォルトの名無しさん mailto:sage [2009/06/05(金) 09:08:24 ] >>696 threadIdxはプログラムで変更できないと思うが。 どうやってthreadIdx.xを「みる|確認できる」としたのか知らんが、その手段を確認すべきでは? ptx出力を眺めればthreadIdx.xをコピーした先で壊してたりするのが分かるんじゃない? グローバル変数にたった2000要素くらいなんてことないと思うが、巨大な構造体でも置いてるの? あーそれから、メモリをオーバフローしてもコンパイルエラーも実行時エラーも出ないどころか、 突然システムごとフリーズするかもしれないから覚悟しておいてね。
699 名前:デフォルトの名無しさん [2009/06/06(土) 17:41:22 ] >>501 ? ∧∧ (´・ω) _|⊃/(___ / ヽ_(____/  ̄ ̄ ̄ ̄ ̄ ̄ ̄
700 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 01:25:14 ] 寝た子を起こしたなw
701 名前:デフォルトの名無しさん [2009/06/08(月) 08:06:10 ] >>699 ! ∧∧ (・ω・ ) _| ⊃/(__ / ヽ-(___/  ̄ ̄ ̄ ̄ ̄ ̄
702 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 20:11:26 ] あ" ∧∧ (◎ω◎) _| う/(__ / ヽ-(___/  ̄ ̄ ̄ ̄ ̄ ̄
703 名前:デフォルトの名無しさん [2009/06/09(火) 23:30:40 ] >>701 オハヨー!! ∧∧ ∩ (`・ω・)/ ⊂ ノ (つノ (ノ ___/(___ / (___/  ̄ ̄ ̄ ̄ ̄ ̄
704 名前:デフォルトの名無しさん mailto:sage [2009/06/10(水) 20:07:54 ] 質問。 グリッド・ブロック・スレッドのカーネル側での計算への応用方法が よくわからないのですが・・・・特に動きです。 const unsigned int tid =blockIdx.x * blockDim.x + threadIdx.x; がスレッドIDを示しているというのはわかるのですが・・・ for(int x=0;x<height;x++) for(int y=0;y<width;y++){ sum=sum+tex2D(tex, x, y)*((float)(cos((M_PI*((x*width+y)+0.5)*tid)/number))); } outputdata[tid]=sum; の中で、tidはどういう働きをしてるんでしょうか? 特に回収する配列であるoutputdataの動きが知りたいです。 わかる方ご教授お願いします・・・
705 名前:デフォルトの名無しさん [2009/06/12(金) 04:58:52 ] >>703 ∧,,∧ ( `・ω・) ウーム…ここは? / ∽ | しー-J
706 名前:デフォルトの名無しさん mailto:sage [2009/06/12(金) 09:52:33 ] >>704 何が判らんのか判らん。 tidが個別のデータスレッドの番号を指すように働くことが判っているなら、 その番号でoutputdataにアクセスしていることくらい判りそうなもんだが。 仮に、blockDimが4でgridDimが2だとしたら、blockIdxは0か1、threadIdxは0から3になるわけで。 つまりはtidは0から7になるわけだな。 つーか、VIPのWikiにも情報があるよ。 vipprog.net/wiki/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E/CUDA.html
707 名前:デフォルトの名無しさん [2009/06/13(土) 00:18:28 ] >>730 カウンター3連打って言うけどスローで見るとカウンター2発に追撃1発って感じ まあそれでも凄いって言うか、何この異次元映像w もはや芸術的とか圧倒的とかそういうレベルを超越していて笑いしか出てこないわけだが?www しかもメディナは立ち上がるしww不死身かwwww この試合はボクシング以外の何か別の競技だわwwwwwwww
708 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 00:24:10 ] 誤爆すまそ 俺が代わりに言っといてやったぜ
709 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 01:35:36 ] CUBLASに加えてCULAPACKとか用意して欲しい LU分解もできない環境なんて
710 名前:デフォルトの名無しさん [2009/06/13(土) 04:07:09 ] GPGPUはDirectX11で花開くんだろ。 エンコード高速化対応お待ちしております。 DirectX 11講座(中編) 非ゲーマーのアナタのパソコンも DirectX 11演算シェーダーでスーパーコンピューターに変身する! game.watch.impress.co.jp/docs/series/3dcg/20090327_79998.html GPGPUの場合は、組んだGPGPUプログラムがATIかNVIDIAのどちらかでしか動かない、 踏み絵的な「ATI対NVIDIA」なのだ。 これではGPGPUの進化、発展、普及が望めない。 そこでGPGPUの標準化プラットフォームが強く望まれるようになった。 このGPGPU標準プラットフォームを、Windows環境下で提供しようと出てきたのがDirectX 11ということになる。 DirectX 11は、このGPGPUの標準プラットフォームとして「DirectX Copmute Shader」(演算シェーダー)を提供する。 演算シェーダーでなにができるのか game.watch.impress.co.jp/img/gmw/docs/079/998/html/3dd1103.jpg.html
711 名前:デフォルトの名無しさん mailto:sage [2009/06/13(土) 08:42:36 ] >>710 エンコードって意外に並列処理できる箇所少ないんだけど。。。CUDAでどのベンダも対応してこないのはそのため。 Compute Shader出てきても状況は変わらないと気が
712 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 15:19:59 ] それマルチ
713 名前:デフォルトの名無しさん mailto:sage [2009/06/14(日) 18:56:21 ] 今日本屋見てきたけど CUDAの入門書とかって無いね。 世の中にはあるのかな。
714 名前:デフォルトの名無しさん [2009/06/16(火) 16:56:23 ] __device__ int particle_position[30][30][50][30]; __device__ int particle_position_num[30][30][50]; : とか __device__ __constant__ float K_dWpress; : な感じで、結構たくさんグローバル変数をデバイス側に作ってるんだが、 これって、CUDA的にやっていい手法?てか数次元配列ってカーネル関数内で普通のcっぽくアクセスできる? とりあえずメモリは足りるみたいだから、デバイスホスト間でのデータ転送は基本的にしなくて、 結果のみホスト側に持ってきたいんだけど。 コンパイルエラーはないけど、カーネル起動させたあとエラーが出て、 一瞬画面が消える。
715 名前:714 [2009/06/16(火) 17:22:05 ] 追記 ちなみに、Emuモードだと問題なく終了できます。
716 名前:デフォルトの名無しさん mailto:sage [2009/06/16(火) 17:29:37 ] >>714 CUDAはメモリ管理なんてしないから、デバイス側の変数がどれだけあるのか自分で把握すること。 一瞬画面が消えるのは表示用とCUDA用を同じGPUでやっている所為だと思われ。 もっと酷いときはフリーズするから要注意で。
717 名前:デフォルトの名無しさん [2009/06/16(火) 23:29:13 ] CUDA初心者です。 サンプルをいじくっているのですが、いくつかわからないことがあり質問させてください。 @テクスチャメモリ キャッシュが効くからグローバルメモリよりも高速との事ですが、 時間を計ってみるとグローバルメモリと変わらない・・・。 どのような用途で使用するのでしょうか? A異なるカーネル関数の同時実行 ブロック、スレッド数を決めてカーネル関数を実行しますが、 cudaThreadSyncrinize関数やメモリコピー関数を呼ばなければ 同期待ちはしないですよね? であれば、カーネル関数を2つ書いたときに同時実行するのでしょうか? マニュアルを見る限りではできないようですが、会社の先輩が出来るというのでホントかなと。 お分かりの方宜しくお願いいたします。
718 名前:デフォルトの名無しさん mailto:sage [2009/06/16(火) 23:32:51 ] 俺も初心者だが。 1. 線形補完できるよ! 速度面で違わないなら、それ以上はどう違うのか知らん。 2. なんか俺の動かしてる感触だと同時実行してる気がする。 少なくともCPUとGPUで同期はしていないよ。
719 名前:717 [2009/06/16(火) 23:59:21 ] >>718 サンクス。 @は線形補間機能があるのは存じていますが、 補間せず生データを使用したいものでして・・・。 Aは自分でも本家CUDAZONEで調べてみましたが、どうもできないっぽいです。 forums.nvidia.com/index.php?showtopic=84740&hl=cudaStreamSynchronize このスレの前にもありましたね。 よく見てませんでした、すみません。 cudaStream〜って何のためにあるんだか。
720 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 00:40:24 ] CUDAを始めようかと考えていますが、下記の様な処理はCUDAで速くなりますか?
721 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 00:55:31 ] function hoge(const b:string):boolean; begin result:=true; end;
722 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 00:58:07 ] >>720 すみません、間違えて書き込んでしまいました。 改めて、 typedef struct _table_t { float x,float y, float z; } table_t; typedef sturct _vec { float vector[4]; } vec; typedef union _vtemp_t { vec V[3], table_t data[4]; } vtemp_t; table_t DATA[100];(DATAにいろいろと情報をが入っている) vtemp_t temp; temp.data[0] = DATA[15]; temp.data[1] = DATA[43]; temp.data[2] = DATA[11]; temp.data[3] = DATA[80]; (tempのメンバdataにDATAの値をランダムに代入) メンバdataがもつ、x、y、z情報をメンバVにx、y、z毎にまとめたいです。例えばこんな感じに。 V[0] = {data[0].x, data[1].x, data[2].x, data[3].x}; V[1] = {data[0].y, data[1].y, data[2].y, data[3].y}; V[2] = {data[0].z, data[1].z, data[2].z, data[3].z}; CellとかSSEならSIMDを使って出来ると思いますが、CUDAでも速くなるなら、 CUDAをやってみようかと思っています。
723 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 01:25:58 ] それ計算じゃなくてただのメモリ転送じゃん。 CUDAでやることじゃないよ。
724 名前:デフォルトの名無しさん [2009/06/20(土) 14:41:38 ] Mac でCUDAをやろうとしています。 /Developer/CUDA/lib/にあるライブラリをライブラリのサーチパスに含めるには どの環境変数を設定すればよいのでしょうか? LD_LIBRARY_PATHに追加してみたのですが、サーチしてくれません
725 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 14:43:15 ] >>724 DYLD_LIBRARY_PATH
726 名前:デフォルトの名無しさん [2009/06/20(土) 15:02:09 ] >>725 早速の回答ありがとうございます。 DYLD_LIBRARY_PATH に追加してみたのですがやはりうまくいきません。 ちなみに-Lで指定すればうまくいきます。
727 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 18:11:27 ] Coalesced、Non-Coalescedって簡単にいうとどういうこと?
728 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 18:14:29 ] >>108
729 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 18:18:03 ] >>728 よくわからん
730 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 20:19:04 ] ttp://noridon.seesaa.net/article/105559613.html
731 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 21:42:57 ] 大前提として、ブロック内でデバイスメモリにアクセスするアドレスが連続していたら、コアレス。 んで対応アーキテクチャによってスレッド単位でアドレスが連続している必要があったりする。 まぁ簡単に言うと、バス幅有効活用できまっせ適な使い方をイメージすればいいかと。 なんでそのバス幅でアクセスできるアラインを考える事になる。