目前,我的模型在4个进程上以离散网格投影方式运行。我创建网格的方式如下:
std::vector<int> processDimensions;
processDimensions.push_back(2);
processDimensions.push_back(2);
// The grid projection will contain agents of type VirusCellInteractionAgents, so that it can facilitate all agents types
// Then we can use the agent type identifier in each agent ID, to cast them to the correct type of agent.
discreteGridSpace = new repast::SharedDiscreteSpace<VirusCellInteractionAgents, repast::WrapAroundBorders, repast::SimpleAdder<VirusCellInteractionAgents>>("AgentsDeiscreteSpace", gridDimensions, processDimensions, 2, comm);我想尝试在8或16个进程上运行模型,所以我想知道在这种情况下processDimensions应该是什么。我试图将它保持在每个轴上,因为它最初是这样的,但是在第一个网格balance()调用之后,会导致以下错误
===================================================================================
= BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
= PID 71163 RUNNING AT Aleksandars-MBP
= EXIT CODE: 11
= CLEANING UP REMAINING PROCESSES
= YOU CAN IGNORE THE BELOW CLEANUP MESSAGES
===================================================================================
YOUR APPLICATION TERMINATED WITH THE EXIT STRING: Segmentation fault: 11 (signal 11)发布于 2022-03-03 18:20:03
维度应与进程的数量相乘。所以,4x2代表8,4x4代表16。
https://stackoverflow.com/questions/71326034
复制相似问题