【发布时间】:2017-04-27 10:59:41
【问题描述】:
我正在使用 GNU 并行来并行运行多个作业。
我想知道 GNU 并行是否包含一个命令,该命令允许向已经并行运行的进程添加 n 多个内核。
你有什么建议吗?
【问题讨论】:
标签: parallel-processing gnu-parallel
我正在使用 GNU 并行来并行运行多个作业。
我想知道 GNU 并行是否包含一个命令,该命令允许向已经并行运行的进程添加 n 多个内核。
你有什么建议吗?
【问题讨论】:
标签: parallel-processing gnu-parallel
如果您使用-j file,您可以更改file 的内容。来自man parallel:
--jobs 过程文件
-j 过程文件
--max-procs 过程文件
-P 过程文件
从文件中读取参数。使用 procfile 的内容作为 -j 的参数。例如。 procfile 可以包含字符串 100% 或 +2 或 10。如果在作业完成时更改了 procfile,则会再次读取 procfile 并计算新的作业数。如果数量低于以前,将允许正在运行的作业完成,但在达到所需的作业数量之前不会启动新的作业。这样就可以在 GNU 并行运行时更改同时运行的作业数量。
【讨论】:
parallel --jobs myprocfile ...。然后您可以在此处更改 myprocfile。如果您没有以此启动 GNU Parallel,则无法更改它。
echo 4 > myprocfile ; nohup time parallel -j myprocfile R CMD BATCH ::: *.R 或者如果屏幕可用screen parallel -j myprocfile R CMD BATCH ::: *.R CTRL-A d.