我一直在大学的一台本地机器上工作,该机器位于我可以访问的服务器上。
我有一些C代码并能够按预期执行代码的并行运行。
但是当我在其他地方使用 ssh 时我得到
$ mpirun -np 4 prime.c
/usr/lib/command-not-found: /usr/bin/python3: bad interpreter: Permission denied
现在我在大学机器上有两个终端选项卡,一个在 ssh 下,它给了我上面的内容,和在家里一样。另一个选项卡没有 ssh,但工作正常。
me@server:~/Desktop/path/to/folder$ mpirun -np 4 prime.c
我无法弄清楚,因为我根本没有运行 Python 脚本。我在大学里没有 root 权限,但当我在那里时这不是问题。
任何建议都很好。
答案1
现在我在大学机器上有两个终端选项卡,一个在 ssh 下,它给了我上面的内容,和在家里一样。另一个选项卡没有 ssh,但工作正常。
hostname -f
您可以通过在两个选项卡中运行或hostname -i
比较结果来检查它是否实际上是同一台机器。
另外,在大学机器上运行ssh localhost
然后运行您的 mpi 命令。我希望它会运行良好并证明它实际上与 ssh 无关。只是您连接的机器具有不同的配置。
答案2
根据您的 shell 配置,您可能$PATH
在交互运行时没有相同的配置。尝试通过 ssh 登录到交互式 shell echo $PATH
,然后通过客户端上的单个命令行执行相同的操作。