Как одно общее загруженное ядро ​​процессора может повлиять на общую загрузку процессора openmp?Linux

Ответить Пред. темаСлед. тема
Anonymous
 Как одно общее загруженное ядро ​​процессора может повлиять на общую загрузку процессора openmp?

Сообщение Anonymous »

Моя система: система Linux, 12 ядер, изолированные ядра 2–11. Использование ядер 0 и 1 какой-то другой программой почти на 100%. Все остальные ядра простаивают.
первый раунд теста.
export GOMP_CPU_AFFINITY=2,3,4
export PARALLEL_ENSEMBLE_THREADS=3

taskset -c $GOMP_CPU_AFFINITY perf stat -d ./test_openmp

Вывод:
Performance counter stats for './test_openmp':

47,654.74 msec task-clock:u # 2.981 CPUs utilized
0 context-switches:u # 0.000 /sec
0 cpu-migrations:u # 0.000 /sec
115,358 page-faults:u # 2.421 K/sec
159,245,881,934 cycles:u # 3.342 GHz
250,009,309,156 instructions:u # 1.57 insn per cycle
20,002,132,172 branches:u # 419.730 M/sec
117,268 branch-misses:u # 0.00% of all branches
110,002,614,320 L1-dcache-loads:u # 2.308 G/sec
10,796,435,741 L1-dcache-load-misses:u # 9.81% of all L1-dcache accesses
0 LLC-loads:u # 0.000 /sec
0 LLC-load-misses:u # 0.00% of all LL-cache accesses

15.986638336 seconds time elapsed

47.175831000 seconds user
0.414928000 seconds sys


тест второго тура.
export GOMP_CPU_AFFINITY=1,2,3,4
export PARALLEL_ENSEMBLE_THREADS=4

taskset -c $GOMP_CPU_AFFINITY perf stat -d ./test_openmp

выход
pid: 4118342

Performance counter stats for './test_openmp':

48,241.03 msec task-clock:u # 1.072 CPUs utilized
0 context-switches:u # 0.000 /sec
0 cpu-migrations:u # 0.000 /sec
119,879 page-faults:u # 2.485 K/sec
161,605,704,451 cycles:u # 3.350 GHz
250,011,376,400 instructions:u # 1.55 insn per cycle
20,002,726,448 branches:u # 414.641 M/sec
118,657 branch-misses:u # 0.00% of all branches
110,002,938,510 L1-dcache-loads:u # 2.280 G/sec
10,796,444,713 L1-dcache-load-misses:u # 9.81% of all L1-dcache accesses
0 LLC-loads:u # 0.000 /sec
0 LLC-load-misses:u # 0.00% of all LL-cache accesses

45.012033357 seconds time elapsed

47.764469000 seconds user
0.399934000 seconds sys

Мой вопрос: почему во второй раз я назначил программе еще одно ядро ​​(ядро 1), но время работы должно быть больше (15,98 секунды против 45,01 секунды), и загрузка процессора очень низкая (2,98 против 1,07)
Вот тестовый код, который я выполнил.


Подробнее здесь: https://stackoverflow.com/questions/788 ... tilization
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»