On Nov 23, 2011, at 1:28 PM, Tim Gallagher wrote: > I couldn't agree more about using the modern versions of Fortran! Oh the > fights we've had here about that one... > > I thought I read somewhere that petsc F90 wasn't working correctly/had > limited support, but perhaps that was old or incorrect. I think I got that > impression here: > > http://www.mcs.anl.gov/petsc/petsc-3.1/docs/manualpages/Sys/UsingFortran.html
"We recommend either 2 or 3." Only 1 is pure F77 style and there is probably no reason to use it. > > I will recompile it with the F90 turned on instead. You don't really have to change anything to use 2 or 3 , the same libraries, no different configuration. Just other examples Barry > > Thanks, > > Tim > > ----- Original Message ----- > From: "Barry Smith" <bsmith at mcs.anl.gov> > To: gtg085x at mail.gatech.edu, "For users of the development version of > PETSc" <petsc-dev at mcs.anl.gov> > Sent: Wednesday, November 23, 2011 2:16:59 PM > Subject: Re: [petsc-dev] Bug in example code > > > Tim, > > You must have array bounds checking turned on for Fortran with the Intel > debug version. The lines > > subroutine FormInitialGuess(X,ierr) > implicit none > > #include "ex5f.h" > > ! Input/output variables: > Vec X > PetscErrorCode ierr > > ! Declarations for use with local arrays: > PetscScalar lx_v(0:1) > PetscOffset lx_i > Vec localX > > will break that because we access outside th lx_f(0:1) array. Our Fortran > examples that use F77 have to violate the array bounds so must be compiled > without that checking. > > The Fortran 90 examples like ex5f90.F use F90 constructs and thus don't > violate bounds. If you plan to use Fortran it makes sense to use the F90 > version; after all 2011 >> 1977 :-) > > Barry > > > > On Nov 23, 2011, at 12:04 PM, Tim Gallagher wrote: > >> Hi, >> >> I just cloned the petsc-dev branch for the first time and built it with GCC >> with both release and debug options and the tests during make test worked >> fine. I then built it with Intel with release options and the tests worked. >> Then I compiled with debug options and one of the tests generates an error: >> >> Possible error running Fortran example src/snes/examples/tutorials/ex5f with >> 1 MPI process >> See http://www.mcs.anl.gov/petsc/documentation/faq.html >> forrtl: severe (408): fort: (2): Subscript #1 of the array LX_V has value >> 15092 which is greater than the upper bound of 1 >> >> Image PC Routine Line Source >> >> libirc.so 00007F4245C589AA Unknown Unknown Unknown >> libirc.so 00007F4245C574A6 Unknown Unknown Unknown >> libifcore.so.5 00007F4240A5B6FC Unknown Unknown Unknown >> libifcore.so.5 00007F42409CEDA2 Unknown Unknown Unknown >> libifcore.so.5 00007F42409CF323 Unknown Unknown Unknown >> ex5f 0000000000403F58 forminitialguess_ 294 ex5f.F >> ex5f 0000000000403719 MAIN__ 224 ex5f.F >> ex5f 00000000004028AC Unknown Unknown Unknown >> libc.so.6 00007F42401AB23D Unknown Unknown Unknown >> ex5f 00000000004027A9 Unknown Unknown Unknown >> >> I am using: >> >> Intel(R) Fortran Intel(R) 64 Compiler XE for applications running on >> Intel(R) 64, Version 12.1.1.256 Build 20111011 >> Copyright (C) 1985-2011 Intel Corporation. All rights reserved. >> >> and petsc was configured with: >> >> ./configure PETSC_ARCH=linux-intel-debug >> --prefix=/opt/petsc/intel/2011.sp1.1/debug --with-make-np=12 >> --with-clanguage=C++ --with-c-support=1--with-fortran-kernels=1 >> --with-shared-libraries=1--download-scalapack=yes --download-parmetis=yes >> --download-metis=yes --with-imagemagick=1 --download-sundials=yes >> --download-mpi4py=yes --download-petsc4py=yes --download-boost=yes >> --with-hdf5=1 --with-hdf5-dir=$HDF5_DIR --with-imagemagick=0 >> --with-shared-libraries --with-debugging=no COPTFLAGS='-g -C -traceback >> -fpe0 -check noarg_temp_created -fp-stack-check -check uninit' FOPTFLAGS='-g >> -C -traceback -fpe0 -check noarg_temp_created -fp-stack-check -check uninit' >> >> I am going to try looking for the problem, but since this is the first 10 >> minutes I've looked at the code, it will probably take me a lot longer than >> somebody else to find the problem. Let me know if there's anything I can do >> to help track down the problem. >> >> Thanks, >> >> Tim >