[mephi-hpc] Thermo_PW

anikeev at ut.mephi.ru anikeev at ut.mephi.ru
Fri Oct 11 16:44:45 MSK 2024


anikeev at ut.mephi.ru писал 2024-10-11 16:35:
> 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

Прошу прощения, опечатка:

DFLAGS         =  -D__FFTW3 -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
> 
> _______________________________________________
> 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



More information about the hpc mailing list