mpirun -np 256 xhpl -input ./HPL.dat 出现报错
[proxy:0@localhost] HYDU_create_process (lib/utils/launch.c:24): pipe error (Too many open files) [proxy:0@localhost] launch_procs (proxy/pmip_cb.c:1008): create process returned error [proxy:0@localhost] handle_launch_procs (proxy/pmip_cb.c:588): launch_procs returned error [proxy:0@localhost] HYD_pmcd_pmip_control_cmd_cb (proxy/pmip_cb.c:498): launch_procs returned error [proxy:0@localhost] HYDT_dmxu_poll_wait_for_event (lib/tools/demux/demux_poll.c:76): callback returned error status [proxy:0@localhost] main (proxy/pmip.c:122): demux engine error waiting for event [mpiexec@localhost] control_cb (mpiexec/pmiserv_cb.c:280): assert (!closed) failed [mpiexec@localhost] HYDT_dmxu_poll_wait_for_event (lib/tools/demux/demux_poll.c:76): callback returned error status [mpiexec@localhost] HYD_pmci_wait_for_completion (mpiexec/pmiserv_pmci.c:180): error waiting for event [mpiexec@localhost] main (mpiexec/mpiexec.c:260): process manager error waiting for completion临时解决方案:
# 提高当前会话的文件描述符限制 ulimit -n 65536 # 然后重新运行测试 mpirun -np 256 xhpl -input ./HPL.dat永久解决:
# 编辑 /etc/security/limits.conf echo "* soft nofile 65536" >> /etc/security/limits.conf echo "* hard nofile 65536" >> /etc/security/limits.conf # 编辑 /etc/systemd/system.conf echo "DefaultLimitNOFILE=65536" >> /etc/systemd/system.conf # 重新加载systemd配置 systemctl daemon-reload替代方案
#减少进程数 mpirun -np 128 xhpl -input ./HPL.dat测试过程中出现报错
[ 1545.788066][ T5430] Out of memory: Killed process 5433 (xhpl) total-vm:3196252kB, anon-rss:1942700kB, file-rss:4kB, shmem-rss:4012kB, UID:0 pgtables:5940kB oom_score_adj:0 =================================================================================== = BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES = PID 5426 RUNNING AT localhost = EXIT CODE: 9 = CLEANING UP REMAINING PROCESSES = YOU CAN IGNORE THE BELOW CLEANUP MESSAGES =================================================================================== YOUR APPLICATION TERMINATED WITH THE EXIT STRING: Killed (signal 9) This typically refers to a problem with your application. Please see the FAQ page for debugging suggestions内存不足,解决办法为修改HPL.dat中的矩阵规模
# 将N从80000减少到更合适的值 1 # of problems sizes (N) 60000 Ns # 减少矩阵规模结果输出到终端没有输出到文件
# 将第二行的6改为其他值: HPL.out output file name (if any) 6 device out (6=stdout,7=stderr,file) # 改为: HPL.out output file name (if any) 0 device out (6=stdout,7=stderr,file)Linpack测试安装包及测试步骤:
https://blog.csdn.net/m0_57982541/article/details/156020392?spm=1011.2415.3001.5331
HPL.dat文件:
https://blog.csdn.net/m0_57982541/article/details/156020511?spm=1011.2415.3001.5331
HPL.dat配置文件全量分析:
https://blog.csdn.net/m0_57982541/article/details/156020703?spm=1011.2415.3001.5331