为什么在python异步操作期间虚拟内存会增长?

2024-10-06 09:31:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建N=6000个原子的原子间距离为100帧。每一帧包含一个周期性边界盒中的原子位置。我正在尝试使用python中的多处理工具来并行化这个过程。我主要使用map\u 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()

第一帧是包含原子位置等的对象列表。 第一帧列表的长度为1000。处理器数量为16。它启动良好,计算没有问题。然而,经过一段时间后,进程使用的虚拟内存会增长,并产生虚拟内存错误。 偶极子。创造新的邻居返回原子及其邻域列表。 我尝试了以前的回答方法,但没有工作。我会错过什么?你知道吗


Tags: 距离map列表newasyncframescreategroup