我应该如何从并行 R 的子实例调用外部程序?该问题也可能发生在其他情况下,但我正在使用library(foreach)
and library(doFuture)
基于 slurm 的 HPC。作为一个例子,我创建了一个hello.txt
其中包含"hello world"
,在我的 R 脚本中,我在之前和之内有以下几行%dopar% {}
:
message(getwd())
system("echo 'hello directly'")
system("cat hello.txt")
结果在.out
的文件sbatch
在我要求两个之后,运行看起来像这样%dopar%
迭代次数:
/lustre/scratch/myuser
hello directly
hello world
/lustre/scratch/myuser
/lustre/scratch/myuser
Error in { : task 2 failed - "cannot open the connection"
Calls: %dopar% -> <Anonymous>
因此,登录节点上的主 R 实例和计算节点上的子实例似乎具有相同的工作目录,并且处理相同的文件对于早期的原生 R 函数来说并不是问题。但是,执行system()
计算节点上由于某种原因失败。有什么帮助吗?
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)