На суперкомпьютере МВС-10П ОП организована поддержка пакета cp2k, предназначенного для ab initio и DFT квантово-химических расчетов. Полное руководство с описанием всех доступных методов и опций доступно по ссылке https://www.cp2k.org/.
Пакет поддерживает параллельность в рамках OpenMP и MPI.
Пример скрипта-обёртки для запуска на одном узле в гибридном режиме MPI+OpenMP (run.sh) находится в директории /home2/vasp/SOFT_intel_21.4/cp2k/EXAMPLE. Вы можете скопировать его в свою проектную директорию и использовать индивидуально.
Пример запуска задачи cp2k на 1 вычислительном узле с 16-ю MPI-процессами с 4-я потоками для каждого MPI процесса:
mbatch -np 16 -s broadwell -maxtime 5 run.sh 4
4 – число нитей OpenMP (потоков)
«-np 16» – запрашиваемое число MPI процессов
«-s broadwell» – указание подраздела суперкомпьютера (в данном случае broadwell)
«-maxtime 5» – максимальное время счета (в данном случае 5 минут)
«run.sh» – имя скрипт-программы запуска задачи
«test» – имя файла задачи без расширения .in , в примере test.in
Для запуска настоящей задачи следует использовать больший параллелизм, выделяя не менее 4 вычислительных узлов.
mbatch -s broadwell -np 64 -ppn 16 -maxtime 5 run.sh 4
«-ppn 16» – количество MPI процессов на один вычислительный узел.
При этом, необходимо учесть, что, по-умолчанию, при помощи команды постановки задания в очередь “mbatch” с параметром “np=X”, выделится ( Х/”число MPI процессов на узел, заданное для соответствующего раздела в конфигурации системы” с округлением вверх ) вычислительных узлов.
По-умолчанию, для разделов в конфигурации очереди заданий SUPPZ указано следующее количество MPI процессов на один вычислительный узел: broadwell – 32, skylake – 72, clk – 48 и icelake – 64.
Таким образом, задание будет запущено на всех 256 ядрах 4-х выделенных вычислительных узлов ( 64 MPI процесса * 4 OMP потока).
Стоит также присмотреться ко времени выполнения расчетов и, возможно, увеличить вдвое число процессов и/или потоков на один вычислительный узел.
С вопросами по использованию пакета обращайтесь в поддержку.