![仅按顺序运行的 R 脚本,有没有办法将其执行并行到多核?](https://linux22.com/image/729000/%E4%BB%85%E6%8C%89%E9%A1%BA%E5%BA%8F%E8%BF%90%E8%A1%8C%E7%9A%84%20R%20%E8%84%9A%E6%9C%AC%EF%BC%8C%E6%9C%89%E6%B2%A1%E6%9C%89%E5%8A%9E%E6%B3%95%E5%B0%86%E5%85%B6%E6%89%A7%E8%A1%8C%E5%B9%B6%E8%A1%8C%E5%88%B0%E5%A4%9A%E6%A0%B8%EF%BC%9F.png)
我有一些 R 脚本,它们只能按顺序运行,不能分成块,或者无法使用 R 或任何其他语言的任何并行库。
有什么方法可以将代码的顺序执行分发到多个核心或者网络中的多个服务器上?以加快执行速度?
答案1
因此我们假设您可以运行:
./my_script.R arg1
arg1
并且您想在..上运行脚本arg1000
。那么您可以使用 GNU Parallel:
parallel ./my_script.R {} ::: arg1 arg2 arg3 .. arg1000
这将my_script.R
每个 CPU 线程启动一个。
如果您有多个服务器可供使用,您可以ssh
:
parallel -Sserver1 -Sserver2 ./my_script.R {} ::: arg1 arg2 arg3 .. arg1000
如果这没有回答您的问题,请详细说明您的情况。