[mephi-hpc] Проблема компиляции QE на кластере cherenkov

anikeev anikeev at ut.mephi.ru
Tue Sep 6 15:27:05 MSK 2022


On Sat, 2022-09-03 at 07:50 +0000, Гараев Дамир Ильдарович wrote:
> Добрый день!

Здравствуйте!

> При компиляции QuantumEspresso с реализацией MPI - OpenMPI на
> кластере cherenkov столкнулся со следующей проблемой:
> 
> Порядок моих действий следующий:
> 
> 1) source /opt/openblas-0.3.13/customvars.sh
> 
> 2) source /opt/fftw-3.3.9/double/customvars.sh
> 
> 3) export LAPACK_LIBS="-L/usr/lib/libblacs-openmpi.so.1 -lopenblas"
> 
> 4) export BLAS_LIBS="-L/usr/lib/libblacs-openmpi.so.1 -lopenblas"
> 
> 5) export SCALAPACK_LIBS="-L/usr/lib/libscalapack-openmpi.so.1.8.0 -
> lscalapack"
> 
> 6) ./configure
> 
> Результат получается такой:
> 
> ESPRESSO can take advantage of several optimized numerical libraries
> (essl, fftw, mkl...).  This configure script attempts to find them,
> but may fail if they have been installed in non-standard locations.
> If a required library is not found, the local copy will be compiled.
> 
> The following libraries have been found:
>   BLAS_LIBS=-L/usr/lib/libblacs-openmpi.so.1 -lopenblas
>   LAPACK_LIBS=-L/usr/lib/libblacs-openmpi.so.1 -lopenblas
>   SCALAPACK_LIBS=-L/usr/lib/libscalapack-openmpi.so.1.8.0 -lscalapack
>   FFT_LIBS= -lfftw3
> 
> 
> 
> Please check if this is what you expect.
> 
> If any libraries are missing, you may specify a list of directories
> to search and retry, as follows:
>   ./configure LIBDIRS="list of directories, separated by spaces"
> 
> Parallel environment detected successfully.\
> Configured for compilation of parallel executables.
> 
> For more info, read the ESPRESSO User's Guide (Doc/users-guide.tex).
> --------------------------------------------------------------------
> configure: success
> 
> 
> 7) make -j2 pw
> 
> В этот момент появляется ошибка:
> 
> /usr/bin/ld: cannot find -lscalapack
> collect2: error: ld returned 1 exit status
> make[2]: *** [Makefile:314: pw.x] Error 1
> 
> Подскажите, как возможно решить данную проблему? Возможно я в чем то
> ошибаюсь?
> 
> Версия QE - qe-7.1.

Конфигураторы QE имеют определенные особенности. При конфигурации QE
через ./configure не вполне понятно, как можно выбирать версии желаемых
векторных библиотек. По умолчанию QE использует Intel MKL из состава
Intel One API (эти проприетарные библиотеки, они на кластере есть,
использовать их можно, особенности лицензии есть в руководстве
пользователя). Для использования OpenBLAS и FFTW нужно править файл
make.inc, получаемый после работы ./configure.

Настроить использование OpenBLAS и FFTW можно более просто, если
использовать для конфигурации не ./configure, а cmake. Для этого случая
есть официальная документация:

https://www.quantum-espresso.org/Doc/user_guide/node10.html
https://gitlab.com/QEF/q-e/-/wikis/Developers/CMake-build-system
https://cmake.org/cmake/help/latest/module/FindBLAS.html#blas-lapack-vendors

Пример сборки последнего официального релиза QE-7.0:

cd /mnt/pool/6/anikeev/cherenkov-cpu/qe
mkdir build
cd build/
source /opt/fftw-3.3.9/double/customvars.sh
source /opt/openblas-0.3.17/customvars.sh
cmake -DCMAKE_C_COMPILER=mpicc -DCMAKE_Fortran_COMPILER=mpif90 -
DCMAKE_INSTALL_PREFIX=/mnt/pool/6/anikeev/cherenkov-cpu/ -
DBLA_VENDOR=OpenBLAS -DQE_FFTW_VENDOR=FFTW3 ../
make -j 16

Проверяем результат сборки:

ldd bin/pw.x | grep -i blas
        libopenblas.so.0 => /opt/openblas-0.3.17/lib/libopenblas.so.0
(0x00007f5405c95000)
ldd bin/pw.x | grep -i fftw
        libfftw3.so.3 => /opt/fftw-3.3.9/double/lib/libfftw3.so.3
(0x00007fd788b0d000)

И устанавливаем с правами пользователя:

make install


Прошу прощения за задержку с ответом. Обращайтесь при наличии вопросов.

> С уважением,
> Гараев Дамир.
> 
> _______________________________________________
> hpc mailing list
> hpc at lists.mephi.ru
> https://lists.mephi.ru/listinfo/hpc

-- 
С уважением,
ведущий инженер отдела Unix-технологий МИФИ,
к.ф.-м.н., Аникеев Артём.
Тел.: +7 (495) 788-56-99, доб. 8998
e-mail: aaanikeyev at mephi.ru, anikeev at ut.mephi.ru

Best regards,
MEPhI UNIX-technology department lead engineer,
Artem Anikeev, Ph.D.
Phone: +7 (495) 788-56-99, ext. 8998
e-mail: aaanikeyev at mephi.ru, anikeev at ut.mephi.ru



More information about the hpc mailing list