Если в качестве нескольких онлайн-ресурсов, в том числе this one, укажите количество выполненных инструкций + количество повторов = количество выданных инструкций, а если количество повторов положительно, то как ядро CUDA может иметь следующие свойства (от nvprof)?Как количество выполненных инструкций может превышать количество выданных инструкций?
Invocations Avg Min Max Event Name
1 69161760 69161760 69161760 inst_executed
1 37263115 37263115 37263115 inst_issued1
1 19130919 19130919 19130919 inst_issued2
(inst_issued = inst_issued1 + inst_issued2 = 37263115 + 19130919; ratio = inst_executed/inst_issued > 1).
Является
inst_issued = inst_issued1 + inst_issued2
правильная формула для общего количества поручений? Имеются ли инструкции, отличные от ядра, кроме * изданных1 и * выпущенных2? Если да, то как они могут быть профилированы?
В сети я не вижу ясных ответов на свои вопросы. Например, моя версия nvprof -query-events дает только три параметра в качестве возможных аргументов --events. Там также не упоминается об этом в документации по программированию CUDA, вышеприведенной ссылке или какой-либо из других десяти или около того ссылок, которые я прочитал об этом, относятся к оптимизации инструкций CUDA.
Дополнительная информация:
0) Я бегу CUDA 5.0 и компиляции с NVCC -m64 -arch = sm_30.
1) Я запускаю только математическую версию моего ядра, и поскольку он не имеет давления в регистре, количество обращений к глобальной памяти пренебрежимо мало.
2) У меня нет доступа к визуальному профилировщику nVidia, поэтому я не уверен, что он даст мне ответы, отличные от приведенных выше.
Большое спасибо и извиняюсь заранее, если это глупо.
Спасибо. В конце концов, это было глупо. – user1445860