1

我正在尝试使用任务集来控制 julia 的 CPU 亲和力

任务集-c 1,2 julia Foo.jl

但是,在内部,Julia 生成的子进程可能似乎不适用于此关联掩码。

所以 mu 问题是:我可以强制一个进程及其所有子进程限制为 cpu-s 1 到 2。

4

1 回答 1

0

我可以在 HPC 环境中看到用例,所以这似乎值得在 github 上提出功能请求。

也就是说,taskset需要一个 PID 参数,所以这是一个潜在的临时解决方案:

pids = map(x -> fetch(@spawnat x getpid()), procs())
map(x -> run(`taskset -c 1,2 -p $x`), pids)

(虽然未经测试,目前在 Mac 上)

于 2018-04-14T01:29:38.697 回答