计算化学公社

标题: 在有 slurm 的集群中编译 CP2K 报错(后续更新) [打印本页]

作者
Author:
乐平    时间: 2023-3-30 18:14
标题: 在有 slurm 的集群中编译 CP2K 报错(后续更新)
本帖最后由 乐平 于 2024-3-27 16:52 编辑

最近在装有 slurm 作业调度系统的集群里用 toolchain 编译 CP2K 2022.02 时候,到 openmpi 这一步是发现如下的报错

  1. ==================== Installing OpenMPI ====================
  2. openmpi-4.1.1.tar.gz is found
  3. Installing from scratch into /public/home/clxy_wh/myapps/cp2k202202/tools/toolchain/install/openmpi-4.1.1
  4. Slurm installation found. OpenMPI will be configured with --with-pmi.
  5. checking for perl... perl

  6. ============================================================================
  7. == Configuring Open MPI
  8. ============================================================================

  9. *** Startup tests
  10. checking build system type... x86_64-pc-linux-gnu
  11. checking host system type... x86_64-pc-linux-gnu
  12. checking target system type... x86_64-pc-linux-gnu
  13. checking for gcc... /public/home/clxy_wh/myapps/cp2k202202/tools/toolchain/install/gcc-12.1.0/bin/gcc
  14. checking whether the C compiler works... yes
  15. checking for C compiler default output file name... a.out
  16. checking for suffix of executables...
  17. checking whether we are cross compiling... no
  18. checking for suffix of object files... o
  19. checking whether we are using the GNU C compiler... yes
  20. checking whether /public/home/clxy_wh/myapps/cp2k202202/tools/toolchain/install/gcc-12.1.0/bin/gcc accepts -g... yes
  21. checking for /public/home/clxy_wh/myapps/cp2k202202/tools/toolchain/install/gcc-12.1.0/bin/gcc option to accept ISO C89... none needed
  22. checking whether /public/home/clxy_wh/myapps/cp2k202202/tools/toolchain/install/gcc-12.1.0/bin/gcc understands -c and -o together... yes
  23. checking how to run the C preprocessor... /public/home/clxy_wh/myapps/cp2k202202/tools/toolchain/install/gcc-12.1.0/bin/gcc -E
  24. checking for grep that handles long lines and -e... /usr/bin/grep
  25. checking for egrep... /usr/bin/grep -E
  26. checking for ANSI C header files... yes
  27. checking for sys/types.h... yes
  28. checking for sys/stat.h... yes
  29. checking for stdlib.h... yes
  30. checking for string.h... yes
  31. checking for memory.h... yes
  32. checking for strings.h... yes
  33. checking for inttypes.h... yes
  34. checking for stdint.h... yes
  35. checking for unistd.h... yes
  36. checking minix/config.h usability... no
  37. checking minix/config.h presence... no
  38. checking for minix/config.h... no
  39. checking whether it is safe to define __EXTENSIONS__... yes
  40. checking for a BSD-compatible install... /usr/bin/install -c
  41. checking whether build environment is sane... yes
  42. checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
  43. checking for gawk... gawk
  44. checking whether make sets $(MAKE)... yes
  45. checking for style of include used by make... GNU
  46. checking whether make supports nested variables... yes
  47. checking whether UID '1089' is supported by ustar format... yes
  48. checking whether GID '100' is supported by ustar format... yes
  49. checking how to create a ustar tar archive... gnutar
  50. checking dependency style of /public/home/clxy_wh/myapps/cp2k202202/tools/toolchain/install/gcc-12.1.0/bin/gcc... gcc3
  51. checking whether make supports nested variables... (cached) yes
  52. checking directory of source tree... .
  53. checking directory of absolute source tree... /public/home/clxy_wh/myapps/cp2k202202/tools/toolchain/build/openmpi-4.1.1
  54. checking directory of build tree... /public/home/clxy_wh/myapps/cp2k202202/tools/toolchain/build/openmpi-4.1.1
  55. checking directory of prefix... /public/home/clxy_wh/myapps/cp2k202202/tools/toolchain/install/openmpi-4.1.1
  56. checking directory of absolute prefix... /public/home/clxy_wh/myapps/cp2k202202/tools/toolchain/install/openmpi-4.1.1

  57. *** Checking versions
  58. checking for repo version... v4.1.1
  59. checking Open MPI version... 4.1.1
  60. checking Open MPI release date... Apr 24, 2021
  61. checking Open MPI repository version... v4.1.1
  62. checking for repo version... v4.1.1
  63. checking Open MPI Run-Time Environment version... 4.1.1
  64. checking Open MPI Run-Time Environment release date... Apr 24, 2021
  65. checking Open MPI Run-Time Environment repository version... v4.1.1
  66. checking for repo version... v4.1.1
  67. checking Open SHMEM version... 4.1.1
  68. checking Open SHMEM release date... Apr 24, 2021
  69. checking Open SHMEM repository version... v4.1.1
  70. checking for repo version... v4.1.1
  71. checking Open Portable Access Layer version... 4.1.1
  72. checking Open Portable Access Layer release date... Apr 24, 2021
  73. checking Open Portable Access Layer repository version... v4.1.1
  74. checking for bootstrap Autoconf version... 2.69
  75. checking for bootstrap Automake version... 1.15
  76. checking for boostrap Libtool version... 2.4.6

  77. *** Initialization, setup
  78. configure: builddir: /public/home/clxy_wh/myapps/cp2k202202/tools/toolchain/build/openmpi-4.1.1
  79. configure: srcdir: /public/home/clxy_wh/myapps/cp2k202202/tools/toolchain/build/openmpi-4.1.1
  80. installing to directory "/public/home/clxy_wh/myapps/cp2k202202/tools/toolchain/install/openmpi-4.1.1"

  81. *** OPAL Configuration options
  82. checking if want to run code coverage... no
  83. checking if want to compile with branch probabilities... no
  84. checking if want to debug memory usage... no
  85. checking if want to profile memory usage... no
  86. checking if want developer-level compiler pickyness... no
  87. checking if want developer-level debugging code... no
  88. checking if want to developer-level timing framework... no
  89. checking if want to install project-internal header files... no
  90. checking if want pretty-print stacktrace... yes
  91. checking if want pty support... yes
  92. checking if want weak symbol support... yes
  93. checking if want dlopen support... yes
  94. checking for default value of mca_base_component_show_load_errors... enabled by default
  95. checking if want heterogeneous support... no
  96. checking if word-sized integers must be word-size aligned... no
  97. checking if want IPv6 support... no
  98. checking if want package/brand string... Open MPI clxy_wh@login Distribution
  99. checking if want ident string... 4.1.1
  100. checking if want to use an alternative checksum algo for messages... no
  101. checking maximum length of processor name... 256
  102. checking maximum length of error string... 256
  103. checking maximum length of object name... 64
  104. checking maximum length of info key... 36
  105. checking maximum length of info val... 256
  106. checking maximum length of port name... 1024
  107. checking maximum length of datarep string... 128
  108. checking if want getpwuid support... yes
  109. checking for zlib in... (default search paths)
  110. checking zlib.h usability... yes
  111. checking zlib.h presence... yes
  112. checking for zlib.h... yes
  113. looking for library without search path
  114. checking for library containing deflate... -lz
  115. checking if libz requires libnl v1 or v3...
  116. checking will zlib support be built... yes
  117. checking __NetBSD__... no
  118. checking __FreeBSD__... no
  119. checking __OpenBSD__... no
  120. checking __DragonFly__... no
  121. checking __386BSD__... no
  122. checking __bsdi__... no
  123. checking __APPLE__... no
  124. checking __linux__... yes
  125. checking __sun__... no
  126. checking __sun... no
  127. checking netdb.h usability... yes
  128. checking netdb.h presence... yes
  129. checking for netdb.h... yes
  130. checking netinet/in.h usability... yes
  131. checking netinet/in.h presence... yes
  132. checking for netinet/in.h... yes
  133. checking netinet/tcp.h usability... yes
  134. checking netinet/tcp.h presence... yes
  135. checking for netinet/tcp.h... yes
  136. checking for struct sockaddr_in... yes
  137. checking if --with-cuda is set... not set (--with-cuda=)
  138. checking whether CU_POINTER_ATTRIBUTE_SYNC_MEMOPS is declared... no
  139. checking whether cuPointerGetAttributes is declared... no
  140. checking if have cuda support... no
  141. checking if user requested PMI support... yes
  142. checking for pmi.h in /usr/include... not found
  143. checking for pmi.h in /usr/include/slurm... not found
  144. checking for PMI_Init in -lpmi... no
  145. checking for pmi2.h in /usr/include... not found
  146. checking for pmi2.h in /usr/include/slurm... not found
  147. checking for PMI2_Init in -lpmi2... no
  148. checking for pmix.h in ... not found
  149. checking for pmix.h in /include... not found
  150. checking can PMI support be built... no
  151. configure: WARNING: PMI support requested (via --with-pmi) but neither pmi.h,
  152. configure: WARNING: pmi2.h or pmix.h were found under locations:
  153. configure: WARNING:
  154. configure: WARNING:     /slurm
  155. configure: WARNING: Specified path: yes
  156. configure: WARNING: OR neither libpmi, libpmi2, or libpmix were found under:
  157. configure: WARNING:     /lib
  158. configure: WARNING:     /lib64
  159. configure: WARNING: Specified path:
  160. configure: error: Aborting
  161. make: *** No targets specified and no makefile found.  Stop.
  162. make: *** No rule to make target `install'.  Stop.
  163. /public/home/clxy_wh/myapps/cp2k202202/tools/toolchain/scripts/tool_kit.sh: line 708: /public/home/clxy_wh/myapps/cp2k202202/tools/toolchain/install/openmpi-4.1.1/install_successful: No such file or directory
  164. (scienv) [clxy_wh@login toolchain]$
  165. (scienv) [clxy_wh@login toolchain]$
复制代码


从警告的信息来看,是没有pmi.h, pmi2.h 或 pmix.h 这几个文件,或者没有 libmpi, libmpi2 或 libmpix 这几个文件? 没找到目标对应的 makefile?

但是在 PBS 作业调度系统里编译 PC2K 到 openmpi 这一步不会报错,能很顺利通过编译。

请教各位如何解决,先谢谢啦。




作者
Author:
abin    时间: 2023-3-30 18:53
找到slurm的相关文件即可。
如果这个集群采用的是自己修改或者自定义编译的slurm,
处理起来比较麻烦……
找到安装位置即可。

另,在任何形式的机器上,如有调度器,
当然是编译MPI的时候,要告诉它,
要支持XXX调度器。


作者
Author:
乐平    时间: 2023-3-30 19:20
本帖最后由 乐平 于 2023-3-30 19:25 编辑
abin 发表于 2023-3-30 18:53
找到slurm的相关文件即可。
如果这个集群采用的是自己修改或者自定义编译的slurm,
处理起来比较麻烦…… ...

谢谢回复

集群里 slurm 安装路径如下
  1. [clxy_wh@login stage1]$ which sbatch
  2. /opt/gridview/slurm/bin/sbatch
复制代码


分析得有道理,但是我打开 vi ~/myapps/cp2k202202/tools/toolchain/scripts/stage1/install_openmpi.sh 文件,试图搜关于 slurm 的信息
发现如下:

(, 下载次数 Times of downloads: 40)

根本找不到 slurm 的关键词啊,我怎么告诉 openmpi 要在哪里添加 slurm 调度系统的位置呢?




作者
Author:
pwzhou    时间: 2023-3-30 19:37
乐平 发表于 2023-3-30 19:20
谢谢回复

集群里 slurm 安装路径如下

要正确编译的话需要slurm-devel这个包,这个包里面有需要的头文件。
看你这个目录安装的应该是曙光打包的slurm,问问系统管理员或者曙光的工程师,让把slurm-devel这个包安装上即可。
作者
Author:
pwzhou    时间: 2023-3-30 19:41
pwzhou 发表于 2023-3-30 19:37
要正确编译的话需要slurm-devel这个包,这个包里面有需要的头文件。
看你这个目录安装的应该是曙光打包 ...

另外,安装opnempi时可以不用--with-pmi,后期照样可以用slurm来调度,所以可以在编译的时候把slurm的路径从环境变量里面临时去掉,然后openmpi编译的时候就不会自动加上--with-pmi了。所以,如果slurm-devel这个包的问题解决不了的话,就临时去掉slurm的环境变量再编译。
作者
Author:
乐平    时间: 2023-3-30 19:49
pwzhou 发表于 2023-3-30 19:41
另外,安装opnempi时可以不用--with-pmi,后期照样可以用slurm来调度,所以可以在编译的时候把slurm的路 ...

非常感谢您的回复。

我先联系曙光的工程师,把 slurm-devel 包装上试试。
作者
Author:
乐平    时间: 2023-4-23 20:39
本帖最后由 乐平 于 2023-4-23 21:13 编辑
pwzhou 发表于 2023-3-30 19:41
另外,安装opnempi时可以不用--with-pmi,后期照样可以用slurm来调度,所以可以在编译的时候把slurm的路 ...

专门回来感谢您!

最终还是绕过了 slurm,编译成功。

具体而言是注释掉了 tools/toolchain/scripts/stage1/install_openmpi.sh 里第 58 -- 63 行,以及第 68 -- 69 行。

  1. 58 #      if [ $(command -v srun) ]; then
  2. 59 #        echo "Slurm installation found. OpenMPI will be configured with --with-pmi."
  3. 60 #        EXTRA_CONFIGURE_FLAGS="--with-pmi"
  4. 61 #      else
  5. 62 #        EXTRA_CONFIGURE_FLAGS=""
  6. 63 #      fi
  7. 64       # We still require MPI-1.0-compatability for PTSCOTCH
  8. 65       ./configure CFLAGS="${CFLAGS}" \
  9. 66         --prefix=${pkg_install_dir} \
  10. 67         --libdir="${pkg_install_dir}/lib" \
  11. 68 #      --enable-mpi1-compatibility \
  12. 69 #        ${EXTRA_CONFIGURE_FLAGS} \
  13. 70         > configure.log 2>&1 || tail -n ${LOG_LINES} configure.log
  14. 71       make -j $(get_nprocs) > make.log 2>&1 || tail -n ${LOG_LINES} make.log
  15. 72       make -j $(get_nprocs) install > install.log 2>&1 || tail -n ${LOG_LINES} install.log
  16. 73       cd ..
  17. 74       write_checksums "${install_lock_file}" "${SCRIPT_DIR}/stage1/$(basename ${SCRIPT_NAME})"
复制代码


跳过了 slurm 之后就一切顺利了。

编译完之后运行测试,

  1. make ARCH=local VERSION=psmp TESTOPTS+="--mpiranks 4 --ompthreads 4 --timeout 2000" test
复制代码



经过大约 47 分钟,最终得到测试报告如下:
  1. ------------------------------- Summary --------------------------------
  2. Number of FAILED  tests 5
  3. Number of WRONG   tests 2
  4. Number of CORRECT tests 3926
  5. Total number of   tests 3933

  6. Summary: correct: 3926 / 3933; wrong: 2; failed: 5; 47min
  7. Status: FAILED

  8. *************************** Testing ended ******************************
  9. make[3]: *** [test] Error 7
  10. make[2]: *** [test] Error 2
  11. make[1]: *** [psmp] Error 2
  12. make: *** [test] Error 2
复制代码


3933 个测试任务正常完成 3926 个,有 5 个失败,2 个错误。这些内容可以 regtesting/TEST-local-psmp-XXXXX/error_summary(XXXXX 为运行测试的年-月-日_时间),具体错误的算例包括:
  1. TMC/regtest_ana_on_the_fly/TMC_ana_start_with_exist_traj.inp.out
  2. TMC/regtest_ana_on_the_fly/TMC_ana_restart.inp.out
  3. QS/regtest-gpw-4/H2O-debug-5.inp.out
  4. QS/regtest-gpw-4/H2O-debug-6.inp.out
  5. QS/regtest-nmr-6/no-gapw-1-distributed.inp.out
  6. QS/regtest-nmr-1/H2O-NMR-4.inp.out
  7. QS/regtest-nmr-2/he2_bug_disp.inp.out
复制代码



从 error_summary 中还可以看到有如下的警告和报错信息:

  1. *** WARNING in tmc/tmc_worker.F:401 :: analysis old trajectory up to elem ***
  2. ***     30                   . Read trajectory file.                      ***

  3. TMC_ANA| read xyz file                             ./tmc_trajectory_T300.00.xyz
  4. TMC_ANA| read cell file                           ./tmc_trajectory_T300.00.cell

  5. *** WARNING in tmc/tmc_file_io.F:645 :: end of position file reached at ***
  6. *** line  4.1500E+02              , last element     30                 ***


  7. *** WARNING in tmc/tmc_worker.F:401 :: analysis old trajectory up to elem ***
  8. ***     50                   . Read trajectory file.                      ***

  9. TMC_ANA| read xyz file                             ./tmc_trajectory_T380.00.xyz
  10. TMC_ANA| read cell file                           ./tmc_trajectory_T380.00.cell

  11. *** WARNING in tmc/tmc_file_io.F:645 :: end of position file reached at ***
  12. *** line  8.7500E+02              , last element     50                 ***


  13. *** WARNING in tmc/tmc_worker.F:401 :: analysis old trajectory up to elem ***
  14. ***     34                   . Read trajectory file.                      ***

  15. TMC_ANA| read xyz file                             ./tmc_trajectory_T460.00.xyz
  16. TMC_ANA| read cell file                           ./tmc_trajectory_T460.00.cell

  17. *** WARNING in tmc/tmc_file_io.F:645 :: end of position file reached at ***
  18. *** line  5.3000E+02              , last element     34                 ***


  19. Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

  20. Backtrace for this error:
  21. #0  0x2b814a2b627f in ???
  22. #1  0xc796fd in create_analysis_request_message
  23.         at /public/home/clxy_wh/myapps/cp2k202301/src/tmc/tmc_messages.F:1476
  24. #2  0xc86d06 in __tmc_messages_MOD_tmc_message
  25.         at /public/home/clxy_wh/myapps/cp2k202301/src/tmc/tmc_messages.F:192
  26. #3  0xc5bdb6 in send_analysis_tasks
  27.         at /public/home/clxy_wh/myapps/cp2k202301/src/tmc/tmc_master.F:190
  28. #4  0xc5bdb6 in __tmc_master_MOD_do_tmc_master
  29.         at /public/home/clxy_wh/myapps/cp2k202301/src/tmc/tmc_master.F:622
  30. #5  0xc359b5 in __tmc_setup_MOD_do_tmc
  31.         at /public/home/clxy_wh/myapps/cp2k202301/src/tmc/tmc_setup.F:220
  32. #6  0x8f8257 in cp2k_run
  33.         at /public/home/clxy_wh/myapps/cp2k202301/src/start/cp2k_runs.F:319
  34. #7  0x8fc1a0 in __cp2k_runs_MOD_run_input
  35.         at /public/home/clxy_wh/myapps/cp2k202301/src/start/cp2k_runs.F:997
  36. #8  0x8f7442 in cp2k
  37.         at /public/home/clxy_wh/myapps/cp2k202301/src/start/cp2k.F:379
  38. #9  0x4da39c in main
  39.         at /public/home/clxy_wh/myapps/cp2k202301/src/start/cp2k.F:44
  40. --------------------------------------------------------------------------
  41. Primary job  terminated normally, but 1 process returned
  42. a non-zero exit code. Per user-direction, the job has been aborted.
  43. --------------------------------------------------------------------------
  44. --------------------------------------------------------------------------
  45. mpiexec noticed that process rank 3 with PID 0 on node login exited on signal 11 (Segmentation fault).
  46. --------------------------------------------------------------------------
  47. [login:50592] 7 more processes have sent help message help-mpi-btl-openib.txt / no device params found
  48. [login:50592] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages
  49. [login:50592] 11 more processes have sent help message help-mpi-btl-openib-cpc-base.txt / no cpcs for port
复制代码


似乎是内存以及 open mpi 的问题造成的?


单独拿 benchmark/QS/H2O-64.inp 作为测试例子,用 slurm 作业调度系统提交任务,

  1. #!/bin/bash
  2. #SBATCH --job-name=cp2kTest
  3. #SBATCH --nodes=1
  4. #SBATCH --ntasks-per-node=56
  5. #SBATCH --cpus-per-task=1
  6. #SBATCH --partition=debug
  7. #SBATCH --output=%j.log

  8. #### load the environment
  9. module purge

  10. source /public/software/apps/cp2k-2023.1/tools/toolchain/install/setup

  11. EXEC=/public/software/apps/cp2k-2023.1/exe/local/cp2k.popt


  12. cd $SLURM_SUBMIT_DIR

  13. mpirun -np $SLURM_NTASKS $EXEC -i H2O-64.inp -o H2O-64.out
复制代码


能运行得到结果。 H2O-64.out 文件似乎是正常的,能正常完成自洽计算(SCF),速度也还算比较快。
  1. -------------------------------------------------------------------------------
  2. -                                                                             -
  3. -                                T I M I N G                                  -
  4. -                                                                             -
  5. -------------------------------------------------------------------------------
  6. SUBROUTINE                       CALLS  ASD         SELF TIME        TOTAL TIME
  7.                                 MAXIMUM       AVERAGE  MAXIMUM  AVERAGE  MAXIMUM
  8. CP2K                                 1  1.0    0.516    0.553   59.831   59.840
  9. qs_mol_dyn_low                       1  2.0    0.011    0.019   57.545   57.566
  10. qs_forces                           11  3.9    0.007    0.019   57.304   57.311
  11. qs_energies                         11  4.9    0.005    0.011   53.972   53.983
  12. scf_env_do_scf                      11  5.9    0.036    0.050   48.726   48.728
  13. scf_env_do_scf_inner_loop          108  6.5    0.006    0.075   44.878   44.881
  14. velocity_verlet                     10  3.0    0.007    0.018   34.088   34.090
  15. dbcsr_multiply_generic            2286 12.5    0.129    0.158   20.057   20.268
  16. rebuild_ks_matrix                  119  8.3    0.002    0.002   19.288   19.402
  17. qs_ks_build_kohn_sham_matrix       119  9.3    0.026    0.046   19.287   19.400
  18. qs_scf_new_mos                     108  7.5    0.001    0.001   17.330   17.531
  19. qs_scf_loop_do_ot                  108  8.5    0.001    0.001   17.329   17.530
  20. qs_ks_update_qs_env                119  7.6    0.001    0.002   17.143   17.246
  21. ot_scf_mini                        108  9.5    0.003    0.003   16.234   16.356
  22. sum_up_and_integrate               119 10.3    0.041    0.045   13.975   14.019
  23. integrate_v_rspace                 119 11.3    0.004    0.005   13.934   13.978
  24. qs_rho_update_rho_low              119  7.7    0.002    0.007   13.664   13.761
  25. calculate_rho_elec                 119  8.7    0.025    0.033   13.662   13.760
  26. multiply_cannon                   2286 13.5    0.193    0.216   12.035   12.706
  27. multiply_cannon_loop              2286 14.5    0.311    0.373   10.603   11.163
  28. mp_waitall_1                    216986 16.5    7.806   11.080    7.806   11.080
  29. ot_mini                            108 10.5    0.002    0.002   10.200   10.349
  30. multiply_cannon_metrocomm3       64008 15.5    0.098    0.123    6.259    9.633
  31. grid_collocate_task_list           119  9.7    8.680    9.011    8.680    9.011
  32. grid_integrate_task_list           119 12.3    8.360    8.603    8.360    8.603
  33. qs_ot_get_derivative               108 11.5    0.003    0.009    6.880    7.015
  34. rs_pw_transfer                     974 11.9    0.013    0.015    5.924    6.262
  35. density_rs2pw                      119  9.7    0.008    0.019    4.329    4.608
  36. make_m2s                          4572 13.5    0.098    0.126    4.203    4.444
  37. potential_pw2rs                    119 12.3    0.006    0.007    4.257    4.279
  38. multiply_cannon_multrec          64008 15.5    2.088    4.102    2.102    4.117
  39. make_images                       4572 14.5    0.171    0.193    3.537    3.824
  40. init_scf_loop                       11  6.9    0.032    0.034    3.794    3.799
  41. init_scf_run                        11  5.9    0.001    0.002    3.780    3.781
  42. scf_env_initial_rho_setup           11  6.9    0.007    0.009    3.779    3.780
  43. pw_transfer                       1439 11.6    0.089    0.098    3.594    3.779
  44. fft_wrap_pw1pw2                   1201 12.6    0.011    0.011    3.442    3.623
  45. mp_sum_l                         11218 13.2    2.643    3.319    2.643    3.319
  46. ot_diis_step                       108 11.5    0.008    0.015    3.260    3.285
  47. mp_waitany                       32348 13.8    2.662    3.134    2.662    3.134
  48. qs_ot_get_derivative_taylor         59 13.0    0.001    0.002    3.045    3.119
  49. apply_preconditioner_dbcsr         119 12.6    0.000    0.000    2.957    3.097
  50. apply_single                       119 13.6    0.000    0.000    2.956    3.097
  51. fft3d_ps                          1201 14.6    1.062    1.379    2.803    2.974
  52. multiply_cannon_metrocomm4       59436 15.5    0.166    0.198    1.513    2.914
  53. fft_wrap_pw1pw2_140                487 13.2    0.253    0.276    2.517    2.737
  54. mp_irecv_dv                     145658 16.0    1.270    2.668    1.270    2.668
  55. wfi_extrapolate                     11  7.9    0.014    0.038    2.624    2.624
  56. qs_ot_get_p                        119 10.4    0.004    0.016    2.403    2.589
  57. qs_ks_update_qs_env_forces          11  4.9    0.000    0.000    2.312    2.327
  58. rs_pw_transfer_RS2PW_140           130 11.5    0.376    0.434    1.859    2.159
  59. mp_alltoall_d11v                  2130 13.8    1.933    2.156    1.933    2.156
  60. qs_ot_get_derivative_diag           49 12.0    0.002    0.003    1.945    2.010
  61. make_images_sizes                 4572 15.5    0.005    0.006    1.467    1.875
  62. mp_alltoall_i44                   4572 16.5    1.462    1.871    1.462    1.871
  63. rs_pw_transfer_PW2RS_140           130 13.9    0.707    0.751    1.726    1.786
  64. mp_sum_d                          4125 12.0    1.308    1.735    1.308    1.735
  65. rs_gather_matrices                 119 12.3    0.083    0.094    1.261    1.487
  66. cp_dbcsr_sm_fm_multiply             37  9.5    0.001    0.001    1.459    1.473
  67. prepare_preconditioner              11  7.9    0.000    0.000    1.380    1.401
  68. make_preconditioner                 11  8.9    0.005    0.013    1.380    1.401
  69. calculate_dm_sparse                119  9.5    0.000    0.001    1.307    1.398
  70. mp_alltoall_z22v                  1201 16.6    1.144    1.321    1.144    1.321
  71. make_full_inverse_cholesky          11  9.9    0.000    0.000    1.259    1.318
  72. qs_init_subsys                       1  2.0    0.033    0.040    1.260    1.270
  73. -------------------------------------------------------------------------------

  74. The number of warnings for this run is : 2

  75. -------------------------------------------------------------------------------
  76.   **** **** ******  **  PROGRAM ENDED AT                 2023-04-23 21:02:22.059
  77. ***** ** ***  *** **   PROGRAM RAN ON                                     p12
  78. **    ****   ******    PROGRAM RAN BY                                   clxy_wh
  79. ***** **    ** ** **   PROGRAM PROCESS ID                                 32341
  80.   **** **  *******  **  PROGRAM STOPPED IN /public/home/clxy_wh/tests/cp2k_tests
复制代码




不过呢,计算过程中会产生 “任务号.log” 文件,里面也有用 make test 出现的类似的报错信息

  1. --------------------------------------------------------------------------
  2. WARNING: No preset parameters were found for the device that Open MPI
  3. detected:

  4. Local host: p12
  5. Device name: i40iw0
  6. Device vendor ID: 0x8086
  7. Device vendor part ID: 14289

  8. Default device parameters will be used, which may result in lower
  9. performance. You can edit any of the files specified by the
  10. btl_openib_device_param_files MCA parameter to set values for your
  11. device.

  12. NOTE: You can turn off this warning by setting the MCA parameter
  13. btl_openib_warn_no_device_params_found to 0.
  14. --------------------------------------------------------------------------
  15. --------------------------------------------------------------------------
  16. No OpenFabrics connection schemes reported that they were able to be
  17. used on a specific port. As such, the openib BTL (OpenFabrics
  18. support) will be disabled for this port.

  19. Local host: p12
  20. Local device: mlx5_0
  21. Local port: 1
  22. CPCs attempted: rdmacm, udcm
  23. --------------------------------------------------------------------------
  24. [gpu12:32329] 111 more processes have sent help message help-mpi-btl-openib.txt / no device params found
  25. [gpu12:32329] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages
  26. [gpu12:32329] 167 more processes have sent help message help-mpi-btl-openib-cpc-base.txt / no cpcs for port
复制代码



不知道这个 open mpi 报错信息应该如何纠正? 或者不理它会不会有什么影响?





作者
Author:
海鸥    时间: 2023-12-19 16:29
楼主现在有解决这个问题吗
作者
Author:
乐平    时间: 2023-12-20 10:26
海鸥 发表于 2023-12-19 16:29
楼主现在有解决这个问题吗

你说的是哪个问题?

编译问题已经解决,看我最后的回复。

测试还是那几个没通过

open mpi 还是有类似的 .log
作者
Author:
海鸥    时间: 2023-12-25 14:34
乐平 发表于 2023-12-20 10:26
你说的是哪个问题?

编译问题已经解决,看我最后的回复。

你好,之前问的是编译的问题;不过后续我用module采用用集群的gcc9.3.0 然后安装toolchain里的openmpi,就没有报错了;可以正常运行,谢谢回复!
作者
Author:
NUAAjj    时间: 2023-12-28 11:27
乐平 发表于 2023-4-23 20:39
专门回来感谢您!

最终还是绕过了 slurm,编译成功。

很好的解决了问题 谢谢您
作者
Author:
doublezhang    时间: 2023-12-28 17:02
也有不用动install_openmpi.sh的解决方案,可以echo $PATH 看看你的$PATH里有啥,然后把slurm的bin和其他没用的path都从path里清出去
作者
Author:
kotori    时间: 2024-7-21 02:00
最近在组里新机器上编译也遇到了这个问题
定位了一下问题发现是tools/toolchain/scripts/stage1/install_openmpi.sh里面的第60行
  1. EXTRA_CONFIGURE_FLAGS="--with-pmi"
复制代码
这里如果不指定slurm安装路径,就会从默认位置查找,这里只需要查找一下集群的slurm安装路径

  1. which srun
复制代码
然后修改install_openmpi.sh,将实际的安装路径填上就可以了,例如

  1. EXTRA_CONFIGURE_FLAGS="--with-pmi=/path_to_slurm/slurm"
复制代码
修改后就能正常完整openmpi编译了


作者
Author:
乐平    时间: 2024-7-21 15:05
kotori 发表于 2024-7-21 02:00
最近在组里新机器上编译也遇到了这个问题
定位了一下问题发现是tools/toolchain/scripts/stage1/install_o ...

谢谢您的讨论
我之前是注释掉了这几行,见 7 楼的内容
http://bbs.keinsci.com/forum.php ... 10&fromuid=1532


另外,您提到
  1. which srun
复制代码

这里返回的 srun 的路径

但是,补充的路径却写着
  1. EXTRA_CONFIGURE_FLAGS="--with-pmi=/path_to_slurm/slurm"
复制代码


是不是笔误?或者会造成误解?

作者
Author:
kotori    时间: 2024-7-24 22:18
本帖最后由 kotori 于 2024-7-24 22:20 编辑
乐平 发表于 2024-7-21 15:05
谢谢您的讨论
我之前是注释掉了这几行,见 7 楼的内容
http://bbs.keinsci.com/forum.php?mod=redirect ...

感谢您指出问题,这里我表达有误
  1. which srun
  2. /path_to_slurm/slurm/bin/srun
复制代码
这里主要是用which命令定位slurm的安装位置,实际只需要填写/path_to_slurm/slurm/部分,不需要加上/bin或者/include的额外路径,安装openmpi的过程中就能正确的找到PMI的头文件,例如下面是我编译过程中的日志信息
configure:12787: checking if user requested PMI support
configure:12794: result: yes
configure:12818: checking for pmi.h in /path_to_slurm/slurm
configure:12825: result: not found
configure:12827: checking for pmi.h in /path_to_slurm/slurm/include
configure:12834: result: not found
configure:12836: checking for pmi.h in /path_to_slurm/slurm/include/slurm
configure:12839: result: found

这样编译过程中就能顺利找到pmi.h头文件,就不会出现报错了





欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3