【问题标题】:qsub Job using GNU parallel not running使用 GNU 并行的 qsub 作业未运行
【发布时间】:2017-06-25 16:51:39
【问题描述】:

我正在尝试使用 GNU 并行在多节点 (2) 和 20 的 PPN 中执行 qsub 作业,但是它显示了一些错误。

#!/bin/bash
#PBS -l nodes=2:ppn=20
#PBS -l walltime=02:00:00
#PBS -N down

cd $PBS_O_WORKDIR
module load gnu-parallel

for cdr in /scratch/data/v/mt/Downscale/*;do
  (cp /scratch/data/v/mt/DWN_FILE_NEW/* $cdr/)
  (cd $cdr && parallel -j20 --sshloginfile $PBS_NODEFILE 'echo {} | ./vari_1st_imge' ::: *.DS0 )
done

当我运行上述代码时,出现以下错误(请注意所有路径都已正确检查,并且没有 qsub 的相同代码在普通计算机上运行正常)

$ ./down 
parallel: Error: Cannot open echo {} | ./vari_1st_imge.

& for $qsub down -- 没有创建输出

我正在使用并行--version GNU 并行 20140622

请帮忙解决问题

【问题讨论】:

    标签: qsub


    【解决方案1】:

    首先尝试将--dryrun 添加到parallel

    但我的感觉是 $PBS_NODEFILE 出于某种原因未设置,并且 GNU Parallel 尝试将命令读取为 --sshloginfile

    对此进行测试:

    echo $PBS_NODEFILE
    (cd $cdr && parallel --sshloginfile $PBS_NODEFILE -j20 'echo {} | ./vari_1st_imge' ::: *.DS0 )
    

    如果 GNU Parallel 现在尝试打开 -j20,那么很明显它是空的。

    【讨论】:

    • 感谢您的回复,我尝试不使用 --sshloginfile $PBS_NODEFILE 代码运行。你能建议我如何设置 $PBS_NODEFILE。现在,当我尝试使用上述内容时出现错误:./down: line 14: module: command not found parallel: Error: Cannot open echo {} | ./vari_1st_imge.
    • 脚本找不到parallel 二进制文件。验证它是否以及它驻留在节点上的位置(例如,运行交互式作业并搜索它,或者只是询问集群管理员),然后将完整路径放入二进制文件,或将路径添加到 PATH 环境变量在脚本的开头。 .系统也可能已经设置为使用module 命令包含它。
    • 您的 PBS 管理员会知道为什么没有设置 $PBS_NODEFILE。我自己从未使用过 PBS 系统,但我的印象是 PBS 通常会自行设置此变量。
    猜你喜欢
    • 2018-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-27
    • 1970-01-01
    • 2019-09-26
    • 1970-01-01
    相关资源
    最近更新 更多