#0 LAMMPS_NS::LAMMPS::LAMMPS (this=0x55555616a4b0, narg=5, arg=0x7fffffffd638, communicator=0x55555607f7a0 <ompi_mpi_comm_world>) at /home/hapo/Documents/software/lammps-29Aug2024/src/lammps.cpp:544 #1 0x00005555555e02df in main (argc=5, argv=0x7fffffffd638) at /home/hapo/Documents/software/lammps-29Aug2024/src/main.cpp:77
#0 LAMMPS_NS::Input::file (this=0x55555611f910) at /home/hapo/Documents/software/lammps-29Aug2024/src/input.cpp:198 #1 0x00005555555e0313 in main (argc=3, argv=0x7fffffffd668) at /home/hapo/Documents/software/lammps-29Aug2024/src/main.cpp:78
创建进程 grid
函数调用为:
1 2 3 4 5 6 7 8 9
#0 0x000055555591e071 in LAMMPS_NS::Comm::set_proc_grid (this=0x5555560cf1c0, outflag=1) at /home/hapo/Documents/software/lammps-29Aug2024/src/comm.cpp:600 #1 0x000055555571f3fe in LAMMPS_NS::ReadData::command (this=0x5555561e0270, narg=1, arg=0x5555561e01b0) at /home/hapo/Documents/software/lammps-29Aug2024/src/read_data.cpp:684 #2 0x00005555555e6339 in LAMMPS_NS::Input::execute_command (this=0x55555611f930) at /home/hapo/Documents/software/lammps-29Aug2024/src/input.cpp:868 #3 0x00005555555e2a59 in LAMMPS_NS::Input::file (this=0x55555611f930) at /home/hapo/Documents/software/lammps-29Aug2024/src/input.cpp:313 #4 0x00005555555e02f3 in main (argc=5, argv=0x7fffffffd638) at /home/hapo/Documents/software/lammps-29Aug2024/src/main.cpp:78
这是用来设置把 rank 映射到 grid 上的
计算 xyz 分成多少个 grid,能有多少个因子(factor)
1 2 3 4 5 6 7 8 9 10 11 12 13 14
#0 LAMMPS_NS::ProcMap::factor (this=0x55555616a5e0, n=1, factors=0x5555561dfc40) at /home/hapo/Documents/software/lammps-29Aug2024/src/procmap.cpp:731 #1 0x0000555555ce88e2 in LAMMPS_NS::ProcMap::onelevel_grid (this=0x55555616a5e0, nprocs=1, user_procgrid=0x5555560cf2e4, procgrid=0x5555560cf2d8, otherflag=0, other_style=1443715056, other_procgrid=0x5555560cf3e4, other_coregrid=0x5555560cf3f0) at /home/hapo/Documents/software/lammps-29Aug2024/src/procmap.cpp:56 #2 0x000055555591dc4d in LAMMPS_NS::Comm::set_proc_grid (this=0x5555560cf1c0, outflag=1) at /home/hapo/Documents/software/lammps-29Aug2024/src/comm.cpp:566 #3 0x000055555571f3fe in LAMMPS_NS::ReadData::command (this=0x5555561e0230, narg=1, arg=0x5555561e0170) at /home/hapo/Documents/software/lammps-29Aug2024/src/read_data.cpp:684 #4 0x00005555555e6339 in LAMMPS_NS::Input::execute_command (this=0x55555611f930) at /home/hapo/Documents/software/lammps-29Aug2024/src/input.cpp:868 #5 0x00005555555e2a59 in LAMMPS_NS::Input::file (this=0x55555611f930) at /home/hapo/Documents/software/lammps-29Aug2024/src/input.cpp:313 #6 0x00005555555e02f3 in main (argc=5, argv=0x7fffffffd638) at /home/hapo/Documents/software/lammps-29Aug2024/src/main.cpp:78
factor 函数计算有多少个分解方式,返回的是有多少种组合,各种组合储存在 factors 中
选择最好的分配方式
1 2 3 4 5 6 7 8 9 10 11 12 13 14
#0 LAMMPS_NS::ProcMap::best_factors (this=0x55555616a5e0, npossible=1, factors=0x5555561dfc40, best=0x5555560cf2d8, sx=1, sy=1, sz=1) at /home/hapo/Documents/software/lammps-29Aug2024/src/procmap.cpp:847 #1 0x0000555555ce8a27 in LAMMPS_NS::ProcMap::onelevel_grid (this=0x55555616a5e0, nprocs=1, user_procgrid=0x5555560cf2e4, procgrid=0x5555560cf2d8, otherflag=0, other_style=1443715056, other_procgrid=0x5555560cf3e4, other_coregrid=0x5555560cf3f0) at /home/hapo/Documents/software/lammps-29Aug2024/src/procmap.cpp:73 #2 0x000055555591dc4d in LAMMPS_NS::Comm::set_proc_grid (this=0x5555560cf1c0, outflag=1) at /home/hapo/Documents/software/lammps-29Aug2024/src/comm.cpp:566 #3 0x000055555571f3fe in LAMMPS_NS::ReadData::command (this=0x5555561e0230, narg=1, arg=0x5555561e0170) at /home/hapo/Documents/software/lammps-29Aug2024/src/read_data.cpp:684 #4 0x00005555555e6339 in LAMMPS_NS::Input::execute_command (this=0x55555611f930) at /home/hapo/Documents/software/lammps-29Aug2024/src/input.cpp:868 #5 0x00005555555e2a59 in LAMMPS_NS::Input::file (this=0x55555611f930) at /home/hapo/Documents/software/lammps-29Aug2024/src/input.cpp:313 #6 0x00005555555e02f3 in main (argc=5, argv=0x7fffffffd638) at /home/hapo/Documents/software/lammps-29Aug2024/src/main.cpp:78
best_factors 用于给出最好的组合方式。分割方式储存在 procgrid 中。
用 cart 方式创建 proc 和 grid 的映射
1 2 3 4 5 6 7 8 9 10 11
#0 LAMMPS_NS::ProcMap::cart_map (this=0x55555616a5e0, reorder=0, procgrid=0x5555560cf2d8, myloc=0x5555560cf2f0, procneigh=0x5555560cf2fc, grid2proc=0x5555561df2c0) at /home/hapo/Documents/software/lammps-29Aug2024/src/procmap.cpp:358 #1 0x000055555591e071 in LAMMPS_NS::Comm::set_proc_grid (this=0x5555560cf1c0, outflag=1) at /home/hapo/Documents/software/lammps-29Aug2024/src/comm.cpp:600 #2 0x000055555571f3fe in LAMMPS_NS::ReadData::command (this=0x5555561e0230, narg=1, arg=0x5555561e0170) at /home/hapo/Documents/software/lammps-29Aug2024/src/read_data.cpp:684 #3 0x00005555555e6339 in LAMMPS_NS::Input::execute_command (this=0x55555611f930) at /home/hapo/Documents/software/lammps-29Aug2024/src/input.cpp:868 #4 0x00005555555e2a59 in LAMMPS_NS::Input::file (this=0x55555611f930) at /home/hapo/Documents/software/lammps-29Aug2024/src/input.cpp:313 #5 0x00005555555e02f3 in main (argc=5, argv=0x7fffffffd638) at /home/hapo/Documents/software/lammps-29Aug2024/src/main.cpp:78
#0 LAMMPS_NS::ReadData::parse_keyword (this=0x5555561e0230, first=0) at /home/hapo/Documents/software/lammps-29Aug2024/src/read_data.cpp:2461 #1 0x0000555555722ff2 in LAMMPS_NS::ReadData::command (this=0x5555561e0230, narg=1, arg=0x5555561e0170) at /home/hapo/Documents/software/lammps-29Aug2024/src/read_data.cpp:1016 #2 0x00005555555e6339 in LAMMPS_NS::Input::execute_command (this=0x55555611f930) at /home/hapo/Documents/software/lammps-29Aug2024/src/input.cpp:868 #3 0x00005555555e2a59 in LAMMPS_NS::Input::file (this=0x55555611f930) at /home/hapo/Documents/software/lammps-29Aug2024/src/input.cpp:313 #4 0x00005555555e02f3 in main (argc=5, argv=0x7fffffffd638) at /home/hapo/Documents/software/lammps-29Aug2024/src/main.cpp:78
#0 LAMMPS_NS::Neighbor::Neighbor (this=0x5555561d0c10, lmp=0x55555616a4d0) at /home/hapo/Documents/software/lammps-29Aug2024/src/neighbor.cpp:125 #1 0x000055555560bc95 in LAMMPS_NS::LAMMPS::create (this=0x55555616a4d0) at /home/hapo/Documents/software/lammps-29Aug2024/src/lammps.cpp:858 #2 0x0000555555609f3a in LAMMPS_NS::LAMMPS::LAMMPS (this=0x55555616a4d0, narg=3, arg=0x7fffffffd668, communicator=0x55555607f7a0 <ompi_mpi_comm_world>) at /home/hapo/Documents/software/lammps-29Aug2024/src/lammps.cpp:744 #3 0x00005555555e02ff in main (argc=3, argv=0x7fffffffd668) at /home/hapo/Documents/software/lammps-29Aug2024/src/main.cpp:77
#0 LAMMPS_NS::Minimize::command (this=0x5555561dfc80, narg=4, arg=0x5555561e01b0) at /home/hapo/Documents/software/lammps-29Aug2024/src/minimize.cpp:34 #1 0x00005555555e6359 in LAMMPS_NS::Input::execute_command (this=0x55555611f910) at /home/hapo/Documents/software/lammps-29Aug2024/src/input.cpp:868 #2 0x00005555555e2a79 in LAMMPS_NS::Input::file (this=0x55555611f910) at /home/hapo/Documents/software/lammps-29Aug2024/src/input.cpp:313 #3 0x00005555555e0313 in main (argc=3, argv=0x7fffffffd668) at /home/hapo/Documents/software/lammps-29Aug2024/src/main.cpp:78
neighbor list 的 pair 部分的数据结构初始化
函数调用为:
1 2 3 4 5 6 7 8 9 10 11 12
#0 LAMMPS_NS::Neighbor::init_pair (this=0x5555561d0c10) at /home/hapo/Documents/software/lammps-29Aug2024/src/neighbor.cpp:803 #1 0x000055555569a595 in LAMMPS_NS::Neighbor::init (this=0x5555561d0c10) at /home/hapo/Documents/software/lammps-29Aug2024/src/neighbor.cpp:672 #2 0x000055555560ce0c in LAMMPS_NS::LAMMPS::init (this=0x55555616a4d0) at /home/hapo/Documents/software/lammps-29Aug2024/src/lammps.cpp:984 #3 0x000055555567b05f in LAMMPS_NS::Minimize::command (this=0x5555561dfc80, narg=4, arg=0x5555561e01b0) at /home/hapo/Documents/software/lammps-29Aug2024/src/minimize.cpp:57 #4 0x00005555555e6359 in LAMMPS_NS::Input::execute_command (this=0x55555611f910) at /home/hapo/Documents/software/lammps-29Aug2024/src/input.cpp:868 #5 0x00005555555e2a79 in LAMMPS_NS::Input::file (this=0x55555611f910) at /home/hapo/Documents/software/lammps-29Aug2024/src/input.cpp:313 #6 0x00005555555e0313 in main (argc=3, argv=0x7fffffffd668) at /home/hapo/Documents/software/lammps-29Aug2024/src/main.cpp:78