このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
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】
http://toro.2ch.net/test/read.cgi/tech/1314104886/
【GPGPU】くだすれCUDAスレ part6【NVIDIA】
ttp://peace.2ch.net/test/read.cgi/tech/1348409867/
探検
【GPGPU】くだすれCUDAスレ part7【NVIDIA】 [転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2014/11/20(木) 23:14:46.66ID:jr3oZn27
2014/12/27(土) 01:57:38.03ID:u9BI3CqV
基本的にはcudaコアの数だけしか並列計算出来ないのですか
だけしかと言ってもコアは何百もありますが
だけしかと言ってもコアは何百もありますが
2014/12/27(土) 06:52:06.91ID:fxVjSbuk
ある瞬間、実際に並列に処理されているということと、理論上並列に扱われるということは別の話ですよ
上のレスにもありますが、計算速度的には実際に処理を行うヤツが足りていなければそこで頭打ちになるのは当然かと
上のレスにもありますが、計算速度的には実際に処理を行うヤツが足りていなければそこで頭打ちになるのは当然かと
2014/12/27(土) 10:09:35.39ID:W6Y2DM4+
cudaコアの数以上にスレッドを生成する利点は
メモリアクセスの遅延の隠蔽にある
メモリアクセスの遅延の隠蔽にある
2014/12/28(日) 20:39:13.97ID:52BL0aAq
550TIで使っていたプログラムを750TIで走らせて見たところ1.5倍ほど遅くなってしまいました
何故でしょうか?
何故でしょうか?
2014/12/29(月) 02:19:31.23ID:YUQudPNs
腐ってやがる。早すぎたんだ
2014/12/29(月) 09:47:06.28ID:Sx0YYE+e
>>53
一度のカーネル実行で処理するデータ量を増やしたら改善しませんか?
一度のカーネル実行で処理するデータ量を増やしたら改善しませんか?
2014/12/29(月) 09:51:11.07ID:Sx0YYE+e
>>53
maxwellは倍精度がそーとーしょぼいので、
cuda-zかなんかで性能をチェックした方がよいかもしれません。
http://sourceforge.jp/projects/sfnet_cuda-z/
maxwellは倍精度がそーとーしょぼいので、
cuda-zかなんかで性能をチェックした方がよいかもしれません。
http://sourceforge.jp/projects/sfnet_cuda-z/
2014/12/29(月) 12:03:33.25ID:oV4aoJAy
2014/12/29(月) 12:51:57.86ID:oV4aoJAy
コア数が3倍になっていることを考慮すればそれでも遅い気がしますね
2014/12/31(水) 21:08:03.80ID:3b0Wn462
CUDA初学者です
cudaBindTexture2D()のpitchとoffsetは何を表しているのですか?
手元の書籍のサンプルから推測するに
pitchは一次元の配列を二次元のテクスチャに入れる場合の折り返し地点のようなもの
でしょうか?それならwidthとhighだけでも十分ではないかと言う疑問も出てきます。
そして一番の疑問がテクスチャメモリの存在です。
いくら二次元、三次元配列が使えるとは言え512バイトしか容量のないテクスチャメモリは64キロバイトもあるコンスタントメモリに劣るのではないでしょうか?
長々と失礼いたしましたm(_ _)m
cudaBindTexture2D()のpitchとoffsetは何を表しているのですか?
手元の書籍のサンプルから推測するに
pitchは一次元の配列を二次元のテクスチャに入れる場合の折り返し地点のようなもの
でしょうか?それならwidthとhighだけでも十分ではないかと言う疑問も出てきます。
そして一番の疑問がテクスチャメモリの存在です。
いくら二次元、三次元配列が使えるとは言え512バイトしか容量のないテクスチャメモリは64キロバイトもあるコンスタントメモリに劣るのではないでしょうか?
長々と失礼いたしましたm(_ _)m
2014/12/31(水) 23:07:39.94ID:WrP28EMy
>>52
それじゃあストリームは何のためにあるのさ?
それじゃあストリームは何のためにあるのさ?
2015/01/01(木) 12:48:51.81ID:82JnHkZd
2015/01/02(金) 01:42:39.20ID:aooXGYY5
>>61
なるほどね
なるほどね
2015/01/03(土) 13:07:05.02ID:yWVdPt25
970/980は確かにゲームのパフォーマンスは上がってるが帯域減ってるから
GPGPU用途では微妙になってしまったな
GPGPU用途では微妙になってしまったな
2015/01/09(金) 00:33:57.02ID:Iq4Pw+IC
Toolkit 6.0 + VS 2008から
Toolkit 6.5 + VS 2013に移行したら
遅くなっちゃったんだけど、そういう人ほかにいる?
Toolkit 6.5 + VS 2013に移行したら
遅くなっちゃったんだけど、そういう人ほかにいる?
2015/01/12(月) 00:15:12.48ID:crrCnhEj
CUDAの日本語ページって4.0とかの古い情報ばっかりじゃね
6.0/6.5では全然仕様が違ってて全然使えない
6.0/6.5では全然仕様が違ってて全然使えない
66デフォルトの名無しさん
2015/01/16(金) 07:53:04.52ID:IHSf0jGJ CUDA7.0 RC
2015/01/16(金) 09:02:56.43ID:VQ2eHsT0
もうCUDAも成熟してしまった感があるなあ。
2015/01/25(日) 10:58:33.86ID:m2kue9j8
970の影響でGPUメモリテストが流行っているね。
2015/02/06(金) 21:35:53.90ID:72/Q/UeS
ここ何週間かデバッグを続けているのですが原因を突き止めることが出来ません
初学者がはまりやすいミスやデバッグのこつなんかを教えてもらえませんか?
明らかなバグなら原因を突き止めやすいのですが、かなり微妙なバグなのでなかなか見つけられず困っています
初学者がはまりやすいミスやデバッグのこつなんかを教えてもらえませんか?
明らかなバグなら原因を突き止めやすいのですが、かなり微妙なバグなのでなかなか見つけられず困っています
2015/02/07(土) 00:48:46.19ID:OS4q1AxS
printfとかで要素を表示してデバックしてみれば?
2015/02/07(土) 13:10:14.61ID:4cvxubK6
syncthreadとか?
if文の中に書いてたりすると同期ずれが起こったりするなー
他には確保してないメモリへのアクセスとか?
>>70の通り、printfとかで、配列の添字とか値を表示するしかないのかな?
if文の中に書いてたりすると同期ずれが起こったりするなー
他には確保してないメモリへのアクセスとか?
>>70の通り、printfとかで、配列の添字とか値を表示するしかないのかな?
2015/02/08(日) 15:23:01.85ID:E04CIgi2
2015/02/08(日) 15:48:00.96ID:E04CIgi2
変数に入れると精度は落ちますね
お騒がせしました
お騒がせしました
2015/02/08(日) 21:32:20.44ID:BpjOkBmf
2015/02/08(日) 22:56:08.44ID:KLuvC02r
2015/02/09(月) 10:20:08.08ID:pN+UjOmC
>>72
fpが(a+b)+c != a+(b+c)を知らないとかではないよね?
fpが(a+b)+c != a+(b+c)を知らないとかではないよね?
2015/02/09(月) 23:18:25.64ID:QR2S1do8
volatile使うとか?
変数の宣言とか関数の引数の型の前にvolatileをいれると・・・
変数の宣言とか関数の引数の型の前にvolatileをいれると・・・
2015/02/17(火) 21:40:32.15ID:K8c74Rhe
>>53
750TIでGPGPUって考えていたけど、750TIって2世代前の同ランクぐらいの550TIより性能悪いのか。
一般ゲーム用VGAではGPGPU能力ってたいして要らないから落としたのかな
いろいろなゲーム用VGAの単精度、倍精度の能力が載ったホームページ教えてください
750TIでGPGPUって考えていたけど、750TIって2世代前の同ランクぐらいの550TIより性能悪いのか。
一般ゲーム用VGAではGPGPU能力ってたいして要らないから落としたのかな
いろいろなゲーム用VGAの単精度、倍精度の能力が載ったホームページ教えてください
2015/02/19(木) 11:23:20.97ID:aqLRWkl1
質問☆
cudaってドライバインストして、画像表示をcuda設定にするだけでは
効果ない?
cudaってドライバインストして、画像表示をcuda設定にするだけでは
効果ない?
2015/02/19(木) 14:30:54.02ID:iKdaAUCi
>>78
FP32とFP64の一覧表ならこれとか。
ttp://www.geeks3d.com/20140305/amd-radeon-and-nvidia-geforce-fp32-fp64-gflops-table-computing/
ボトルネックになりうる点は他にもあるから、Compute Capability毎の仕様の違いも結構重要だと思う。
FP32とFP64の一覧表ならこれとか。
ttp://www.geeks3d.com/20140305/amd-radeon-and-nvidia-geforce-fp32-fp64-gflops-table-computing/
ボトルネックになりうる点は他にもあるから、Compute Capability毎の仕様の違いも結構重要だと思う。
2015/02/19(木) 23:45:36.57ID:ngPIgbTR
maxwellさん自体にに倍精度が無いようだから
一世代前のkeplerさんか次世代のpascalさんを選べば良いんじゃないかな
一世代前のkeplerさんか次世代のpascalさんを選べば良いんじゃないかな
2015/02/19(木) 23:54:19.28ID:Lt8lBsrZ
2015/02/20(金) 04:05:21.12ID:fPdGyDpl
84デフォルトの名無しさん
2015/02/20(金) 08:52:57.87ID:xG3c1huj keplerはinteger bit shiftが弱いGK110(tesla)以外は
maxwellはkepler比で2倍のスループットになってる
maxwellはkepler比で2倍のスループットになってる
2015/02/22(日) 18:45:23.46ID:JhGx5uct
適当なプログラム作ってみても
maxwellの方がはやいね
shared memoryが倍になったのも大きいなぁ
maxwellの方がはやいね
shared memoryが倍になったのも大きいなぁ
86名無し
2015/03/07(土) 10:52:38.85ID:UBzBpgz5 スレチなら申し訳ない
当方、モバイルでCUDAを使用したいけど
安い方法はどれが良いと思います?
(速度はそこそこで良く、外でテストして
パワーがいる場合はデスクトップを使用するつもり)
モバイル用は安く上げたいので
Chromebookかタブレットで探した方が良いですかね?
奇をてらってJetsonのtk1にACアダプタ用のバッテリーを積むとか
(可能かどうかわからないですが)
ちなみにゲームはやるつもりありません。
当方、モバイルでCUDAを使用したいけど
安い方法はどれが良いと思います?
(速度はそこそこで良く、外でテストして
パワーがいる場合はデスクトップを使用するつもり)
モバイル用は安く上げたいので
Chromebookかタブレットで探した方が良いですかね?
奇をてらってJetsonのtk1にACアダプタ用のバッテリーを積むとか
(可能かどうかわからないですが)
ちなみにゲームはやるつもりありません。
2015/03/07(土) 20:42:36.10ID:CzdLWIdo
thinkpad w550sのquadro K620mはダメなの?
ノートパソコンだよ
ノートパソコンだよ
88デフォルトの名無しさん
2015/03/08(日) 10:25:35.13ID:TYY6zzsE レスありがとうございます
安くあげたいので予算的に厳しいかと
最初だけ計算量は多いですけど
要所ごとに定数化すれば、その後は計算量がへるかと思っているので外での使用は少ないデータ量でプログラムチェックができればいいかなと考えています。
K1がのったタブレットも安いのでそこから考えてみようと思います
ありがとうございました
安くあげたいので予算的に厳しいかと
最初だけ計算量は多いですけど
要所ごとに定数化すれば、その後は計算量がへるかと思っているので外での使用は少ないデータ量でプログラムチェックができればいいかなと考えています。
K1がのったタブレットも安いのでそこから考えてみようと思います
ありがとうございました
2015/03/18(水) 02:36:15.45ID:jKTvW/7W
うわ、titan xの倍精度、しょぼ過ぎ・・・。
https://twitter.com/search?q=titan%20x&src=typd
https://twitter.com/search?q=titan%20x&src=typd
2015/03/18(水) 09:22:22.19ID:33RtPIwm
単精度が7TFLOPS、倍精度が0.2TFLOPSで良いんだよな??
詳しい事は良く分からないんだけど倍精度ってそんなに使わないものなの?
PhysXっていう物理エンジン使ったりするのに
詳しい事は良く分からないんだけど倍精度ってそんなに使わないものなの?
PhysXっていう物理エンジン使ったりするのに
2015/03/18(水) 10:23:22.30ID:C11qPS4w
92デフォルトの名無しさん
2015/03/19(木) 07:37:41.52ID:M0RYJxHF https://developer.nvidia.com/cuda-downloads
CUDA 7 Downloads
CUDA 7 Downloads
93デフォルトの名無しさん
2015/03/19(木) 07:39:40.96ID:M0RYJxHF 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
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
2015/03/24(火) 05:27:05.96ID:7oVKj7vD
CUDAがgcc4.8でうまく動かない問題ってもう解決したの?
2015/03/25(水) 15:16:29.51ID:9JMqB0KU
うん
2015/03/25(水) 21:19:25.13ID:WRhchtaz
Driver API使ってコンパイル済みのptxを実行するプログラムを作ろうとしているんだけど、
64bitのホストコードから32bitのptxを実行することってできるんだっけ?
64bitのホストコードから32bitのptxを実行することってできるんだっけ?
2015/04/10(金) 02:15:05.70ID:C60yUXFO
nvidia-smiでutilizationやmemory usageを確認できると思うのですが、全てのパラメータを確認できるのはtesla、quadro、Titanです。
Geforce系のGPUで、utilization、各プロセスのmemory usage等を確認するにはどうすればいいでしょうか?
Geforce系のGPUで、utilization、各プロセスのmemory usage等を確認するにはどうすればいいでしょうか?
2015/04/10(金) 07:26:02.69ID:nzpIVsUT
2015/04/12(日) 23:53:21.24ID:g4+PudFo
古いGeforceでもOpenCL1.1のプログラムなら動くのでしょうか
100デフォルトの名無しさん
2015/04/13(月) 00:39:39.73ID:NPPeHBbv 少なくともCUDA対応している必要があるが、基本的にGeForce8シリーズ以降で動くはず。
特定の機種について知りたいならGeeks3Dのデータベース検索してみるとか。
しかしスレチ。
特定の機種について知りたいならGeeks3Dのデータベース検索してみるとか。
しかしスレチ。
101デフォルトの名無しさん
2015/04/13(月) 16:29:29.85ID:EBHbrztF thinkpadに入ってるquadro K620Mはcudaのサポート無いんだな
インストールしようとしてワラタ
インストールしようとしてワラタ
102デフォルトの名無しさん
2015/04/14(火) 18:39:28.21ID:hgZdA2dw 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となっています。
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となっています。
103デフォルトの名無しさん
2015/04/14(火) 21:44:04.71ID:frAktQrJ 空冷を見直す。
104デフォルトの名無しさん
2015/04/15(水) 11:49:47.50ID:DmeNPmdM >>102
何時間もフルで使ってるならまだしも、GPU叩いた瞬間に7000Mhzから6000Mhzに落ちるって、TITAN BLACKの公称メモリクロック「7GHz」ってのは詐欺にならないか?
これじゃノーマルTITANと同じ性能・・・
何時間もフルで使ってるならまだしも、GPU叩いた瞬間に7000Mhzから6000Mhzに落ちるって、TITAN BLACKの公称メモリクロック「7GHz」ってのは詐欺にならないか?
これじゃノーマルTITANと同じ性能・・・
105デフォルトの名無しさん
2015/04/15(水) 23:05:57.76ID:+7B/lj1n 環境がわからんからなんとも言えんが、
どうしても固定したければどっかからbiosを引っ張ってくるしかないね。
どうしても固定したければどっかからbiosを引っ張ってくるしかないね。
106デフォルトの名無しさん
2015/04/16(木) 13:27:15.95ID:xeug049T ん?TITANのクロック制御はマザーのBIOSが管理してるのか?
107デフォルトの名無しさん
2015/04/16(木) 14:34:33.50ID:PYEjJT3R VGAボード側のだよ。
108デフォルトの名無しさん
2015/04/23(木) 12:42:01.23ID:GK/TBYtY pycudaで既存のコンパイル済みのオブジェクトとリンクして
実行させるにはどうすればいいのでしょうか
実行させるにはどうすればいいのでしょうか
109デフォルトの名無しさん
2015/04/23(木) 18:12:10.80ID:GK/TBYtY cmakeの自動configがGTX900シリーズなのにsm_20とか言ってくるのなんとかならないの?
110デフォルトの名無しさん
2015/04/27(月) 00:54:11.64ID:XOkfLgXW 最近のマザーボードってビデオカード2枚刺して
両方に計算させることもできるの?
自分のcore2duoのパソコンだと1つしか刺す場所ないけど
最近のddr4を使うマザーみると
それらしき場所が3つぐらいあるから3並列計算できるってことかな?
両方に計算させることもできるの?
自分のcore2duoのパソコンだと1つしか刺す場所ないけど
最近のddr4を使うマザーみると
それらしき場所が3つぐらいあるから3並列計算できるってことかな?
111デフォルトの名無しさん
2015/04/29(水) 08:43:39.45ID:2J/vCqrD >>110
場合によっては、計算用のGPUと出力用のGPUで分けてたりする。少なくともNVIDIAはそういう方針
場合によっては、計算用のGPUと出力用のGPUで分けてたりする。少なくともNVIDIAはそういう方針
112デフォルトの名無しさん
2015/04/30(木) 22:40:28.09ID:4E7PVA8Y vexclのサンプルコードをcudaでコンパイルしようとしてるんだけど
エラーだらけ
何か依存パッケージが足りないのかな?
エラーだらけ
何か依存パッケージが足りないのかな?
113デフォルトの名無しさん
2015/04/30(木) 22:46:37.84ID:4E7PVA8Y .bashrcに設定する変数名が
CUDA_PATH
だったり
CUDA_ROOT
だったりみんな違う
なんで統一しないのか
CUDA_PATH
だったり
CUDA_ROOT
だったりみんな違う
なんで統一しないのか
114デフォルトの名無しさん
2015/05/07(木) 18:56:17.28ID:oEZIeMhu vexclについてくるexampleプログラムの中のベンチマークってプログラムが面白い
このプログラムのベンチマークによると
GT430とかいう古いビデオカードなのに最近のCPUの10倍の計算速度でてる
このプログラムのベンチマークによると
GT430とかいう古いビデオカードなのに最近のCPUの10倍の計算速度でてる
115101
2015/05/13(水) 12:03:41.64ID:3UCLt7KQ thinkpad w550sのquadroでもcudaなんも問題なかった
やっと勉強できる
やっと勉強できる
116デフォルトの名無しさん
2015/05/13(水) 19:42:38.26ID:SKtXN3hT 3D映像でパストレーシングやモンテカルロ法を行いたい場合、光線とシーン中
のあらゆるポリゴンとの交差を判定し、条件分岐を行う必要があります。
しかし、GPGPUは条件分岐が遅いらしいので、もしかするとCPUと役割分担を
行うべきなのでしょうか?
例えば、シーン中のポリゴンとの交差判定はCPUでやった方が良いとか?
のあらゆるポリゴンとの交差を判定し、条件分岐を行う必要があります。
しかし、GPGPUは条件分岐が遅いらしいので、もしかするとCPUと役割分担を
行うべきなのでしょうか?
例えば、シーン中のポリゴンとの交差判定はCPUでやった方が良いとか?
117デフォルトの名無しさん
2015/05/13(水) 23:31:21.84ID:xMqj1fKt if
A
else
B
end
のような文なら、AとBは逐次の処理になる
if
A
end
なら、Aを行わないスレッドは待つだけだから問題ない
もし3項演算で解決できる条件分岐なら3項演算子を用いて書く
A
else
B
end
のような文なら、AとBは逐次の処理になる
if
A
end
なら、Aを行わないスレッドは待つだけだから問題ない
もし3項演算で解決できる条件分岐なら3項演算子を用いて書く
118デフォルトの名無しさん
2015/05/14(木) 07:59:10.95ID:CyZl9DuQ119デフォルトの名無しさん
2015/05/14(木) 09:14:40.23ID:CyZl9DuQ Intel系CPUの場合、確か cmov などという命令は、bool 値が1の時だけ
転送するのだったと思います。そういう命令は無いんでしょうか?
仮に何かあったとして、CUDA や OpenCL でどうやってそのような
「専用命令」を生成する事は可能でしょうか?
転送するのだったと思います。そういう命令は無いんでしょうか?
仮に何かあったとして、CUDA や OpenCL でどうやってそのような
「専用命令」を生成する事は可能でしょうか?
120デフォルトの名無しさん
2015/05/15(金) 01:05:26.23ID:WYo5pZkW 分岐命令の代わりに使えるプレディケート付き命令があるかという話なら
それは存在するし、分岐のあるコードではコンパイラさんがよしなにやってくれる。
と、ヘネパタ本には書いてあった。
それは存在するし、分岐のあるコードではコンパイラさんがよしなにやってくれる。
と、ヘネパタ本には書いてあった。
122デフォルトの名無しさん
2015/05/15(金) 09:39:10.09ID:mDU8aVUi >>121
warp divergenceの話じゃないの?
warp divergenceの話じゃないの?
123デフォルトの名無しさん
2015/05/15(金) 15:58:50.84ID:pyCNH+0F124デフォルトの名無しさん
2015/05/17(日) 10:18:02.33ID:R3tkd0Ad >>121
AとB両方実行されるよ
AとB両方実行されるよ
125デフォルトの名無しさん
2015/05/19(火) 21:33:47.52ID:spimwXxa 今まで一つのソースファイルで書いてきたのですが、いい加減見づらくなってきたのでソースファイルを分けてみたところエラーがでたので質問させてください
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
のはずです
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
のはずです
126125
2015/05/19(火) 21:42:34.97ID:spimwXxa ×CUDA 7.0
○CUDA 6.5
でした
○CUDA 6.5
でした
127125
2015/05/20(水) 16:28:14.38ID:MP+tATlH CUDA5.0以降ではrdcを「はい」にするとファイルの分割が出来るという情報を得たのでさっそく試してみたところ
>>125のエラーは無くなったのですが
1>sub.cu.obj : error LNK2005: "long __cdecl genrand_int31(void)" (?genrand_int31@@YAJXZ) は既に main.cu.obj で定義されています。
上記のような二重定義エラーがいくつか出てきました
また、ヘッダファイルの拡張子を.cuhとしている方を見かけたのですが、.hとの違いはあるのでしょうか?
>>125のエラーは無くなったのですが
1>sub.cu.obj : error LNK2005: "long __cdecl genrand_int31(void)" (?genrand_int31@@YAJXZ) は既に main.cu.obj で定義されています。
上記のような二重定義エラーがいくつか出てきました
また、ヘッダファイルの拡張子を.cuhとしている方を見かけたのですが、.hとの違いはあるのでしょうか?
128デフォルトの名無しさん
2015/05/20(水) 22:26:00.46ID:tQNdJIhT デバイス関数ってインライン展開されるんじゃなかったっけ。
でもって、他のファイルからは使えなかったのでは?
でもって、他のファイルからは使えなかったのでは?
130デフォルトの名無しさん
2015/05/21(木) 04:25:30.08ID:Dige6mTv とりあえずCUDAの日本語wikiがあるから、そこの分割コンパイルの項目をみたらどうかな?
OSによっては解決できるかも
OSによっては解決できるかも
131デフォルトの名無しさん
2015/05/21(木) 09:09:27.02ID:BxelVpyp cuファイルをcuファイルにインクルードしてみるとか。
133125
2015/05/24(日) 22:10:36.84ID:FupD4mQN >>127の方法で分割コンパイルに一応成功しました!
一応と言ったのはrdcを「はい」にした場合と「いいえ」にした場合とでプログラムの挙動が少し変わってしまうのです
今書いているプログラムは何億回もの計算結果を足し合わせていくものなので、誤差の蓄積による影響を受けていると思います
コンパイルの方法を変えた(?)事で誤差の蓄積が変化(?)し、プログラムの挙動が変わったということなのでしょうか?
コンパイルと誤差がどう関係するのかは分かりませんが
一応と言ったのはrdcを「はい」にした場合と「いいえ」にした場合とでプログラムの挙動が少し変わってしまうのです
今書いているプログラムは何億回もの計算結果を足し合わせていくものなので、誤差の蓄積による影響を受けていると思います
コンパイルの方法を変えた(?)事で誤差の蓄積が変化(?)し、プログラムの挙動が変わったということなのでしょうか?
コンパイルと誤差がどう関係するのかは分かりませんが
134125
2015/05/24(日) 22:19:49.55ID:FupD4mQN >>「はい」にした場合と「いいえ」にした場合
ファイルを分割するともちろん「いいえ」では動かないので、一つのファイルで完結しているプログラムでの話です
ファイルを分割するともちろん「いいえ」では動かないので、一つのファイルで完結しているプログラムでの話です
135デフォルトの名無しさん
2015/05/26(火) 06:54:20.42ID:VVQAbCqm 最適化の仕方が変わるのかもね
誤差が出て困るなら、なるべく誤差が少なくなるような組み方を考えるしかない
誤差が出て困るなら、なるべく誤差が少なくなるような組み方を考えるしかない
136デフォルトの名無しさん
2015/05/26(火) 07:49:49.21ID:3GnQrGbV 誤差にも種類があるが・・・
浮動小数点演算等の誤差なのか
同期ミスによる誤差なのか・・・
浮動小数点演算等の誤差なのか
同期ミスによる誤差なのか・・・
137デフォルトの名無しさん
2015/05/26(火) 22:03:46.38ID:f2qMZr+T138デフォルトの名無しさん
2015/05/26(火) 22:55:29.89ID:sIi3toQP つうか最適化で結果が変わったら
それはバグ以外に無いけどねえ。
それはバグ以外に無いけどねえ。
139デフォルトの名無しさん
2015/06/03(水) 15:26:06.85ID:f+QtTKYD140デフォルトの名無しさん
2015/06/17(水) 22:35:16.09ID:uTokHIG4 今年はGTC Japan開催のリリース出ないな
例年ならもう出ているのに
中止かもしくは時期がずれたのかな
例年ならもう出ているのに
中止かもしくは時期がずれたのかな
141デフォルトの名無しさん
2015/06/18(木) 12:56:34.78ID:0ZPzSsHT >>140
今年は9月18日に虎ノ門ヒルズで開催、だったかと。
今年は9月18日に虎ノ門ヒルズで開催、だったかと。
142デフォルトの名無しさん
2015/06/18(木) 13:04:11.34ID:9mEYqdNq Visual studioでCUDAプログラムを作成しています
Nsightでstart CUDA debuggingからプログラムを走らせた時だけプログラムが動かないんですが
どのような原因が考えられますか?
以下の条件ではすべて正常に動作・終了します
デバッグなしで開始(debug,release共に)
start CUDA debuggingでブレイクポイントを仕掛けて1スレッドずつ動かす
Nsightでstart CUDA debuggingからプログラムを走らせた時だけプログラムが動かないんですが
どのような原因が考えられますか?
以下の条件ではすべて正常に動作・終了します
デバッグなしで開始(debug,release共に)
start CUDA debuggingでブレイクポイントを仕掛けて1スレッドずつ動かす
143142
2015/06/18(木) 13:16:06.49ID:9mEYqdNq 追加です
プログラムの詳細ですが
ある無向グラフに対して,与えられた2点が連結かどうか調べるプログラム
枝重み0と仮定してダイクストラのアルゴリズムを用いて判定しています.
1ブロックにつき16スレッドが同時に走ります.
その判定関数をfoo()とすると
if( blockIdx.x == tmp )
foo();
というように一つのブロックのみで扱うようにすると
tmpがどのような値でも正常に動作するのですが
2ブロック以上でfooに行くようにすると動かなくなります
エラーがでないことと,printfによるチェックですが
配列のアドレスも問題ありません
プログラムの詳細ですが
ある無向グラフに対して,与えられた2点が連結かどうか調べるプログラム
枝重み0と仮定してダイクストラのアルゴリズムを用いて判定しています.
1ブロックにつき16スレッドが同時に走ります.
その判定関数をfoo()とすると
if( blockIdx.x == tmp )
foo();
というように一つのブロックのみで扱うようにすると
tmpがどのような値でも正常に動作するのですが
2ブロック以上でfooに行くようにすると動かなくなります
エラーがでないことと,printfによるチェックですが
配列のアドレスも問題ありません
144デフォルトの名無しさん
2015/06/19(金) 21:29:02.20ID:tQGft1o9 >>143
何かスレッドの実行順序に依存した処理があるか、排他が必要な競合でもあるんじゃね?
何かスレッドの実行順序に依存した処理があるか、排他が必要な競合でもあるんじゃね?
145デフォルトの名無しさん
2015/06/19(金) 22:01:43.75ID:FLqfhWNF >>141情報感謝です
146デフォルトの名無しさん
2015/06/22(月) 21:23:14.11ID:FYteK6ai デバイスメモリの内容を一時的にホスト側からアクセスしたいんですが、OpenCLでいう
clEnqueueMapBufferに相当する機能はCUDAにあるんでしょうか?
ちょっと調べてみたんですが、cudaHostRegisterは方向が逆だし、cudaMallocManagedは
既にあるデバイスメモリにアクセスするものではなさそうなので。
cudaMemcpyで読み出して終わったらまた書き出すという方法しかないんでしょうか。
clEnqueueMapBufferに相当する機能はCUDAにあるんでしょうか?
ちょっと調べてみたんですが、cudaHostRegisterは方向が逆だし、cudaMallocManagedは
既にあるデバイスメモリにアクセスするものではなさそうなので。
cudaMemcpyで読み出して終わったらまた書き出すという方法しかないんでしょうか。
147デフォルトの名無しさん
2015/06/23(火) 13:14:37.10ID:DUXK3D31 OpenCLを知らないので外してるかも知れないけど、
基本的にはcudamemcpyするしかない。
CUDA6.0からUnified Memoryっていう機能が入って、
GPU上のメモリをホストメモリと同じように読めて、
自動的に同期を取ってくれる機能。用途によっては使えるかも。
基本的にはcudamemcpyするしかない。
CUDA6.0からUnified Memoryっていう機能が入って、
GPU上のメモリをホストメモリと同じように読めて、
自動的に同期を取ってくれる機能。用途によっては使えるかも。
148デフォルトの名無しさん
2015/06/24(水) 08:02:13.81ID:wFw+UOzE >>147
ありがとう。やっぱりcudaMemcpyするしかないのか。
ありがとう。やっぱりcudaMemcpyするしかないのか。
149デフォルトの名無しさん
2015/06/25(木) 22:41:21.74ID:t3bjYB8L 今日はじめてCUDAを入れた者ですが、VS2013でサンプルをビルドするとerror MSB3721…\simpleTemplates.cu"" はコード 1 で終了しました
って出るんだが何か設定とか必要ですか?
あとインストールの確認(?)でコマンドプロンプトでnvcc -Vのコマンド入れてもアクセスが拒否されましたと出る…
これが原因ですかね?
いろいろ調べてみましたが、これといった解決方法はなかったので助けて下さい。
よろしくお願いします。
って出るんだが何か設定とか必要ですか?
あとインストールの確認(?)でコマンドプロンプトでnvcc -Vのコマンド入れてもアクセスが拒否されましたと出る…
これが原因ですかね?
いろいろ調べてみましたが、これといった解決方法はなかったので助けて下さい。
よろしくお願いします。
150149
2015/06/25(木) 23:09:29.97ID:t3bjYB8L■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】Jリーグ観客動員が歴代最多を更新 初の「1300万人超え」達成…平均入場者数も史上最高に [尺アジ★]
- 女性天皇「賛成」69%、将来の皇位継承「不安」68%…読売世論調査 ★3 [蚤の市★]
- サナエノミクスについて力説 積極的な財政出動で「所得増える 消費マインド上がる 税収増える」片山さつき財務大臣 ★3 [少考さん★]
- 【芸能】粗品、日本テレビに苦言 客のレベルが「かなり低い。あいつら分かってない」「拍手したいだけやねん」 [冬月記者★]
- 日本の英語力96位から動かず AI評価で可視化された「読めるが話せない」の正体 (EF EPI 2025) ★2 [少考さん★]
- 日中対立「着地点」見えず 中国、他国にも圧力の過去―関係悪化から1カ月 [蚤の市★]
- 岩代俊明「PSYREN -サイレン-」TVアニメ化!ジャンプでの連載終了から約15年を経て。 [859568287]
- このお🏡は好都合に未完成🦖
- 伊東市の元市長、高市が激励メッセージを送り自民党県連が全面支援したのに敗北 [931948549]
- 00:00:00.000
- 【朗報】イーロン・マスク「AIとロボットで誰も働かなくて良くなる。全員ニートで金銭も税金もないパラダイスみてぇな国を作りてえ」 [347751896]
- 【悲報】米山隆一と室井佑月、ガチで離婚しそうwwwwwwwwwwwwwwwwwwww [802034645]
