Примечание: бесстыдная экстраполяция моего комментария для максимально возможного количества повторений.
PAPI имеет две высокоуровневые API-функции, называемые PAPI_flips и PAPI_flops, которые можно использовать для записи FLOPS, а также количества операций с плавающей запятой. Кроме того, PAPI предлагает множество других возможностей мониторинга счетчиков производительности, в зависимости от архитектуры вашего процессора ... кэш, шина, память, ветви и т. Д. Я думаю, что появляется поддержка или поддержка для графических ускорителей и CUDA / GPGPU.
PAPI нужно будет установить в вашей системе, но я думаю, что он достаточно распространен, чтобы установка не была слишком болезненной, если вы знаете, что делаете.
Приятной особенностью PAPI является то, что вам не нужно ничего знать о коде; просто настройте его (интерфейс такой же, как секундомер для FLOPS) и запустите его. Он основан на реальном динамическом выполнении вашей программы, поэтому он учитывает вещи, которые трудно объяснить аналитически, такие как (псевдо) случайное поведение, ввод данных пользователем / переменной и связанные ветви.