0

这是我正在尝试在超级计算机上提交的 sbatch 脚本(称为 myjob):(tomo 是我要运行的 fortran 包的名称,该包从名为“tomo.inp”的文件中读取其输入。另外,我遵守了它与英特尔编译器。)

    #!/bin/bash
    #SBATCH -J myjob
    #SBATCH -o myjob.%j.out 
    #SBATCH -e myjob.%j.err
    #SBATCH --mail-type=ALL
    #SBATCH -p shared
    #SBATCH -t 1:00:00
    #SBATCH -N 1
    #SBATCH -n 1
    #SBATCH --ntasks-per-node=1
    #SBATCH --job-name=hybrid
    #SBATCH -A myprojectname
    #SBATCH --export=ALL

    module purge
    module load cpu
    module load gcc
    module load mvapich2
    module load slurm

   ./tomo

通过输入“sbatch myjob”命令,我得到两个文件,myjob.err 和 myjob.out,分别如下:

    myjob.err:    
    forrtl: severe (24): end-of-file during read, unit 5, file /proc/3124592/fd/0
    Image              PC                Routine            Line        Source             
    tomo       000000000052707B  Unknown               Unknown  Unknown
    tomo       000000000054EB0E  Unknown               Unknown  Unknown
    tomo       0000000000404960  Unknown               Unknown  Unknown
    tomo       0000000000403022  Unknown               Unknown  Unknown
    libc-2.28.so       00001555549E3493  __libc_start_main     Unknown  Unknown
    tomo       0000000000402F2E  Unknown               Unknown  Unknown

    myjob.out:
    Size of tmp_vp          =                    14  GB
    Size of tmp_vp_index    =                    14  GB
    Size of tmp_vp_dep      =                     2  GB
    Size of tmp_vp_dep_index=                     2  GB
    Size of IW()=   5.771855      MB
    Size of RW()=   2.885927      MB
    starting tomo...                           Sat Mar  5 15:40:42 2022

    PARAMETER INPUT FILE [tomo.inp <ret>]:

这是与此错误相关的此 fortran 包(即 tomo.f)的一部分代码:

   !--- get input parameter file name:
            narguments = iargc()
            if(narguments.lt.1) then
               write(*,'(/,a)') 'PARAMETER INPUT FILE [tomo.inp <ret>]:'
               read(5,'(a)') fn_inp
               if(trimlen(fn_inp).le.1) then
                   fn_inp= 'tomo.inp' !default input file name
               else
                   fn_inp= fn_inp(1:trimlen(fn_inp))
               endif
            else
               call getarg(1,fn_inp)
            endif
            inquire(FILE= fn_inp,exist=ex)
            if(.not. ex) stop' >>> ERROR OPENING INPUT PARAMETER FILE.'

我还尝试通过 srun ( srun --partition=debug --pty --account=myprojectname --nodes=1 --ntasks-per-node=4 -t 00:30:00 --wait=0 --export=ALL ./tomo) 运行该作业以查看问题所在,并要求输入文件 tomo.inp。当我输入输入文件名时,我在 tomo.inp 中得到输入文件的描述,然后出现以下错误:

forrtl: severe (24): end-of-file during read, unit -5, file Internal List-Directed Read
Image              PC                Routine            Line        Source             
tomo       000000000052707B  Unknown               Unknown  Unknown
tomo       000000000054C512  Unknown               Unknown  Unknown
tomo       00000000004EB225  Unknown               Unknown  Unknown
tomo       00000000004B0401  Unknown               Unknown  Unknown
tomo      0000000000403022  Unknown               Unknown  Unknown
libc-2.28.so       00001555549E3493  __libc_start_main     Unknown  Unknown
tomo       0000000000402F2E  Unknown               Unknown  Unknown
srun: error: exp-1-36: task 0: Exited with exit code 24

任何帮助,将不胜感激。非常感谢。

4

0 回答 0