Моя система: система 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
1722484672
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
[b]Мой вопрос: почему во второй раз я назначил программе еще одно ядро (ядро 1), но время работы должно быть больше (15,98 секунды против 45,01 секунды), и загрузка процессора очень низкая (2,98 против 1,07)[/b]
Вот тестовый код, который я выполнил.
Подробнее здесь: [url]https://stackoverflow.com/questions/78819076/how-come-one-shared-busy-cpu-core-can-impact-openmps-overall-cpu-utilization[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия