gpt4 book ai didi

mpi - numactl --physcpubind 处理器迁移

转载 作者:行者123 更新时间:2023-12-05 08:00:52 24 4
gpt4 key购买 nike

我正在尝试使用 numactl 启动我的 mpi 应用程序 (Open MPI 1.4.5)。由于显然使用 --cpu-nodebind 的负载平衡不会在可用节点之间以循环方式分配我的进程,我想专门将我的进程限制在一组封闭的 cpu 上。通过这种方式,我计划根据每个节点上运行的线程数来确保节点之间的负载均衡。 --physcpubind 似乎根据 numactl 手册完成这项工作。

问题是 - 从我可以从 this 中提取的内容发布 - 使用 --phycpubind,允许进程迁移到这个 cpu 集内。另一个问题是,该组中的一些 cpu 仍未使用,而其他 cpu 被分配了两个或更多进程,因此运行时 CPU 使用率仅为 50% 或更少。为什么会发生这种情况,是否有解决此现象的方法?

亲切的问候

最佳答案

我想你可以试试这个(对我有用):

numactl --cpunodebind={cpu-core}  chrt -r 98 {your-app}

chrt 命令可让您建立调度策略,您可以在以下选项中进行选择:

Policy options:
-b, --batch set policy to SCHED_BATCH
-d, --deadline set policy to SCHED_DEADLINE
-f, --fifo set policy to SCHED_FIFO
-i, --idle set policy to SCHED_IDLE
-o, --other set policy to SCHED_OTHER
-r, --rr set policy to SCHED_RR (default)

编辑:数字 98 是优先级,在我的例子中,我正在运行一个时间关键进程。此外,您可能需要隔离您正在使用的 CPU,以防止调度程序向它们分配/移动进程。

关于mpi - numactl --physcpubind 处理器迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16950606/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com