我试图创建100个帧的N = 6000个原子的原子间距离。每个帧包含周期性边界框中的原子位置。我试图在python中使用多处理工具来并行化这个过程。主要是我使用map_async函数:
q=Pool(np)
for group in groups:
first_frames.append(group[0])
start1=timer()
#s=q.map(dipoles.new_create_neighborlist,first_frames)
s=q.map_async(dipoles.new_create_neighborlist,first_frames)
q.close()
q.join()
first_frames是包含原子位置等的对象列表。 first_frames列表的长度为1000.处理器数量为16.它启动良好并且计算没有问题。但是,经过一段时间后,进程使用的虚拟内存会增加并产生虚拟内存错误。 dipoles.new_create_neighborlist返回原子列表及其邻居列表。 我尝试过以前回答的方法,但没有奏效。我可以在这里找到什么?