1 名前:デフォルトの名無しさん mailto:sage [2014/11/20(木) 23:14:46.66 ID:jr3oZn27.net] このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。 CUDA使いが優しくコメントを返しますが、 お礼はCUDAの布教と初心者の救済をお願いします。 CUDA・HomePage ttp://developer.nvidia.com/category/zone/cuda-zone 関連スレ GPGPU#5 ttp://peace.2ch.net/test/read.cgi/tech/1281876470/l50 前スレ 【GPGPU】くだすれCUDAスレ【NVIDIA】 ttp://pc12.2ch.net/test/read.cgi/tech/1206152032/ 【GPGPU】くだすれCUDAスレ pert2【NVIDIA】 ttp://pc12.2ch.net/test/read.cgi/tech/1254997777/ 【GPGPU】くだすれCUDAスレ pert3【NVIDIA】 ttp://hibari.2ch.net/test/read.cgi/tech/1271587710/ 【GPGPU】くだすれCUDAスレ pert4【NVIDIA】 ttp://hibari.2ch.net/test/read.cgi/tech/1291467433/ 【GPGPU】くだすれCUDAスレ part5【NVIDIA】 toro.2ch.net/test/read.cgi/tech/1314104886/ 【GPGPU】くだすれCUDAスレ part6【NVIDIA】 ttp://peace.2ch.net/test/read.cgi/tech/1348409867/
48 名前:デフォルトの名無しさん [2014/12/23(火) 10:16:58.70 ID:rFJPpcq3i] 玄人志向のPCI-Express x16→PCI-Express x1変換ケーブルキット 「PCIEX16-X1/KIT」を使ってcudaやってみた人いますか?
49 名前:デフォルトの名無しさん mailto:sage [2014/12/23(火) 15:40:43.82 ID:bsnZ8h6l.net] >>44 新規プロジェクトでサンプルプログラムが生成されるのを忘れていました おそらくサンプルのプロファイルに成功したので自分のプログラムに反映させようと思います ありがとうございました
50 名前:42 mailto:sage [2014/12/24(水) 18:51:30.92 ID:/5m6EieY.net] 一応書いておきます 調べてみた結果、必要なものはcudaDeviceReset();を呼び出すことのみでした 自分のプログラムがプロファイル出来なかった原因は.dllが.exeと同じ場所に無かったからでした
51 名前:デフォルトの名無しさん mailto:sage [2014/12/24(水) 20:32:20.58 ID:6fZpwBGv.net] 並列化についての質問です スレッドやブロックを増やしてもあまり計算速度に差が出ないのですがどのような理由が挙げられますか
52 名前:デフォルトの名無しさん mailto:sage [2014/12/24(水) 20:59:33.63 ID:SBHK+d/x.net] どう変わると思った?計算量自体は変わらんのだぞ。
53 名前:デフォルトの名無しさん mailto:sage [2014/12/24(水) 21:07:44.58 ID:6fZpwBGv.net] 最初は一つのスレッドにつき4回ほどループさせ計算をしていました その後、スレッド数を2倍にしてループ数を半分の2回しました 計算速度は2倍になるだろうと予想していましたが、あまり変わりませんでした
54 名前:デフォルトの名無しさん mailto:sage [2014/12/24(水) 21:23:52.28 ID:SBHK+d/x.net] ハード的に同時に実行できるスレッドは有限なんだから、それ以上スレッドを増やしても 物理的に速くなりようがない。
55 名前:デフォルトの名無しさん mailto:sage [2014/12/24(水) 22:24:43.11 ID:pbZqH+Xm.net] プログラム上のスレッド数とハード上のスレッド数は違うと言うことですか
56 名前:デフォルトの名無しさん mailto:sage [2014/12/24(水) 22:50:48.00 ID:3hqu78L7.net] スレッドが多ければ、メモリアクセスでスレッドが止まっている間 cudaコアは別のスレッドを実行できる
57 名前:デフォルトの名無しさん mailto:sage [2014/12/27(土) 01:57:38.03 ID:u9BI3CqV.net] 基本的にはcudaコアの数だけしか並列計算出来ないのですか だけしかと言ってもコアは何百もありますが
58 名前:デフォルトの名無しさん mailto:sage [2014/12/27(土) 06:52:06.91 ID:fxVjSbuk.net] ある瞬間、実際に並列に処理されているということと、理論上並列に扱われるということは別の話ですよ 上のレスにもありますが、計算速度的には実際に処理を行うヤツが足りていなければそこで頭打ちになるのは当然かと
59 名前:デフォルトの名無しさん mailto:sage [2014/12/27(土) 10:09:35.39 ID:W6Y2DM4+.net] cudaコアの数以上にスレッドを生成する利点は メモリアクセスの遅延の隠蔽にある
60 名前:デフォルトの名無しさん mailto:sage [2014/12/28(日) 20:39:13.97 ID:52BL0aAq.net] 550TIで使っていたプログラムを750TIで走らせて見たところ1.5倍ほど遅くなってしまいました 何故でしょうか?
61 名前:デフォルトの名無しさん mailto:sage [2014/12/29(月) 02:19:31.23 ID:YUQudPNs.net] 腐ってやがる。早すぎたんだ
62 名前:デフォルトの名無しさん mailto:sage [2014/12/29(月) 09:47:06.28 ID:Sx0YYE+e.net] >>57 一度のカーネル実行で処理するデータ量を増やしたら改善しませんか?
63 名前:デフォルトの名無しさん mailto:sage [2014/12/29(月) 09:51:11.07 ID:Sx0YYE+e.net] >>57 maxwellは倍精度がそーとーしょぼいので、 cuda-zかなんかで性能をチェックした方がよいかもしれません。 sourceforge.jp/projects/sfnet_cuda-z/
64 名前:デフォルトの名無しさん mailto:sage [2014/12/29(月) 12:03:33.25 ID:oV4aoJAy.net] >>60 本当にしょぼかった。陽子ビームぶち込みたい。 どうやらマクスウェルさんは演算用には向いていないようですね
65 名前:デフォルトの名無しさん mailto:sage [2014/12/29(月) 12:51:57.86 ID:oV4aoJAy.net] コア数が3倍になっていることを考慮すればそれでも遅い気がしますね
66 名前:デフォルトの名無しさん mailto:sage [2014/12/31(水) 21:08:03.80 ID:3b0Wn462.net] CUDA初学者です cudaBindTexture2D()のpitchとoffsetは何を表しているのですか? 手元の書籍のサンプルから推測するに pitchは一次元の配列を二次元のテクスチャに入れる場合の折り返し地点のようなもの でしょうか?それならwidthとhighだけでも十分ではないかと言う疑問も出てきます。 そして一番の疑問がテクスチャメモリの存在です。 いくら二次元、三次元配列が使えるとは言え512バイトしか容量のないテクスチャメモリは64キロバイトもあるコンスタントメモリに劣るのではないでしょうか? 長々と失礼いたしましたm(_ _)m
67 名前:デフォルトの名無しさん mailto:sage [2014/12/31(水) 23:07:39.94 ID:WrP28EMy.net] >>
68 名前:56 それじゃあストリームは何のためにあるのさ? [] [ここ壊れてます]
69 名前:デフォルトの名無しさん mailto:sage [2015/01/01(木) 12:48:51.81 ID:82JnHkZd.net] >>64 どっちも使えるなら、実験して早い方を採用 同時に並んでいるスレッド数を増やしてcudaコアが遊ばない状況 を作り出すことが重要 ストリームの使い道は異なるカーネルの並列実行だと思ってる
70 名前:デフォルトの名無しさん mailto:sage [2015/01/02(金) 01:42:39.20 ID:aooXGYY5.net] >>65 なるほどね
71 名前:デフォルトの名無しさん [2015/01/02(金) 10:40:26.85 ID:2fT8SJ1Ez] >>65 「ストリームの使い道は異なるカーネルの並列実行」というのは 何が言いたいのか良くわからないが、捕捉すると、 ストリームはCPU-GPU間のデータ転送中(非同期のcudaMemcpy)に、GPUで演算(カーネル実行)させる為の仕組みだ。 「あるストリームがデータ転送待ち中に、別のストリームのカーネルを実行する。」 といった事を、賢くやってくれる。 (別のストリームが「異なるカーネル」でなく、「同じ関数のカーネル」でも良い。) 結果、「データ転送待ち」の時間を節約できる。 ストリームの詳細は、書籍に書いてあるが、 データ転送とカーネル実行をストリームに入れる「推奨の順番」が cc3.5からは違うので、古い本の場合は読み替える必要あり。
72 名前:67 [2015/01/02(金) 11:01:01.35 ID:2fT8SJ1Ez] まとめると、こんな感じ。 (※同じプログラムで、以下の両方を使う事も可能。) ・cudaコアの数以上にスレッドを生成する:「GPU」と「GPU側のDRAM」間のメモリアクセスの遅延の隠蔽が期待できる。 ・ストリームを使う:「CPU側のDRAM」と「GPU側のDRAM」間のメモリアクセスの時間の節約が期待できる。
73 名前:デフォルトの名無しさん mailto:sage [2015/01/03(土) 13:07:05.02 ID:yWVdPt25.net] 970/980は確かにゲームのパフォーマンスは上がってるが帯域減ってるから GPGPU用途では微妙になってしまったな
74 名前:デフォルトの名無しさん mailto:sage [2015/01/09(金) 00:33:57.02 ID:Iq4Pw+IC.net] Toolkit 6.0 + VS 2008から Toolkit 6.5 + VS 2013に移行したら 遅くなっちゃったんだけど、そういう人ほかにいる?
75 名前:デフォルトの名無しさん mailto:sage [2015/01/12(月) 00:15:12.48 ID:crrCnhEj.net] CUDAの日本語ページって4.0とかの古い情報ばっかりじゃね 6.0/6.5では全然仕様が違ってて全然使えない
76 名前:デフォルトの名無しさん [2015/01/16(金) 07:53:04.52 ID:IHSf0jGJ.net] CUDA7.0 RC
77 名前:デフォルトの名無しさん mailto:sage [2015/01/16(金) 09:02:56.43 ID:VQ2eHsT0.net] もうCUDAも成熟してしまった感があるなあ。
78 名前:デフォルトの名無しさん mailto:sage [2015/01/25(日) 10:58:33.86 ID:m2kue9j8.net] 970の影響でGPUメモリテストが流行っているね。
79 名前:デフォルトの名無しさん mailto:sage [2015/02/06(金) 21:35:53.90 ID:72/Q/UeS.net] ここ何週間かデバッグを続けているのですが原因を突き止めることが出来ません 初学者がはまりやすいミスやデバッグのこつなんかを教えてもらえませんか? 明らかなバグなら原因を突き止めやすいのですが、かなり微妙なバグなのでなかなか見つけられず困っています
80 名前:デフォルトの名無しさん mailto:sage [2015/02/07(土) 00:48:46.19 ID:OS4q1AxS.net] printfとかで要素を表示してデバックしてみれば?
81 名前:デフォルトの名無しさん mailto:sage [2015/02/07(土) 13:10:14.61 ID:4cvxubK6.net] syncthreadとか? if文の中に書いてたりすると同期ずれが起こったりするなー 他には確保してないメモリへのアクセスとか? >>76 の通り、printfとかで、配列の添字とか値を表示するしかないのかな?
82 名前:デフォルトの名無しさん mailto:sage [2015/02/08(日) 15:23:01.85 ID:E04CIgi2.net] >>76 >>77 ありがとうございます 1セットの計算量があまりにも多いのでprintfの方法は難しいです シンクロや範囲外アクセスもありませんでした 原因が分かっちゃったかも知れないので質問です 中間計算結果→atomicAd
83 名前:d 中間計算結果→配列→atomicAdd こんな風に同じ数値を使った計算でも一度配列を通してしまうとatomicAddによって追加された計算結果に差が出たりしますか? [] [ここ壊れてます]
84 名前:デフォルトの名無しさん mailto:sage [2015/02/08(日) 15:48:00.96 ID:E04CIgi2.net] 変数に入れると精度は落ちますね お騒がせしました
85 名前:デフォルトの名無しさん mailto:sage [2015/02/08(日) 21:32:20.44 ID:BpjOkBmf.net] >>78 ちょっと面倒だけど、要素が多い場合は減らしてやってみるとか、どうだろうか? 何はともあれ、原因判明したみたいで、おめでとう
86 名前:デフォルトの名無しさん mailto:sage [2015/02/08(日) 22:56:08.44 ID:KLuvC02r.net] >>80 それは意外な盲点でした 数を減らせば良かったのですね
87 名前:デフォルトの名無しさん mailto:sage [2015/02/09(月) 10:20:08.08 ID:pN+UjOmC.net] >>78 fpが(a+b)+c != a+(b+c)を知らないとかではないよね?
88 名前:デフォルトの名無しさん mailto:sage [2015/02/09(月) 23:18:25.64 ID:QR2S1do8.net] volatile使うとか? 変数の宣言とか関数の引数の型の前にvolatileをいれると・・・
89 名前:デフォルトの名無しさん mailto:sage [2015/02/17(火) 21:40:32.15 ID:K8c74Rhe.net] >>57 750TIでGPGPUって考えていたけど、750TIって2世代前の同ランクぐらいの550TIより性能悪いのか。 一般ゲーム用VGAではGPGPU能力ってたいして要らないから落としたのかな いろいろなゲーム用VGAの単精度、倍精度の能力が載ったホームページ教えてください
90 名前:undefined mailto:undefined [2015/02/19(木) 11:23:20.97 ID:aqLRWkl1.net] 質問☆ cudaってドライバインストして、画像表示をcuda設定にするだけでは 効果ない?
91 名前:デフォルトの名無しさん mailto:sage [2015/02/19(木) 14:30:54.02 ID:iKdaAUCi.net] >>84 FP32とFP64の一覧表ならこれとか。 ttp://www.geeks3d.com/20140305/amd-radeon-and-nvidia-geforce-fp32-fp64-gflops-table-computing/ ボトルネックになりうる点は他にもあるから、Compute Capability毎の仕様の違いも結構重要だと思う。
92 名前:デフォルトの名無しさん mailto:sage [2015/02/19(木) 23:45:36.57 ID:ngPIgbTR.net] maxwellさん自体にに倍精度が無いようだから 一世代前のkeplerさんか次世代のpascalさんを選べば良いんじゃないかな
93 名前:デフォルトの名無しさん mailto:sage [2015/02/19(木) 23:54:19.28 ID:Lt8lBsrZ.net] >>86 有難う。750TiのFP64悪すぎだな。 なんか大衆向け用でGPGPUするならFP32よ、FP64は使わないでだな。
94 名前:デフォルトの名無しさん mailto:sage [2015/02/20(金) 04:05:21.12 ID:fPdGyDpl.net] >>87 KeplerはMaxwell以上にピーキーだったような。 自分の用途がはっきりしていて、それがKeplerやMaxwellに向いているならありだろうけど。 64bit変数をほとんど使わなくても、不向きな処理ではGTX 680が570に惨敗したりする。 CUDAの開発環境とか情報量に魅力を感じて、あえて今から始めてみるという人に勧めるとすれば、個人的には 投げ売り続行中のGTX 570や580で、余裕があるなら型落ちCPU・マザボ・メモリのセット等と 組み合わせてCUDA専用マシンを用意かな。 >>88 それは差別化とか、グラフィック用途でのワットパフォーマンスとかで仕方がないかと。
95 名前:デフォルトの名無しさん [2015/02/20(金) 08:52:57.87 ID:xG3c1huj.net] keplerはinteger bit shiftが弱いGK110(tesla)以外は maxwellはkepler比で2倍のスループットになってる
96 名前:デフォルトの名無しさん mailto:sage [2015/03/04(水) 22:02:58.94 ID:krHDLIbc3] コアレッシングて、なんでハーフワープじゃないとダメなのでありますか? フルじゃダメなのでしょうか。 #deviceQuery: # CUDA Capability Major/Minor version number: 3.2 # Warp size: 32
97 名前:デフォルトの名無しさん mailto:sage [2015/02/22(日) 18:45:23.46 ID:JhGx5uct.net] 適当なプログラム作ってみても maxwellの方がはやいね shared memoryが倍になったのも大きいなぁ
98 名前:名無し [2015/03/07(土) 10:52:38.85 ID:UBzBpgz5.net] スレチなら申し訳ない 当方、モバイルでCUDAを使用したいけど 安い方法はどれが良いと思います? (速度はそこそこで良く、外でテストして パワーがいる場合はデスクトップを使用するつもり) モバイル用は安く上げたいので Chromebookかタブレットで探した方が良いですかね? 奇をてらってJetsonのtk1にACアダプタ用のバッテリーを積むとか (可能かどうかわからないですが) ちなみにゲームはやるつもりありません。
99 名前:デフォルトの名無しさん mailto:sage [2015/03/07(土) 20:42:36.10 ID:CzdLWIdo.net] thinkpad w550sのquadro K620mはダメなの? ノートパソコンだよ
100 名前:デフォルトの名無しさん [2015/03/08(日) 10:25:35.13 ID:TYY6zzsE.net] レスありがとうございます 安くあげたいので予算的に厳しいかと 最初だけ計算量は多いですけど 要所ごとに定数化すれば、その後は計算量がへるかと思っているので外での使用は少ないデータ量でプログラムチェックができればいいかなと考えています。 K1がのったタブレットも安いのでそこから考えてみようと思います ありがとうございました
101 名前:デフォルトの名無しさん mailto:sage [2015/03/18(水) 02:36:15.45 ID:jKTvW/7W.net] うわ、titan xの倍精度、しょぼ過ぎ・・・。 https://twitter.com/search?q=titan%20x&src=typd
102 名前:デフォルトの名無しさん mailto:sage [2015/03/18(水) 09:22:22.19 ID:33RtPIwm.net] 単精度が7TFLOPS、倍精度が0.2TFLOPSで良いんだよな?? 詳しい事は良く分からないんだけど倍精度ってそんなに使わないものなの? PhysXっていう物理エンジン使ったりするのに
103 名前:デフォルトの名無しさん mailto:sage [2015/03/18(水) 10:23:22.30 ID:C11qPS4w.net] >>97 ゲームだと単精度で十分だったりするからじゃない? もともとゲームのために作られたような物だから、倍精度の性能なんかあまりこだわってないと思う
104 名前:デフォルトの名無しさん [2015/03/19(木) 07:37:41.52 ID:M0RYJxHF.net] https://developer.nvidia.com/cuda-downloads CUDA 7 Downloads
105 名前:デフォルトの名無しさん [2015/03/19(木) 07:39:40.96 ID:M0RYJxHF.net] Dear Developer, The CUDA? 7.0 Production Release is now available to the public. Run your application faster with this latest version of the CUDA Toolkit. It features 64-bit ARM support and the simplified programming model enabled by Unified Memory. Highlights include: New cuSOLVER library ? Accelerates key LAPACK routines, 12x faster direct sparse solvers New C++11 language features ? Increases productivity with lambdas, auto, and more Runtime Compilation ? Enables highly optimized kernels to be generated at runtime Download the CUDA 7 Production Release at www.nvidia.com/getcuda Learn more about CUDA 7 by attending these webinars: CUDA 7 Feature Review Date/Time: Friday, April 10th at 10:00 AM PDT Register: https://cc.readytalk.com/r/4b0lwgeqgzrk&eom CUDA 7 Performance Overview Date/Time: Wednesday, April 15th at 11:30 AM PDT Register: https://cc.readytalk.com/r/empyu1qc65l6&eom Best regards, Nadeem Mohammad NVIDIA Developer Relations Team
106 名前:デフォルトの名無しさん mailto:sage [2015/03/24(火) 05:27:05.96 ID:7oVKj7vD.net] CUDAがgcc4.8でうまく動かない問題ってもう解決したの?
107 名前:デフォルトの名無しさん mailto:sage [2015/03/25(水) 15:16:29.51 ID:9JMqB0KU.net] うん
108 名前:デフォルトの名無しさん mailto:sage [2015/03/25(水) 21:19:25.13 ID:WRhchtaz.net] Driver API使ってコンパイル済みのptxを実行するプログラムを作ろうとしているんだけど、 64bitのホストコードから32bitのptxを実行することってできるんだっけ?
109 名前:デフォルトの名無しさん mailto:sage [2015/04/10(金) 02:15:05.70 ID:C60yUXFO.net] nvidia-smiでutilizationやmemory usageを確認できると思うのですが、全てのパラメータを確認できるのはtesla、quadro、Titanです。 Geforce系のGPUで、utilization、各プロセスのmemory usage等を確認するにはどうすればいいでしょうか?
110 名前:デフォルトの名無しさん mailto:sage [2015/04/10(金) 07:26:02.69 ID:nzpIVsUT.net] >>104 nvapi masafumi.cocolog-nifty.com/masafumis_diary/2008/09/nvapi.html
111 名前:デフォルトの名無しさん mailto:sage [2015/04/12(日) 23:53:21.24 ID:g4+PudFo.net] 古いGeforceでもOpenCL1.1のプログラムなら動くのでしょうか
112 名前:デフォルトの名無しさん mailto:sage [2015/04/13(月) 00:39:39.73 ID:NPPeHBbv.net] 少なくともCUDA対応している必要があるが、基本的にGeForce8シリーズ以降で動くはず。 特定の機種について知りたいならGeeks3Dのデータベース検索してみるとか。 しかしスレチ。
113 名前:デフォルトの名無しさん mailto:sage [2015/04/13(月) 16:29:29.85 ID:EBHbrztF.net] thinkpadに入ってるquadro K620Mはcudaのサポート無いんだな インストールしようとしてワラタ
114 名前:デフォルトの名無しさん [2015/04/14(火) 18:39:28.21 ID:hgZdA2dw.net] Linux(CentOS6)の環境でTITAN BLACKでCUDA(Ver.6.5 or 7.0)使ってるのだけど、計算走らせると NVIDIA X Server SettingsのPerformance LevelsのLevelが3から2に落ちてMemory Transfer Rateが7000Mhzから6000Mhzに落ちてしまう。 で結果的にノーマルTITANと性能が同じになってしまう。このメモリクロックを固定させることはできませんかね? ちなみにTelsa K20 での固定クロックの方法はnvidia-smiがTITANに対応してないらしくできなかった。 ちなみにPreferred Modeは「Prefer Maxmum Performance」になっていて、 CUDAで計算しなければLevel3でメモリクロックも7000Mhzとなっています。
115 名前:デフォルトの名無しさん mailto:sage [2015/04/14(火) 21:44:04.71 ID:frAktQrJ.net] 空冷を見直す。
116 名前:デフォルトの名無しさん [2015/04/15(水) 11:49:47.50 ID:DmeNPmdM.net] >>109 何時間もフルで使ってるならまだしも、GPU叩いた瞬間に7000Mhzから6000Mhzに落ちるって、TITAN BLACKの公称メモリクロック「7GHz」ってのは詐欺にならないか? これじゃノーマルTITANと同じ性能・・・
117 名前:デフォルトの名無しさん mailto:sage [2015/04/15(水) 23:05:57.76 ID:+7B/lj1n.net] 環境がわからんからなんとも言えんが、 どうしても固定したければどっかからbiosを引っ張ってくるしかないね。
118 名前:デフォルトの名無しさん [2015/04/16(木) 13:27:15.95 ID:xeug049T.net] ん?TITANのクロック制御はマザーのBIOSが管理してるのか?
119 名前:デフォルトの名無しさん mailto:sage [2015/04/16(木) 14:34:33.50 ID:PYEjJT3R.net] VGAボード側のだよ。
120 名前:デフォルトの名無しさん [2015/04/20(月) 17:42:38.58 ID:uqjf4eEG3] >109 とりあえず自己解決 CUDA7のドライバーをそのまま使うとLevel3の7000MhzからLevel2の6000Mhzに落ちる。 Ver.6.5もVer.6.0のもの同様。 で、CUDA様でない少し古いドライバーを使うと、Level3が7000Mhzで設定され、Level2も7000Mhzのままのものがある。 それを何とかCUDAで使えるようにして、7000Mhzのままで計算できるようになった。
121 名前:デフォルトの名無しさん mailto:sage [2015/04/23(木) 12:42:01.23 ID:GK/TBYtY.net] pycudaで既存のコンパイル済みのオブジェクトとリンクして 実行さ
122 名前:ケるにはどうすればいいのでしょうか [] [ここ壊れてます]
123 名前:デフォルトの名無しさん mailto:sage [2015/04/23(木) 18:12:10.80 ID:GK/TBYtY.net] cmakeの自動configがGTX900シリーズなのにsm_20とか言ってくるのなんとかならないの?
124 名前:デフォルトの名無しさん mailto:sage [2015/04/27(月) 00:54:11.64 ID:XOkfLgXW.net] 最近のマザーボードってビデオカード2枚刺して 両方に計算させることもできるの? 自分のcore2duoのパソコンだと1つしか刺す場所ないけど 最近のddr4を使うマザーみると それらしき場所が3つぐらいあるから3並列計算できるってことかな?
125 名前:デフォルトの名無しさん mailto:sage [2015/04/29(水) 08:43:39.45 ID:2J/vCqrD.net] >>118 場合によっては、計算用のGPUと出力用のGPUで分けてたりする。少なくともNVIDIAはそういう方針
126 名前:デフォルトの名無しさん mailto:sage [2015/04/30(木) 22:40:28.09 ID:4E7PVA8Y.net] vexclのサンプルコードをcudaでコンパイルしようとしてるんだけど エラーだらけ 何か依存パッケージが足りないのかな?
127 名前:デフォルトの名無しさん mailto:sage [2015/04/30(木) 22:46:37.84 ID:4E7PVA8Y.net] .bashrcに設定する変数名が CUDA_PATH だったり CUDA_ROOT だったりみんな違う なんで統一しないのか
128 名前:デフォルトの名無しさん mailto:sage [2015/05/07(木) 18:56:17.28 ID:oEZIeMhu.net] vexclについてくるexampleプログラムの中のベンチマークってプログラムが面白い このプログラムのベンチマークによると GT430とかいう古いビデオカードなのに最近のCPUの10倍の計算速度でてる
129 名前:デフォルトの名無しさん [2015/05/08(金) 17:34:25.55 ID:8Z+VlnlSM] 質問です。 Jetson TK1ってGPUは3.x世代だと思うんですが、 CUDA7/cuDNN(GTC2015で発表のあった正式版)には対応してないのでしょうか? TK1はKepler世代なので大丈夫だと思ったのですが・・・。
130 名前:101 mailto:sage [2015/05/13(水) 12:03:41.64 ID:3UCLt7KQ.net] thinkpad w550sのquadroでもcudaなんも問題なかった やっと勉強できる
131 名前:デフォルトの名無しさん [2015/05/13(水) 19:42:38.26 ID:SKtXN3hT.net] 3D映像でパストレーシングやモンテカルロ法を行いたい場合、光線とシーン中 のあらゆるポリゴンとの交差を判定し、条件分岐を行う必要があります。 しかし、GPGPUは条件分岐が遅いらしいので、もしかするとCPUと役割分担を 行うべきなのでしょうか? 例えば、シーン中のポリゴンとの交差判定はCPUでやった方が良いとか?
132 名前:デフォルトの名無しさん mailto:sage [2015/05/13(水) 23:31:21.84 ID:xMqj1fKt.net] if A else B end のような文なら、AとBは逐次の処理になる if A end なら、Aを行わないスレッドは待つだけだから問題ない もし3項演算で解決できる条件分岐なら3項演算子を用いて書く
133 名前:デフォルトの名無しさん [2015/05/14(木) 07:59:10.95 ID:CyZl9DuQ.net] >>126 >AとBは逐次の処理になる これはどういう意味でしょう? AとBが内部的には必ず両方とも実行されてしまうと言うことでしょうか?
134 名前:デフォルトの名無しさん [2015/05/14(木) 09:14:40.23 ID:CyZl9DuQ.net] Intel系CPUの場合、確か cmov などという命令は、bool 値が1の時だけ 転送するのだったと思います。そういう命令は無いんでしょうか? 仮に何かあったとして、CUDA や OpenCL でどうやってそのような 「専用命令」を生成する事は可能でしょうか?
135 名前:デフォルトの名無しさん mailto:sage [2015/05/15(金) 01:05:26.23 ID:WYo5pZkW.net] 分岐命令の代わりに使えるプレディケート付き命令があるかという話なら それは存在するし、分岐のあるコードではコンパイラさんがよしなにやってくれる。 と、ヘネパタ本には書いてあった。
136 名前:デフォルトの名無しさん [2015/05/15(金) 08:19:31.91 ID:pyCNH+0F.net] >>129 ありがとうございます。 では、「>>127 」の方はどうですか?
137 名前:デフォルトの名無しさん mailto:sage [2015/05/15(金) 09:39:10.09 ID:mDU8aVUi.net] >>130 warp divergenceの話じゃないの?
138 名前:デフォルトの名無しさん mailto:sage [2015/05/15(金) 15:58:50.84 ID:pyCNH+0F.net] >>131 習慣的に(?)「ウォープ・ダイバージェンス」と読み、 news.mynavi.jp/special/2008/cuda/001.html のことのようですね。
139 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 10:18:02.33 ID:R3tkd0Ad.net] >>130 AとB両方実行されるよ
140 名前:デフォルトの名無しさん [2015/05/19(火) 21:33:47.52 ID:spimwXxa.net] 今まで一つのソースファイルで書いてきたのですが、いい加減見づらくなってきたのでソースファイルを分けてみたところエラーがでたので質問させてください extern __constant__ unsigned short v[n]; //nは#defineで定義しています。 メインのソースファイルで __constant__ unsigned short v[n]; と定義し、ビルドすると「メインの方で再定義されている」というエラーが出てしまいます 他にも、__device__ double atomicAdd の定義をサブのソースファイルに書くと ptxas fatal : Unresolved extern function '_Z9atomicAddPdd' とエラーが出てしまいます。どうか解決方法を教えてください。 環境は NVIDIA Nsight Visual Studio Edition v.4.2 CUDA 7.0 Toolkit のはずです
141 名前:125 mailto:sage [2015/05/19(火) 21:42:34.97 ID:spimwXxa.net] ×CUDA 7.0 ○CUDA 6.5 でした
142 名前:125 mailto:sage [2015/05/20(水) 16:28:14.38 ID:MP+tATlH.net] CUDA5.0以降ではrdcを「はい」にするとファイルの分割が出来るという情報を得たのでさっそく試してみたところ >>134 のエラーは無くなったのですが 1>sub.cu.obj : error LNK2005: "long __cdecl genrand_int31(void)" (?genrand_int31@@YAJXZ) は既に main.cu.obj で定義されています。 上記のような二重定義エラーがいくつか出てきました また、ヘッダファイルの拡張子を.cuhとしている方を見かけたのですが、.hとの違いはあるのでしょうか?
143 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 22:26:00.46 ID:tQNdJIhT.net] デバイス関数ってインライン展開されるんじゃなかったっけ。 でもって、他のファイルからは使えなかったのでは?
144 名前:125 mailto:sage [2015/05/20(水) 23:53:16.57 ID:MP+tATlH.net] >>137 ファイルを分割出来ないとなるとすごく不便になので、何かしらの方法があるのでは?と思っています
145 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 04:25:30.08 ID:Dige6mTv.net] とりあえずCUDAの日本語wikiがあるから、そこの分割コンパイルの項目をみたらどうかな? OSによっては解決できるかも
146 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 09:09:27.02 ID:BxelVpyp.net] cuファイルをcuファイルにインクルードしてみるとか。
147 名前:125 mailto:sage [2015/05/21(木) 17:23:47.43 ID:25nDpRt2.net] レスありがとうございます どうやら>>136 のエラーはCUDAとは関係なさそうなのでC++のスレで聞いてきます
148 名前:125 mailto:sage [2015/05/24(日) 22:10:36.84 ID:FupD4mQN.net] >>136 の方法で分割コンパイルに一応成功しました! 一応と言ったのはrdcを「はい」にした場合と「いいえ」にした場合とでプログラムの挙動が少し変わってしまうのです 今書いているプログラムは何億回もの計算結果を足し合わせていくものなので、誤差の蓄積による影響を受けていると思います コンパイルの方法を変えた(?)事で誤差の蓄積が変化(?)し、プログラムの挙動が変わったということなのでしょうか? コンパイルと誤差がどう関係するのかは分かりませんが