![GNU Parallel:每个节点上的启动脚本](https://linux22.com/image/116963/GNU%20Parallel%EF%BC%9A%E6%AF%8F%E4%B8%AA%E8%8A%82%E7%82%B9%E4%B8%8A%E7%9A%84%E5%90%AF%E5%8A%A8%E8%84%9A%E6%9C%AC.png)
使用 GNU Parallel 时,有没有办法在每个节点上运行启动(或拆卸)脚本?
例如,我希望在许多多核节点之间分配(和平衡)许多单线程任务(特别是使用 PBS 从共享 HPC 集群分配哪些节点)。对于每个新节点,在运行任务之前需要一次性运行一些设置命令(例如加载环境模块)。
答案1
你能用吗--nonall
?
parallel --nonall --slf $PBS_NODEFILE setup.sh
如果正在设置环境,这将不起作用。为此你可以尝试:
env_parallel --record-env
[load the environment]
seq 100 | env_parallel --slf $PBS_NODEFILE --env _ echo do the job