将cpu亲和力传递给julia的子进程

时间:2018-04-13 09:34:19

标签: julia taskset

我正在尝试使用

使用任务集来控制julia的CPU亲和力

taskset -c 1,2 julia Foo.jl

但是,Julia内部可能会生成此亲和力掩码似乎不适用的子进程。

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

1 个答案:

答案 0 :(得分:0)

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

那就是说,taskset采用PID参数,所以这是一个潜在的临时解决方案:

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

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