- 积分
- 72
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2022-9-23
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 Carly5 于 2024-1-23 18:44 编辑
大家好,请问运行WRF时怎样可以将Ntasks in X 1 , ntasks in Y 1 变为Ntasks in X 4 , ntasks in Y 4?就是单个运行变为多个,我编译时选择的dmpar. 应该是可以多程序运行的?
我提交的slurm脚本为:
#!/bin/bash
# run this bash shell use: sbatch <name of this shell>
# read all your jobs by command: squeue -u <your user name>
# read this job by command: squeue -j <this job id, when you submit it will produce>
# read more details by using sacct instead of squeue
# cancel this job by command: scancel <this job id>
# Specifies which SLURM partition your script will run in
# (zen4 or zen 16, for RAM > 4G, recommend zen16)
#SBATCH --partition=zen16
# Specify the number of CPU cores
#SBATCH --nodes=1
# Specify the number of processes per core
#SBATCH --ntasks-per-node=44
#SBATCH --ntasks-per-core=1
# Specify the RAM (default unit is MB)
#SBATCH --mem=260G
# asking time could be in minute time=120 or 2:00:00 or 1-00:00:00(24H)
#SBATCH --time=1-00:00:00
# Since our task is being processed in the background,
# sending an email to us when the task is completed (--mail-type=END)
# will help us to know the progress of the task.
# We can also choose to send an email during other processing phases,
# such as START, FAIL, and ALL.
# job information
cat << EOF
------------------------------------------------------------------
Job submit on $SLURM_SUBMIT_HOST by $SLURM_JOB_USER
JobID=$SLURM_JOBID Running_Node=$SLURM_NODELIST
Node=$SLURM_JOB_NUM_NODES Task=$SLURM_NTASKS
------------------------------------------------------------------
EOF
# Begin of section with executable commands
set -e # Instructs a shell to exit if a command fails, i.e., if it outputs a non-zero exit status.
ls -l # View files in the current work path.
# The command line of the program you want to run
# (for matlab, it may be matlab -nodesktop -nosplash -r <your matlab filename, note: filename not
mpirun -np 44 ./wrf.exe > wrf.out 2>&1
但是只有rsl.out.0000一个文件,并且显示如下信息:
taskid: 0 hostname: spirit64-10
Quilting with 1 groups of 0 I/O tasks.
Ntasks in X 1 , ntasks in Y 1
说明我多程序运行没有成功吧应该
我运行wrf4小时后出现如下报错:
Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
Backtrace for this error:
#0 0x1468bac3ad11 in ???
#1 0x1468bac39ee5 in ???
#2 0x1468ba8d508f in ???
at /build/glibc-wuryBv/glibc-2.31/signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0
#3 0x5614f1e2c73f in ???
#4 0x5614f1e31d04 in ???
#5 0x5614f1e35d82 in ???
#6 0x5614f1614315 in ???
#7 0x5614f0e3cea5 in ???
#8 0x5614f0883e18 in ???
#9 0x5614f0719273 in ???
#10 0x5614ef75b03d in ???
#11 0x5614ef75b6aa in ???
#12 0x5614ef75b6aa in ???
#13 0x5614ef6e1ff7 in ???
#14 0x5614ef6e1a2e in ???
#15 0x1468ba8b6082 in __libc_start_main
at ../csu/libc-start.c:308
#16 0x5614ef6e1a6d in ???
#17 0xffffffffffffffff in ???
我在论坛上看,给的建议是运用多程序跑,所以有了我在开头提出的问题。
怎样可以将Ntasks in X 1 , ntasks in Y 1 变为Ntasks in X 4 , ntasks in Y 4?
谢谢大家
|
|