Моя система: система 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
Как одно общее загруженное ядро процессора может повлиять на общую загрузку процессора openmp? ⇐ Linux
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Intel OpenMP и LLVM OpenMP конфликтуют с MacOS без использования conda
Anonymous » » в форуме Python - 0 Ответы
- 84 Просмотры
-
Последнее сообщение Anonymous
-