Оптимизация производительности Quantum Espresso (PWSCF)

вопросы строения молекул и квантовой химии
Ответить
Metalian
Сообщения: 96
Зарегистрирован: Чт июл 05, 2007 4:39 pm

Оптимизация производительности Quantum Espresso (PWSCF)

Сообщение Metalian » Чт июн 30, 2022 7:00 pm

В последние годы от кластерных расчётов перешёл к периодике, использую Quantum Espresso (PWSCF, NEB).
И заметил недавно некоторые неприятные вещи.
Во-первых, попытка перейти с Ubuntu 20.04 на 22.04 (в репозитории первой QE 6.4.1, в репозитории второй 6.7, кажется) оказалась не очень удачной: один и тот же расчёт на одной и той же машине при тех же параметрах командной строки стал идти раза в 3-4 медленнее, и это проявлялось и на AMD FX, и на AMD Ryzen 9! Все необходимые пакеты (OpenMPI, BLAS, LAPACK, FFTW3, ATLAS и т.д.) поставлены, даже проглядывал полностью список установленных пакетов для нормальной работы под 20.04 - разницы нет. Пробовал собирать из исходников, также пробовал MPICH3 вместо OpenMPI - разница незначительная в ту или другую сторону, и всё равно существенно медленнее, чем было под 20.04.
Где копать?

Другой момент. Запускаю расчёт на стареньком Phenom II x4 (4 ядра) и его же на Ryzen 7 2700 (16 логических ядер, так что mpirun -np 16 --use-hwtread-cpus), и ускорение выходит чуть ли не меньше, чем в 2 раза. Может, важно грамотно распараллелить расчёт при использовании 16 или 32 потоков, прописав -ni, -nk, -nt, -nd? Есть какие-то принципы, по которым это логично делать?

Sartorius84
Сообщения: 1073
Зарегистрирован: Ср фев 26, 2014 11:22 am

Re: Оптимизация производительности Quantum Espresso (PWSCF)

Сообщение Sartorius84 » Чт июн 30, 2022 10:04 pm

Вы не одиноки https://bugs.launchpad.net/ubuntu/+sour ... ug/1973434
https://askubuntu.com/questions/1406263 ... s-too-slow - советуют пересобрать ядро еще, но конечно вариант с intel_iommu проще :)

Metalian
Сообщения: 96
Зарегистрирован: Чт июл 05, 2007 4:39 pm

Re: Оптимизация производительности Quantum Espresso (PWSCF)

Сообщение Metalian » Пт июл 01, 2022 12:45 pm

Понял, спасибо! Попробую на днях поэкспериментировать.
Теперь бы ещё по второму вопросу получить ответ.

Sartorius84
Сообщения: 1073
Зарегистрирован: Ср фев 26, 2014 11:22 am

Re: Оптимизация производительности Quantum Espresso (PWSCF)

Сообщение Sartorius84 » Пт июл 01, 2022 1:39 pm

Metalian писал(а):
Пт июл 01, 2022 12:45 pm
Понял, спасибо! Попробую на днях поэкспериментировать.
Теперь бы ещё по второму вопросу получить ответ.
А он связан с первым. Если этот QE использует GPU (похоже на то, по крайней мере в реестре Nvidia QE есть), то не все от CPU зависит. Попробуйте посмотреть как загружены ядра и видеокарта при работе этого приложения.

Metalian
Сообщения: 96
Зарегистрирован: Чт июл 05, 2007 4:39 pm

Re: Оптимизация производительности Quantum Espresso (PWSCF)

Сообщение Metalian » Пт июл 01, 2022 2:00 pm

Sartorius84 писал(а):
Пт июл 01, 2022 1:39 pm
Если этот QE использует GPU (похоже на то, по крайней мере в реестре Nvidia QE есть), то не все от CPU зависит. Попробуйте посмотреть как загружены ядра и видеокарта при работе этого приложения.
Я считаю только на ядрах, видюхи самые простые стоят. Разработчики вроде в последних версиях уже тоже для CUDA всё сделали, но сами рекомендуют считать на ядрах.

Metalian
Сообщения: 96
Зарегистрирован: Чт июл 05, 2007 4:39 pm

Re: Оптимизация производительности Quantum Espresso (PWSCF)

Сообщение Metalian » Вт июл 05, 2022 7:05 pm

Отключил intel_iommu в 22.04. В результате при почти 100% загрузке ядер Phenom II x4 965 (4 ядра, 3.4 ГГц) в Ubuntu 20.04, QE 6.4.1 считал мою небольшую задачу за 15,5 минут, а FX-8350 (8 ядер, 4.0 ГГц) в Ubuntu 22.04, QE 6.7MaX - за 17,5 минут (а до отключения опции вообще считал 2 часа!). Странно это...
Ладно, попробовал поставить задачку побольше.

Sartorius84
Сообщения: 1073
Зарегистрирован: Ср фев 26, 2014 11:22 am

Re: Оптимизация производительности Quantum Espresso (PWSCF)

Сообщение Sartorius84 » Ср июл 06, 2022 12:53 pm

Metalian писал(а):
Вт июл 05, 2022 7:05 pm
Отключил intel_iommu в 22.04. В результате при почти 100% загрузке ядер Phenom II x4 965 (4 ядра, 3.4 ГГц) в Ubuntu 20.04, QE 6.4.1 считал мою небольшую задачу за 15,5 минут, а FX-8350 (8 ядер, 4.0 ГГц) в Ubuntu 22.04, QE 6.7MaX - за 17,5 минут (а до отключения опции вообще считал 2 часа!). Странно это...
Ладно, попробовал поставить задачку побольше.
Попробуйте лог прописать для CPU - хотя бы температура, частота, загрузка. И что за память стоит с CPU в паре?

Metalian
Сообщения: 96
Зарегистрирован: Чт июл 05, 2007 4:39 pm

Re: Оптимизация производительности Quantum Espresso (PWSCF)

Сообщение Metalian » Ср июл 06, 2022 1:37 pm

Взял задачку побольше - так на FX-8350 она посчиталась за 5,5 часов, хотя на Ryzen 7 2700 (8 ядер, 16 потоков) в 20.04, QE 6.4.1 считалась 7 часов!

Температура приличная, до 90 градусов в пике, обычно примерно 60-70. На холодных процах (Ryzen 7 2700) - пониже.
Загрузка под 100%.
Память на Ryzen 7 2700 стоит DDR4 2933 (та, что быстрее не работает с ним нормально). На FX-8350 - DDR3 1866, на Phenom II x4, вероятно, какая-то DDR2 (там сейчас винт полетел, машина пока не в работе).

Ответить

Вернуться в «квантовая химия и моделирование»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя