使用 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