[mephi-hpc] Thermo_PW
anikeev at ut.mephi.ru
anikeev at ut.mephi.ru
Fri Oct 11 16:35:14 MSK 2024
anikeev at ut.mephi.ru писал 2024-10-10 16:36:
> Павел Кулямин писал 2024-10-10 01:16:
>> Добрый день!
>
> Здравствуйте!
>
>> Столкнулся с некоторыми сложностями
>> при установке дополнительного модуля
>> ThermoPW для QuantumEspresso на кластере tensor.
>>
>> Используемый мною порядок действий:
>>
>> 1) С официального сайта, скачал
>> последнюю стабильную версию QE 7.3.1 -
>> https://www.quantum-espresso.org/rdm-download/488/v7-3-1/7e1905f3d25a9ccef4ae109cb8f6dcce/qe-7.3.1-ReleasePack.tar.gz
>>
>> 2) C github дополнительного модуля ThermoPW
>> скачал последнюю версию
>> дополнительного модуля которая
>> совместима с версией QE выше 7.2 -
>> https://github.com/dalcorso/thermo_pw/releases/tag/2.0.0
>
> Здесь ошибка. thermo_pw 2.0.0 совместим с QE-7.3 cтрого, даже минорные
> версии менять нельзя. Эту информацию можно найти в документе
> thermo_pw_help.md:
>
> https://github.com/dalcorso/thermo_pw/blob/master/thermo_pw_help.md
>
> Эта проблема обсуждалась в листе рассылки QE:
>
> https://www.mail-archive.com/search?l=users@lists.quantum-espresso.org&q=subject:%22Re%5C%3A+%5C%5BQE%5C-users%5C%5D+error%22&o=newest&f=1
>
> Будьте, однако, осторожны. Документ thermo_pw_help.md сам содержит
> ошибки. Например, для сборки с использованием Autotools там пропущен
> этап ./configure. В целом, проект thermo_pw производит не лучшее
> впечатление по качеству кода и документации.
>
> Итого, вот релизы, которые должны быть совместимы:
>
> https://github.com/dalcorso/thermo_pw/archive/refs/tags/2.0.0.tar.gz
> https://gitlab.com/QEF/q-e/-/archive/qe-7.3/q-e-qe-7.3.tar.gz
>
>> 3) В личной папке разархивировал
>> архивы с помощью команды - TAR - XZF ' ИМЯ
>> ФАЙЛА'
>>
>> 4) Как написано в Readme.md - в папку с
>> qe(папка из архива 1) перенес папку thermo_pw
>> (из архива 2)
>>
>> 5) Перешел в перенесенную папку и
>> выполнил следующую команду - MAKE JOIN_QE
>>
>> 6) Перешел в корневую папку qe и
>> пробовал произвести установку
>> следующими способами:
>>
>> 6.1) Последовательное выполнение
>> следующих команд:
>> SOURCE /OPT/FFTW-3.3.10/DOUBLE/CUSTOMVARS.SH
>> SOURCE /OPT/OPENBLAS-0.3.23/CUSTOMVARS.SH
>> ./CONFIGURE
>> MAKE THERMO_PW
>> Получил следующую ошибку:
>> Error: Symbol ‘using_wg_d’ referenced at (1) not found in module
>> ‘wvfct_gpum’
>> make[2]: *** [../../make.inc:16: electrons_tpw.o] Error 1
>> make[2]: Leaving directory
>> '/mnt/pool/6/pakuliamin/qe-7.3.1/thermo_pw/qe'
>> make[1]: *** [Makefile:18: thermo_qe] Error 1
>> make[1]: Leaving directory '/mnt/pool/6/pakuliamin/qe-7.3.1/thermo_pw'
>> make: *** [Makefile:88: thermo_pw] Error 1
>
> Для сборки QE со специальными версиями FFTW и OpenBLAS недостаточно
> корректно экспортировать переменные окружения. При вызове ./configure
> без аргументов, система сборки отдаст предпочтение нестандартной и
> устаревшей версии Intel PSXE 2018, использование которой не
> рекомендуется и для использования которой при запуске нужны будут
> переменные окружения из
> /opt/intel/parallel_studio_xe_2018/psxevars.sh.
>
> К сожалению, система сборки Autotools находится не в лучшем состоянии
> уже у апстримной версии QE. При сборке с SDK NVIDIA рекомендуется
> использовать Autotools, при сборке с SDK GNU или Intel лучше
> использовать cmake.
>
> Для сборки QE с GNU SDK и Autotools требуется ручная правка make.inc
> после выполнения ./configure.
>
> https://www.quantum-espresso.org/Doc/user_guide/node11.html
Пример концигурации QE при помощи Autotools с использованием gcc,
gfortran, openmpi, openblas, scalapack из состава дистрибутива Debian и
оптимизированного FFTW3 из /opt/fftw-3.3.10/double/
1) Экспортируйте переменные окружения:
anikeev at tensor:~$ source /opt/fftw-3.3.10/double/customvars.sh
2) Выполните в корневой директории QE команду ./configure
3) Откорректируйте следующие строки файла make.inc
DFLAGS = -D__FFTW -D__MPI -D__SCALAPACK
IFLAGS = -I. -I$(TOPDIR)/include
-I/opt/fftw-3.3.10/double/include
BLAS_LIBS = -lopenblas
SCALAPACK_LIBS = -lscalapack-openmpi
FFT_LIBS = -lfftw3
Полную версию файла можно посмотреть здесь:
/mnt/pool/4/anikeev/thermopw/q-e-qe-7.3/make.inc
4) Соберите QE с помощью make all
5) Проверьте корректность линковки с библиотеками:
anikeev at tensor:/mnt/pool/4/anikeev/thermopw/q-e-qe-7.3$ ldd
bin/thermo_pw.x
linux-vdso.so.1 (0x00007ffeca4bf000)
libscalapack-openmpi.so.2.2 =>
/lib/x86_64-linux-gnu/libscalapack-openmpi.so.2.2 (0x00007fcbf0e00000)
libopenblas.so.0 => /lib/x86_64-linux-gnu/libopenblas.so.0
(0x00007fcbeeb18000)
libmpi_mpifh.so.40 => /lib/x86_64-linux-gnu/libmpi_mpifh.so.40
(0x00007fcbf1419000)
libgfortran.so.5 => /lib/x86_64-linux-gnu/libgfortran.so.5
(0x00007fcbee800000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6
(0x00007fcbee721000)
libmvec.so.1 => /lib/x86_64-linux-gnu/libmvec.so.1
(0x00007fcbee628000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
(0x00007fcbf13f7000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
(0x00007fcbee447000)
liblapack.so.3 => /lib/x86_64-linux-gnu/liblapack.so.3
(0x00007fcbedc00000)
libblas.so.3 => /lib/x86_64-linux-gnu/libblas.so.3
(0x00007fcbee3e4000)
libmpi.so.40 => /lib/x86_64-linux-gnu/libmpi.so.40
(0x00007fcbedac1000)
/lib64/ld-linux-x86-64.so.2 (0x00007fcbf3eec000)
libopen-pal.so.40 => /lib/x86_64-linux-gnu/libopen-pal.so.40
(0x00007fcbee32d000)
libquadmath.so.0 => /lib/x86_64-linux-gnu/libquadmath.so.0
(0x00007fcbeead1000)
libopen-rte.so.40 => /lib/x86_64-linux-gnu/libopen-rte.so.40
(0x00007fcbeda05000)
libhwloc.so.15 => /lib/x86_64-linux-gnu/libhwloc.so.15
(0x00007fcbed9a8000)
libevent_core-2.1.so.7 =>
/lib/x86_64-linux-gnu/libevent_core-2.1.so.7 (0x00007fcbf13bd000)
libevent_pthreads-2.1.so.7 =>
/lib/x86_64-linux-gnu/libevent_pthreads-2.1.so.7 (0x00007fcbf13b8000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1
(0x00007fcbee30e000)
libudev.so.1 => /lib/x86_64-linux-gnu/libudev.so.1
(0x00007fcbed97a000)
5) Не забудьте повторно экспортировать переменные окружения в скрипте
запука задачи:
anikeev at tensor:~$ source /opt/fftw-3.3.10/double/customvars.sh
>> _6.2) Последовательное выполнение
>> следующих команд:_
>> _ MKDIR BUILD_
>> _ CD BUILD_
>> _ _CMAKE -DCMAKE_C_COMPILER=MPICC
>> -DCMAKE_FORTRAN_COMPILER=MPIF90 -
>> DCMAKE_INSTALL_PREFIX=/MNT/POOL/6/PAKULIAMIN/QE-7.3.1/
>> -DBLA_VENDOR=OPENBLAS -DQE_FFTW_VENDOR=FFTW3 ../
>> Получил следующую ошибку:
>> -- Configuring done
>> CMake Error at cmake/qeHelpers.cmake:185 (add_library):
>> Cannot find source file:
>>
>> lib/freecad.f90
>> Call Stack (most recent call first):
>> thermo_pw/CMakeLists.txt:43 (qe_add_library)
>>
>> CMake Error at cmake/qeHelpers.cmake:185 (add_library):
>> Cannot find source file:
>>
>> qe/ch_psi_all_tpw.f90
>> Call Stack (most recent call first):
>> thermo_pw/CMakeLists.txt:350 (qe_add_library)
>>
>> CMake Error at cmake/qeHelpers.cmake:185 (add_library):
>> No SOURCES given to target: qe_tpw_lib
>> Call Stack (most recent call first):
>> thermo_pw/CMakeLists.txt:43 (qe_add_library)
>>
>> CMake Error at cmake/qeHelpers.cmake:185 (add_library):
>> No SOURCES given to target: qe_tpw_qe
>> Call Stack (most recent call first):
>> thermo_pw/CMakeLists.txt:350 (qe_add_library)
>
> Файл freecad.f90 отсутствует в репозитории thermo_pw. Вероятно,
> система сборки cmake для thermo_pw в данный момент находится в
> нерабочем состоянии. По этому поводу можно обратиться к разработчикам
> thermo_pw.
>
> Пример сборки апстримного QE-7.3.1 с последней версией Intel OneAPI
> через cmake:
>
> anikeev at tensor:/mnt/pool/4/anikeev$ tar -xvzf q-e-qe-7.3.1.tar.gz
> anikeev at tensor:/mnt/pool/4/anikeev$ cd q-e-qe-7.3.1/external/
> anikeev at tensor:/mnt/pool/4/anikeev/q-e-qe-7.3.1/external$
> ./initialize_external_repos.sh
> anikeev at tensor:/mnt/pool/4/anikeev/q-e-qe-7.3.1/external$ cd mbd/
> anikeev at tensor:/mnt/pool/4/anikeev/q-e-qe-7.3.1/external/mbd$ git pull
> anikeev at tensor:/mnt/pool/4/anikeev/q-e-qe-7.3.1/external/mbd$ git
> checkout 1c43285
> anikeev at tensor:/mnt/pool/4/anikeev/q-e-qe-7.3.1/external/mbd$ cd ../../
> anikeev at tensor:/mnt/pool/4/anikeev/q-e-qe-7.3.1$ mkdir build
> anikeev at tensor:/mnt/pool/4/anikeev/q-e-qe-7.3.1$ cd build/
> anikeev at tensor:/mnt/pool/4/anikeev/q-e-qe-7.3.1/build$ cmake
> -DCMAKE_C_COMPILER=mpiicx -DCMAKE_Fortran_COMPILER=mpiifx
> -DCMAKE_INSTALL_PREFIX=/mnt/pool/4/anikeev/qe -DQE_ENABLE_MPI=ON
> -DQE_ENABLE_OPENMP=OFF -DBLA_VENDOR=Intel10_64lp_seq
> -DQE_FFTW_VENDOR=Intel_DFTI -DQE_ENABLE_SCALAPACK=ON
> -DCMAKE_C_FLAGS:STRING=-xCORE-AVX512
> -DCMAKE_Fortran_FLAGS:STRING=-xCORE-AVX512 ../
> anikeev at tensor:/mnt/pool/4/anikeev/q-e-qe-7.3.1/build$ make VERBOSE=1
>
>> Подскажите, в чем может быть моя
>> ошибка и как мне следует действовать
>> чтобы установить дополнительный
>> модуль ThermoPW?
>>
>> С уважением, Кулямин П.А.
>>
>> Аспирант 3 курса НИЯУ МИФИ
>>
>> Кафедра № 67 "Физика конденсированных
>> сред"
>>
>> Научный руководитель: Маслов М.М.
>>
>> Тел:8-905-582-00-63
>> _______________________________________________
>> hpc mailing list
>> hpc at lists.mephi.ru
>> https://lists.mephi.ru/listinfo/hpc
>
> --
> С уважением,
> ведущий инженер отдела UNIX-технологий НИЯУ МИФИ,
> к.ф.-м.н.,
> Аникеев Артем.
> e-mail: anikeev at ut.mephi.ru
> тел.: 8 (495) 788-56-99, доб. 8998
--
С уважением,
ведущий инженер отдела UNIX-технологий НИЯУ МИФИ,
к.ф.-м.н.,
Аникеев Артем.
e-mail: anikeev at ut.mephi.ru
тел.: 8 (495) 788-56-99, доб. 8998
More information about the hpc
mailing list