Как узнать количество существующих потоков OpenMP в многоядерной системе - PullRequest
0 голосов
/ 18 февраля 2012

У меня есть 8-ядерная система, в которой я запускаю программу, скажем, A с 8-ю потоками, а затем я вызываю другую программу B с 4-мя потоками, таким образом перегружая систему (при условии однозначного сопоставления потоков между приложением и процессором).

Я хочу проанализировать это поведение перегрузки процессора и, следовательно, необходимо точно определить количество запущенных потоков в системе.В приведенном выше примере мне нужно получить информацию о том, что там запущено 12 (A, 8 + B, 4) потоков.Могу ли я получить эту информацию из ядра или среды выполнения OpenMP.

Я пытался получить длину очереди выполнения, используя "sar -q 1 0", но длина q может изменяться, возможно, из-за ядра.

...