我正在使用 GNU parallel 来并行运行多个作业,如下所示:parallel python3 main.py arg ::: args*
。对于单线程作业,我曾经-j 100%
确保 1 个作业映射到 1 个核心。
现在,每个作业都有四个线程,我有 32 个核心。我想分配作业,使它们不重叠,即在四个不同的核心上同时运行 8 个作业。我不明白该怎么做。我试过了-j8
,我认为这会限制并行作业的数量。但它仍然一次启动所有作业 - 并将它们限制为 8 个核心?-j 25%
也没用……
答案1
-j 8
和在 32 核机器上执行的操作相同-j 25%
,因此如果不起作用,则表明您发现了错误。制作 MCVE stackoverflow.com/help/mcve。
但首先:获取最新版本以确保您不会受到已修复的错误的影响。