Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
Intel Customer Support will be observing the Martin Luther King holiday on Monday, Jan. 17, and will return on Tues. Jan. 18.
For the latest information on Intel’s response to the Log4j/Log4Shell vulnerability, please see Intel-SA-00646
26851 Discussions

Unable to read in values thru namelist in Fortran after using PETSc 64bit indices in linux

Wee_Beng_T_
Beginner
116 Views

Hi,

I found that I am unable to read in values thru namelist in Fortran after using PETSc 64bit indices in linux. It is compiled using Intel Fortran 2018

I have a parameter txt file which is read in using namelist in Fortran:

namelist /body_input/ no_body, convex_body, motion_type, hover, wing_config  ...

do ijk=0,num_procs-1
 
    call MPI_Barrier(MPI_COMM_WORLD,ierr)
 
     if (ijk == myid) then


        open (unit = 44 , FILE = "ibm3d_input.txt" , status = "old", iostat = openstatus(4))

        if (openstatus(4) > 0) then

            print *, "ibm3d_input file not present or wrong filename."

            stop

        end if

        read (44,nml = solver_input)

        read (44,nml = grid_input)

        read (44,nml = body_input)...


After using PETSc 64bit indices, my code aborts and I realise that it is because the values have became NaN. Strangely, it does not occur in windows with VS2008. That was Intel Fortran 2013.

I wonder if it's a bug with the Intel Fortran compiler 2018.

Anyone has similar experience?

0 Kudos
2 Replies
Steve_Lionel
Black Belt Retired Employee
116 Views

I suspect a bug in your program that is causing memory to be overwritten. That you did not see it before does not imply a compiler bug. You have some debugging to do. Comment out code until you find the change that causes the problem to go away. That often (but not always) helps identify the actual culprit.

mecej4
Black Belt
116 Views

What do you mean by "PETSc 64bit indices"? Are these different from 64-bit signed integers?

You have provided very little information about the abort. For instance, where did the program abort? What have you tried to find that location? Do you see an error message just before the abort?

Can you provide a simplified version of your program (preferably, one that does not use MPI) that demonstrates the problem?

Reply