Когда мы используем CUDA
профилировщик nvvp
, есть несколько «накладных расходов», связанных с инструкциями, например:
- Накладные расходы на расхождение ветвей;
- Накладные расходы на воспроизведение общей/глобальной памяти; а также
- Накладные расходы на воспроизведение локального/глобального кэша.
Мои вопросы:
- Чем вызваны эти накладные расходы? И
- как они вычисляются?
- Аналогичным образом, как рассчитывается глобальная эффективность загрузки/хранения?
Приложение: я нашел все формулы, вычисляющие эти накладные расходы, в «Руководстве пользователя CUDA Profiler», упакованном в набор инструментов CUDA5.