PAPI: что означают контрольные циклы часов?
Я использую PAPI liberary для настройки и профилирования моего приложения.
Я хочу знать, что на самом деле означает (PAPI_REF_CYC: опорные такты)?
Заранее спасибо,
1 ответ
Некоторые современные процессоры, в том числе Intel и AMD, ограничены.
Это означает, что их часы не являются фиксированными, а различаются в зависимости от активного управления питанием - даже если частота процессора ЦП составляет X ГГц, чаще всего он не работает на этой частоте.
Для примера нескольких реальных технологий см. Технологию Intel Turbo Boost / ядро AMD Turbo и технологию Intel Enhanced Speedstep / технологию AMD Quiet'n'Cool.
Поскольку тактовая частота ядра может замедляться или ускоряться, сравнивать два разных показателя не имеет смысла.
Наличие фрагмента A для запуска в 100 основных тактовых генераторах и фрагмента B в 200 основных тактовых частотах означает, что B в целом медленнее (требуется вдвое больше работы), но не обязательно, чтобы B занимало больше времени, чем A, поскольку единицы измерения разные. Вот где в игру вступают опорные часы - они единообразны.
Если фрагмент A работает с 100 ссылочными часами, а фрагмент B - с 200 ссылочными часами, то B действительно потребовалось больше времени, чем A.
Преобразовать тактовые импульсы во время (например, секунды) не так просто, каждый процессор использует разную опорную частоту, даже среди процессоров с одинаковым брендом.