Je vois que nvprof peut profiler le nombre de flop dans le noyau (en utilisant les paramètres ci-dessous). Aussi, lorsque je feuillette la documentation (ici http://docs.nvidia.com/cuda ... il est dit que flop_count_sp est "Nombre d'opérations à virgule flottante simple précision exécutées par des threads non-prédicats (ajouter, multiplier, multiplier-accumuler et spécial). contribue 2 au comte. »Les sorties nvprof de Nvidia pour FLOPS
Cependant quand je lance, le résultat de flop_count_sp
(qui est censé être flop_count_sp_add
+ flop_count_sp_mul
+ flop_count_sp_special
+ 2 * flop_count_sp_fma
) Je trouve qu'il ne comprend pas la somme de la valeur de flop_count_sp_special
Pourriez-vous me suggérer ce que je suis supposé utiliser? Devrais-je ajouter cette valeur à la somme de flop_count_sp
ou je devrais considérer t La formule n'inclut pas la valeur de flop_count_sp_special
?
Pourriez-vous également me dire quelles sont ces opérations spéciales?
J'utilise la ligne de commande suivante:
nvprof --metrics flops_sp --metrics flops_sp_add --metrics flops_sp_mul --metrics flops_sp_fma --metrics flops_sp_special myKernel args
Où myKernel
est le nom de mon noyau CUDA qui a des arguments d'entrée donnés par args.
Une partie de mes sorties nvprof par exemple est comme indiqué ci-dessous:
==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
Pouvez-vous fournir les valeurs pour les événements/mesures individuels? Votre ligne de commande ne me semble pas valide, il n'y a pas de métrique comme 'flops_sp *'. – Tom