カーネルが使うレジスタ数
をテンプレートにして作成
[
トップ
|
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
[[CUDA]]
**too many resources requested for launch [#vac860b6]
CUDA実行時に too many resources requested for launch とエ...
これはカーネルが用いているレジスタ数などが多すぎるという...
GPUでは多数のスレッドを並列実行できるが,このスレッドを取...
グリッド -> ブロック -> スレッド
という階層構造を持っており,1ブロックが多数のスレッドを持...
1ブロックが持てる最大スレッド数は環境に依存する.
同様に1ブロックが持つレジスタ数も環境によって異なる.
上記のエラーを直すために,現在のカーネルが使っているレジ...
現在の環境で使えるレジスタ数/ブロックも知る必要がある.
**カーネルが使っているレジスタ数を調べる [#hed1d94f]
CUDAコンパイラであるnvccでコンパイルするときに --ptxas-op...
ptxas : info : Used 45 registers, 384 bytes cmem[0], 8 b...
といった情報がコンパイルの結果として表示される.
Visual StudioでCUDAを用いている場合は,
調べたいcuファイルのプロパティで
CUDA C/C++ -> Device -> Verbose PTXAS Output
を"はい"にすると,コンパイル時に出力ウィンドウに上記のよ...
この例だとこのカーネルはレジスタを45用いている.
例えば,1024スレッド/ブロックとしていたならば,45*1024 = ...
**環境が対応しているレジスタ数を調べる [#ka6dba5f]
[[デバイス情報の取得]]で説明した方法を使うと1ブロックあた...
printf(" register / block : %d\n", dev.regsPerBlock);
が該当する部分である.
また,フリーソフトの[[CUDA-Z:http://cuda-z.sourceforge.ne...
1ブロックあたりのレジスタ数は,Coreタブの Regs Per Block ...
ちなみにGeForceGTX680の環境では65,536となる.
この値ならば上記のカーネルを1024スレッド/ブロックで実行し...
終了行:
[[CUDA]]
**too many resources requested for launch [#vac860b6]
CUDA実行時に too many resources requested for launch とエ...
これはカーネルが用いているレジスタ数などが多すぎるという...
GPUでは多数のスレッドを並列実行できるが,このスレッドを取...
グリッド -> ブロック -> スレッド
という階層構造を持っており,1ブロックが多数のスレッドを持...
1ブロックが持てる最大スレッド数は環境に依存する.
同様に1ブロックが持つレジスタ数も環境によって異なる.
上記のエラーを直すために,現在のカーネルが使っているレジ...
現在の環境で使えるレジスタ数/ブロックも知る必要がある.
**カーネルが使っているレジスタ数を調べる [#hed1d94f]
CUDAコンパイラであるnvccでコンパイルするときに --ptxas-op...
ptxas : info : Used 45 registers, 384 bytes cmem[0], 8 b...
といった情報がコンパイルの結果として表示される.
Visual StudioでCUDAを用いている場合は,
調べたいcuファイルのプロパティで
CUDA C/C++ -> Device -> Verbose PTXAS Output
を"はい"にすると,コンパイル時に出力ウィンドウに上記のよ...
この例だとこのカーネルはレジスタを45用いている.
例えば,1024スレッド/ブロックとしていたならば,45*1024 = ...
**環境が対応しているレジスタ数を調べる [#ka6dba5f]
[[デバイス情報の取得]]で説明した方法を使うと1ブロックあた...
printf(" register / block : %d\n", dev.regsPerBlock);
が該当する部分である.
また,フリーソフトの[[CUDA-Z:http://cuda-z.sourceforge.ne...
1ブロックあたりのレジスタ数は,Coreタブの Regs Per Block ...
ちなみにGeForceGTX680の環境では65,536となる.
この値ならば上記のカーネルを1024スレッド/ブロックで実行し...
ページ名: