Я хочу использовать PAPI 5.5.1 , чтобы проверить характеристики некоторых моих текстовых алгоритмов, чтобы наблюдать различия в циклах, количестве неверных прогнозов и конвейере. Я проверил собственные события , предоставленные библиотекой, и подтвердил, что они поддерживаются моим компьютером с помощью инструментов papi_avail .
Хорошо работает, когда я пытаюсь измерить до 5 собственных событий одновременно. Но после этого PAPI отказывается начинать считать.
Вот мои упрощенные вещи:
#define NB_EVENTS 6
int CS_Events[NB_EVENTS] = {PAPI_BR_INS, PAPI_BR_MSP, PAPI_TOT_CYC, PAPI_TOT_INS, PAPI_RES_STL, PAPI_TOT_IIS};
PAPI_start_counters(CS_Events, NB_EVENTS); /* return PAPI_ECNFLCT */
PAPI_ECNFLCT описание :
Аппаратное событие существует, но не может быть подсчитано из-за ограничений ресурса счетчика
Я больше не нашел об этом в документации по PAPI / perf. (Мне интересны процессоры x86 (32 | 64) и ARM).
Так что, кажется, есть аппаратное ограничение для счетчиков?
Существует ли значение табличного процессора / лимита, чтобы его узнать?
Есть ли другой способ сделать это?