24小时热门版块排行榜    

查看: 2383  |  回复: 7

新丰客

木虫 (小有名气)

[求助] shell脚本问题

写shell脚本提交sge,但提交集群之后qstat显示run一会就Eqw。刚刚接触shell脚本,跟着书学了一遍,sge以及mpi用法都是临时查网上的。主要疑问有这几个:
0,先说我要做的,就是通过不同大小的k点数目来测试其在多少k点时候能量已经开始收敛。我的做法是把pwscf的脚本K_POINTS部分先删掉成beta12.ktest.in文件,然后创建一个$k_points.in的文件存放不同的k点,然后用cat将原来pwscf脚本beta12.ktest.in文件连接起来成为一个新脚本conjunction.in。这些都通过for(())循环来用pw.x来执行。
1,shell虽然都当作字符处理但是我的np已经声明declare过了为何错误提示还会说Unable to read script file because of error: Numerical value invalid!
The initial portion of string "$np" contains no decimal number非十进制???
2,若把#$ -pe orte8x $np定义并行环境,后改成数字就可以交但运行后Eqw,投递任务出错,这是什么意思?
4,我再写sge或者pbe环境变量时到底需要编写那些必要变量(网上虽然有一些但是都必要的么)集群上并没有提示。
5,mpirun的用法上的理解,np是核数就是总共用np个核来计算,npool是通信池数,就是把总的k点分成npl个块来计算。np个核除以npl个块就是每个块用来计算的核数。是这个意思么?还有网上只有fortran和c的mpi编写,对于shell来说调用mpi时候用什么解释器么?还是说其中的那个#$ -S /bin/bash/就够了。
6,我有一个可以修改的脚本,但我希望能有朋友能帮忙解答一下问题,当然您要是给现成的脚本我也谢谢,可我还是希望能得到答复。谢谢。


#! /bin/bash/
#$ -S /bin/bash/
declare -i np=128
declare -i npl=16
np=${np}*1
npl=${npl}*1
INPUT_PATH="pwd"

#$ -pe orte8x $np
#$ -N beta12.kpoints.in
#$ -cwd
#$ -o /home/oai/work/tmp/outdir/err.out
#$ -j y
#$ -l h_cpu=12:00:00
#$ -q para0.q

if [ -f conjunction* ]
then rm -f conjunction*  
fi      
         
for((k=10;k <=30;k=k+10))
do      

cat > $k.points.in << EOF
K_POINTS {automatic}
$k $k 1 1 1 1
EOF


cat  beta12.ktest.in  $k.points.in > conjunction_$k.in


mpirun -np ${np} home/oai/work/software/espresso-5.2.1/bin/pw.x -npool $npl <$INPUT_PATH/conjunction_$k.in >> $INPUT_PATH/beta12.vcrelax_$k.out
  qsub $INPUT_PATH/beta12.kpoints.in
done
回复此楼

» 收录本帖的淘帖专辑推荐

pwscf

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

新丰客

木虫 (小有名气)

#! /bin/sh
#$ -S /bin/sh
module load intel/intel-ll
module load openmpi/intel-ll
export workdir=/home/oai/work/tmp/
export OMP_NUM_THREADS=1
export MKL_NUM_THREADS=1

#$ -pe orte 4
#$ -N beta12.kpoints.in
#$ -cwd
#$ -o /home/oai/work/tmp/outdir/err.out
#$ -j y
#$ -l h_cpu=12:00:00
#$ -q para0.q


declare -i np=128
declare -i npl=16
np=${np}*1
npl=${npl}*1
INPUT_PATH="pwd"


if [ -f conjunction* ]
then rm -f conjunction*
fi

for((k=10;k <=30;k=k+10))
do

cat > $k.points.in << EOF
K_POINTS {automatic}
$k $k 1 1 1 1
EOF

cat beta12.ktest.in $k.points.in > conjunction_$k.in

mpirun -np ${np} home/oai/work/software/espresso-5.1/bin/pw.x -npool $npl <$INPUT_PATH/conjunction_$k.in >> $INPUT_PATH/beta12.vcrelax_$k.out


qsub $INPUT_PATH/beta12.kpoints.in
done
这是按照集群要求新修改的
2楼2016-05-09 12:09:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

新丰客

木虫 (小有名气)

3楼2016-05-11 12:31:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

新丰客

木虫 (小有名气)

已解决
4楼2016-05-19 13:06:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cugmsn

木虫 (著名写手)

Don't stay in step,the profect partner is waiting there.
5楼2016-05-19 19:59:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cugmsn

木虫 (著名写手)

引用回帖:
4楼: Originally posted by 新丰客 at 2016-05-19 13:06:12
已解决

可以分享一下正确的脚本吗?

发自小木虫Android客户端
Don't stay in step,the profect partner is waiting there.
6楼2016-05-19 20:00:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

新丰客

木虫 (小有名气)

引用回帖:
6楼: Originally posted by cugmsn at 2016-05-19 20:00:29
可以分享一下正确的脚本吗?
...

其实把if以及for格式写正确就没什大错误了,写成提交脚本的形式更好
7楼2016-05-23 13:58:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

新丰客

木虫 (小有名气)

引用回帖:
6楼: Originally posted by cugmsn at 2016-05-19 20:00:29
可以分享一下正确的脚本吗?
...

#! /bin/sh
#$ -S /bin/sh
#module load intel/intel-11
#module load openmpi/intel-11
export workdir=`pwd`
export OMP_NUM_THREADS=1
export MKL_NUM_THREADS=1

nps=32
npls=4

NAME=pai3
if [ -f ${NAME} ]
then
   rm -fr ${NAME}
else
   mkdir ${NAME}
fi

cp ${NAME}.ktest.in `pwd`/${NAME}
cd `pwd`/${NAME}
#echo `pwd`
#echo "$workdir"


for (( k=10;k <=100;k=k+5 ))
do

cat > QSUB_${NAME}_kpoints_$k << LLL

#$ -pe orte8x 32
#$ -N kpoints
#$ -cwd
#$ -j y
#$ -l h_cpu=36:00:00
#$ -q para1.q


if [ -f *conjunction* ]
then rm -f *conjunction*
fi

if [ -f ${k}.points.in ]
then rm -f ${k}.points.in
fi

cat > $k.points.in << EOF
K_POINTS {automatic}
$k $k 1 1 1 1
EOF

cat ${NAME}.ktest.in $k.points.in > ${NAME}_conjunction_$k.in

mpirun -np ${nps} /home/gm/work/software/espresso-5.1/bin/pw.x -npool ${npls} <`pwd`/${NAME}_conjunction_$k.in >> `pwd`/${NAME}_vcrelax_$k.out

echo "$INPUT_PAHT"

rm -f $k.points.in ${NAME}_conjunction_$k.in
LLL

echo "`$workdir`"
#echo `pwd`
#echo "$INPUT_PATH"
qsub `pwd`/QSUB_${NAME}_kpoints_$k
#echo "$workdir"
done
8楼2016-05-23 14:01:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 新丰客 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 考研化学学硕调剂,一志愿985 +5 张vvvv 2026-03-15 7/350 2026-03-21 19:23 by ColorlessPI
[考研] 0703化学调剂 +4 妮妮ninicgb 2026-03-21 4/200 2026-03-21 18:39 by 学员8dgXkO
[考研] 工科0856求调剂 +3 沐析汀汀 2026-03-21 3/150 2026-03-21 18:30 by 学员8dgXkO
[考研] 生物学一志愿985,分数349求调剂 +3 zxts12 2026-03-21 3/150 2026-03-21 16:34 by 33来了真来了
[考研] 279分求调剂 一志愿211 +14 chaojifeixia 2026-03-19 15/750 2026-03-21 13:24 by zhukairuo
[考研] 材料学学硕080502 337求调剂-一志愿华中科技大学 +4 顺顺顺mr 2026-03-18 5/250 2026-03-21 10:22 by luoyongfeng
[考研] 南昌大学材料专硕311分求调剂 +6 77chaselx 2026-03-20 6/300 2026-03-21 07:24 by JourneyLucky
[考研] 316求调剂 +6 梁茜雯 2026-03-19 6/300 2026-03-21 06:32 by Ecowxq666!
[考研] 265求调剂 +3 Jack?k?y 2026-03-17 3/150 2026-03-21 03:17 by JourneyLucky
[考研] 271材料工程求调剂 +8 .6lL 2026-03-18 8/400 2026-03-21 00:58 by JourneyLucky
[考研] 材料专硕英一数二306 +7 z1z2z3879 2026-03-18 7/350 2026-03-20 23:48 by JourneyLucky
[考研] 321求调剂 +9 何润采123 2026-03-18 11/550 2026-03-20 23:19 by JourneyLucky
[考研] 材料与化工专硕调剂 +7 heming3743 2026-03-16 7/350 2026-03-20 19:31 by zhukairuo
[考研] 环境工程调剂 +9 大可digkids 2026-03-16 9/450 2026-03-20 17:38 by 醉在风里
[考研] 工科材料085601 279求调剂 +7 困于星晨 2026-03-17 9/450 2026-03-20 17:38 by 无懈可击111
[考研] 广西大学家禽遗传育种课题组2026年硕士招生(接收计算机专业调剂) +3 123阿标 2026-03-17 3/150 2026-03-20 15:58 by 飞行琦
[考研] 求调剂 +3 暗涌afhb 2026-03-16 3/150 2026-03-20 00:28 by 河南大学校友
[考研] 一志愿福大288有机化学,求调剂 +3 小木虫200408204 2026-03-18 3/150 2026-03-19 13:31 by houyaoxu
[考研] 318求调剂 +3 Yanyali 2026-03-15 3/150 2026-03-16 16:41 by houyaoxu
[考研] 0856专硕279求调剂 +5 加油加油!? 2026-03-15 5/250 2026-03-15 11:58 by 2020015
信息提示
请填处理意见