На суперкомпьютере МВС-10П ОП (mvs10q) организована поддержка пакета Q-Chem (https://www.q-chem.com), предназначенного для ab initio и DFT квантово-химических расчетов.

Полное руководство с описанием всех доступных методов и опций доступно по ссылке https://manual.q-chem.com/. Обладая широкой функциональностью, Q-Chem зачастую бывает в 5 раз быстрее, чем такие популярные программы как GAMESS(US), NWChem, Gaussian.

Пакет установлен с лицензией МСЦ РАН, отдельные лицензии для пользователей не требуются.
По условиям лицензионного соглашения версия пакета меняется ежегодно. Ищите последнюю версию в каталоге /opt/cluster_software/qchem (более ранние версии ищите /home2/qchem/Q-Chem).

Пакет поддерживает параллельность в рамках OpenMP на одном узле. Режимы MPI и MPI+OpenMP в последней версии пока не поддерживаются.

Скрипты-обёртки для запуска на одном узле в режиме OpenMP (qcs_wrap.sh) находятся в директории /opt/cluster_software/qchem/jscc_example
Скрипты можно скопировать в свою проектную директорию и использовать индивидуально.

Для корректной работы пакета не забудьте загрузить модули:

module purge
module load compiler/latest
module load mpi/latest
module load mkl/latest
module load suppz

Пример запуска задачи «test.in» на одном вычислительном узле с 32 потоками:

export OMP_NUM_THREADS=32; mbatch -np 1 -s broadwell -maxtime 10 qcs_wrap.sh test 32
«-np 1» – запуск одного процесса (не менять!)
«-s broadwell» – указание подраздела суперкомпьютера (в примере broadwell)
«-maxtime 10» – максимальное время счета (в примере 10 минут)
«qcs_wrap.sh» – скрипт запуска задачи на одном узле
«test» – имя файла задачи без расширения .in , в примере test.in
Рекомендуем указывать 32 потока для broadwell, 36 для skylake, 48 для clk

С вопросами по использованию обращайтесь
vasp_admin@jscc.ru

_______________________________________________________________________________________________
Архивная информация

mbatch -np 1 -s broadwell -maxtime 10 qcs_wrap.sh test 32
«-np 1» – запуск одного процесса (не менять!)
«-s broadwell» – указание подраздела суперкомпьютера (в примере broadwell)
«-maxtime 10» – максимальное время счета (в примере 10 минут)
«qcs_wrap.sh» – скрипт запуска задачи на одном узле
«test» – имя файла задачи без расширения .in , в примере test.in
Рекомендуем указывать 32 потока для broadwell, 36 для skylake, 48 для clk

Для параллельного запуска в режиме MPI или MPI+OpenMP необходимо загрузить модули intel mpi и др. (проверено с mpi/intel/2017.4.196 и mpi/intel/2021.4.0).

Пример запуска задачи в режиме MPI+OpenMP:

mbatch -ppn 8 -np 32 -s broadwell -maxtime 10 qcp_wrap.sh test 4
«-ppn 8 -np 32» – запускается 32 процесса по 8 на узел
«-s broadwell» – указывается нужную очередь (в примере broadwell)
«-maxtime 10» – указать время счета (в примере 10 минут) qcp_wrap.sh – скрипт запуска задачи на нескольких узлах «test» имя задачи без расширения .in , в примере test.in
«4» – это количество OpenMP потоков на один параллельный процесс. В данном примере мы запускаем по 8 MPI процессов на узлы, на которых 32 ядра (Broadwell), таким образом, 32/8=4.

В случае запуска той же задачи в режиме MPI без использования OpenMP:

mbatch -np 128 -s broadwell -maxtime 10 qcp_wrap.sh test 1
128 – количество процессов,
1 – количество потоков на один процесс.

Как запускать конкретную задачу на самом деле определяется исключительно спецификой задачи – какой метод, какой размер задачи, сколько нужно памяти…

В шапке скрипта qcp_wrap.sh есть указание переменных среды:
export QC=/home2/qchem/Q-Chem
export QCAUX=$QC/qcaux
export QCSCRATCH=/tmp source $QC/qcenv.sh
export QCMPIRUN=mpiexec
export QCMPI=mpich3

Значение переменной среды QCSCRATCH необходимо изменить, указать подкаталог для временных файлов у вас в проектном каталоге. Для временных файлов рекомендуется использовать каталог, выделенный проекту на системе хранения LUSTRE. Регламент её использования можно найти на сайте МСЦ РАН в разделе «Вычислительные ресурсы» (/documents/2021/03/lustre-1-0.pdf).

С вопросами по использованию пакета можно обращаться к администратору