2012-10-12 4 views
0

perfuse (내부적으로 papi를 사용)를 사용하여 함수 주위의 성능 카운터를 측정하려고합니다. 이 함수는 코어 당 하나의 스레드를 생성합니다. 문제는 함수 호출 전에 카운터를 시작하고 호출 후에 카운터를 중지하면 해당 카운터에 대해 잘못된 값을 얻게된다는 것입니다. 그러나 함수가 스레드를 만들지 않으면 올바른 값을 얻습니다.모든 핵심에 perfsuite 사용

psrun은 실행 파일의 모든 코어에 대한 카운터를 얻을 수 있음을 알고 있습니다. 하지만 함수 호출에 대해서도 동일한 기능을 원합니다.

데비안의 C에서 papi 4.4.0을 사용하여 perfsuite 1.1.1을 사용하고 있습니다.

답변

0

PAPI 카운트는 스레드가 아니라 코어를 기준으로합니다. 후자를 원한다면 코어 당 카운트를 제공 할 수있는 인텔 pcm을 사용하는 것이 좋습니다.

질문에 대한 대답은 무엇입니까?

tjr

+0

답장을 보내 주셔서 감사합니다. 나는 PCM이 어떻게 작동하는지 모른다. 그리고 당신이 PAPI에 대해 주장하는 것이 사실이라는 것이 확실하지 않습니다. 어쨌든 내 스레드는 선호도를 사용하여 코어 당 하나씩 실행됩니다. 그래서, PAPI는 내가해야하는 일을해야합니다. – Rakib