我的机器上存储了一个 C 文件,我希望使用外部服务器上的程序来执行该文件。这样做的原因是空间要求 - 我在外部服务器上没有存储空间,但我在本地计算机上有空间。如果我使用外部服务器在本地计算机上运行程序,我仍然可以利用外部服务器的优势吗?
例如,我使用“mpirun -np 16 ./cx”运行当前代码,但那是在我登录到服务器并且 cx 位于服务器可以访问的计算机上时。有没有办法使用“ssh”运行“mpirun”?
答案1
当您的命令位于本地系统上,并且您的文件参数位于远程系统上时...
使用流程替代。
在重击中
mpirun -np 16 <(ssh server cat c.x)
基本上,该<(command)
语法允许您将 shell 命令的输出转换为文件。
在 Zsh 中
mpirun -np 16 =(ssh server cat c.x)
当您的文件位于本地系统上并且您想在远程运行命令时...
ssh remote "mpirun -np 16 /dev/fd/0" < c.x
这可能有效也可能无效,具体取决于 mpirun 程序的需要。