Я бы хотел рассчитать интенсивность вычислений моего кода, но он работает с integers
, а не floats
. Я думал о подсчете количества операций с PAPI, но аппаратное обеспечение не обеспечивает счетчиков для целых операций. Как я могу это сделать?Подсчет целых операций на Sandy Bridge
ответ
инструмент Лакей VALGRIND даст вам операцию ALU подсчитывает, если вы укажете --detailed-отсчеты = да: http://valgrind.org/docs/manual/lk-manual.html
Я думаю, что операции, такие как предварительная выборка (которую я НЕ хочу подсчитывать), также учитываются, нет? – a3mlord
Попробуй и посмотри. :) –
Как я могу узнать, работает ли это, глядя на выход ?! Единственное, что я могу сделать, это попробовать его на очень маленьком коде, чей номер. операций, которые я знаю. – a3mlord
Как насчет подсчета всех инструкций? Например. callgrind может это сделать. –
К сожалению, это требует большего количества инструкций, которые нам нужны. Мы хотим рассчитать фактические арифметические операции, в то время как это будет учитывать и другие типы инструкций. – a3mlord