Как мне использовать только реальный тест SPEC CPU2006 с пин-кодом Intel? - PullRequest
1 голос
/ 22 июня 2019

Я пытался использовать тесты SPEC CPU2006 с помощью Intel Pin на Ubuntu. У меня есть Pintool с простым симулятором кэша, который считает чтение и запись. При запуске Pintool по команде runpec -nonreportable для определенного теста я получаю нужные данные. Однако результаты разных тестов практически не различаются. Мой pintool, похоже, не является проблемой, так как он работает правильно в других приложениях. Я подозреваю, что результаты связаны с тем, что Pintool контролирует все, включая настройку эталонного теста.

То, что я ранее делал, это просто запуск pintool по команде runpec. Я также пытался использовать «--action build» и «--action setup» перед использованием runpec, чтобы уменьшить накладные расходы, но, похоже, в любом случае выполняет большую часть той же настройки. Я знаю, что в SPEC CPU 2006 есть ловушки для мониторинга, где я могу запускать дополнительные команды непосредственно перед запуском теста, и я думаю, что есть возможность использовать их, но я точно знаю, как это сделать. Может быть, крюк 'monitor_wrapper' является наиболее подходящим? Может быть, мне удастся как-нибудь взять pid и прикрепить мой pintool к правильному процессу, как только начнется тест? Супер благодарен за любую помощь, которую я могу получить!

1 Ответ

1 голос
/ 06 июля 2019

Возможно, вы просто используете runspec, который запускается в процессе, который создает другой процесс, в котором выполняется эталонный тест. У вас есть два варианта: либо указать Pin следовать дочерним процессам (используя опцию -follow_execv), либо напрямую добавить Pin в процесс теста, когда он создается (запустив тест с использованием specinvoke вместо runspec).

...