Ich habe mit dem NVIDIA-Profiler (nvprof) herum spielen und es gibt zwei bestimmte Metriken, die ich nicht verstehe:Verschiedenes und Inter-Thread Kommunikation Anleitung in CUDA
inst_inter_thread_communication
Number of inter-thread communication instructions executed by non-predicated threads
inst_misc
Number of miscellaneous instructions executed by non-predicated threads
Ich frage mich nur, was Anweisungen wären Inter-Thread-Kommunikationsanweisungen und welche Anweisungen würden unter Verschiedenes fallen.
Referenz: http://docs.nvidia.com/cuda/profiler-users-guide/#metrics-reference
Inter-Thread-Kommunikation wäre Shuffle-Funktionen, http://docs.nvidia.com/cuda/cuda-c-programming-guide/#warp-shuffle-Funktionen und möglicherweise Thread-Sync-Funktionen oder Memory-Fence-Funktionen. Verschiedenes ist alles, was nicht durch die anderen aufgezeichneten Anweisungen abgedeckt ist. Ich bin mir nicht ganz sicher, aber ich vermute, sie könnten entlang der Linien von Char-Operationen, Vergleichsoperationen, Schleifen-Overhead, spezielle Funktionsoperationen, Overhead für Gerätefunktionen, im Kernel-Speicher malloc. –