2017-06-06 7 views
4

これは、nvprofがカーネル内のフロップの数をプロファイルできることを示しています(下記のパラメータを使用してください)。また、ドキュメントを参照するとき(ここではhttp://docs.nvidia.com/cuda ... flop_count_spは「述語以外のスレッドによって実行される単精度浮動小数点演算の数(加算、掛け算、掛け算累積、特殊)」です)各積和演算数に2を貢献する。」FLVのためのNvidiaのnvprof出力

しかし、私が実行したときに、(flop_count_sp_add + flop_count_sp_mul + flop_count_sp_special + 2 * flop_count_sp_fmaことになっている)flop_count_spの結果、私はそれが合計でflop_count_sp_specialの値が含まれていないことが判明。

あなたは私に何を使用すべきかを提案できますか?この値をflop_count_spの合計に加えるべきか、彼の式にはflop_count_sp_specialの値は含まれていませんか?

また、これらの特別な操作について教えてください。

私は、次のコマンドラインを使用しています:myKernelは、引数で与えられたいくつかの入力引数を持っている私のCUDAカーネルの名前です

nvprof --metrics flops_sp --metrics flops_sp_add --metrics flops_sp_mul --metrics flops_sp_fma --metrics flops_sp_special myKernel args 

例えば私nvprof出力のセクションは、以下のように示される:

==20549== Profiling result: 
==20549== Metric result: 
Invocations        Metric Name      Metric Description   Min   Max   Avg 
Device "Tesla K40c (0)" 
    Kernel: mykernel(float*, int, int, float*, int, float*, int*) 
      2        flop_count_sp Floating Point Operations(Single Precisi  70888  70888  70888 
      2       flop_count_sp_add Floating Point Operations(Single Precisi  14465  14465  14465 
      2       flop_count_sp_mul Floating Point Operation(Single Precisio  14465  14465  14465 
      2       flop_count_sp_fma Floating Point Operations(Single Precisi  20979  20979  20979 
      2      flop_count_sp_special Floating Point Operations(Single Precisi  87637  87637  87637 
+1

個々のイベント/指標の値を指定できますか?あなたのコマンドラインは私にとっては有効ではないようですが、 'flops_sp *'のようなメトリックはありません。 – Tom

答えて

6

「特別な」操作がProgramming Guideで演算スループットの表に記載され、それらは:逆数、レシプSQRT、ログexp、sin、cos。これらはデフォルトのバージョンよりも精度は劣りますが、高速であることに注意してください。組み込み関数またはコンパイラフラグ(-use_fast_math)を使用してオプトインする必要があります。

ドキュメントに記載されている内容にもかかわらず、特別な操作はflop_count_spの合計に含まれていないようです。これは現在のバージョン(8.0)のバグです。私はバグを提出したので、将来のリリースで修正する必要があります(この段落はある時点で古くなるでしょう)。

+0

特別な操作を指摘し、バグを報告してくれてありがとう。しかし、私はカーネルでこれらの特別な操作を使用していないので、 "flop_count_sp_special"の値に "87637"という値を与えることができたのは不思議です。 – Amit

+0

ここで自分のコードを共有しました(https://bitbucket.org/rajgurung777/blogqueryproject)。 カーネル実装はsimplex.cuファイル – Amit

+0

にありますか?バグページにリンクできますか? – einpoklum

関連する問題