我有一个名为“minvappmpi”的程序,它是并行的,它本身调用 qsub 作为子例程。
当我在集群上使用该程序时,它会抛出错误
qsub: command not found
如果我想使用“qsub”提交另一份工作,那么一切都很好。只有当我在程序中调用“qsub”时,才会以某种方式找不到该命令。
我认为问题与路径有关:不知何故,我工作的环境知道可执行文件“qsub”所在的位置,但集群不知道?
我想知道:首先,如何确定批处理环境的路径是什么,以及它是否与登录环境的路径不同,其次,是否有办法更改批处理环境的路径没有root权限的批处理环境?
非常感谢你的帮助!
答案1
好的!我已经进步了!
我尝试提交我的工作
qsub -V run.sh
据我所知,这会将 qsub 命令环境中的所有变量导出到批处理环境中。这非常有效,现在批处理环境知道“qsub”在哪里:-)。
但我有一个新问题。
我需要在集群上提交作业
qsub -P Projectname
而我的程序不知道这一点!它只是调用“qsub”。
有什么办法可以解决这个问题而无需重新编译吗?我不想重新编译,因为我正在远程运行该程序,并且远程计算机上没有所有正确的库(并且没有 root 权限就无法安装它们:-))
非常感谢你的帮助!