[CIG-SEISMO] SPECFEM2D-6.0.0 MPI compile errors using openmpi

Dimitri Komatitsch dimitri.komatitsch at univ-pau.fr
Fri Oct 8 07:13:53 PDT 2010


Hi,

Yes, 132 is part of one of the old Fortran standards (Fortran77 has a 
72-character limit, extended to 132 in Fortran90 or Fortran95 I guess).
Most compilers do not implement it by default, but GNU gfortran does
(rightfully so according to the standard...).

The 72-character limit comes from the not-so-good old days of punched 
cards, which had a width that was limited to 72 or so.

Dimitri.

On 10/08/2010 03:49 PM, Dylan Mikesell wrote:
> Hi Dimitri,
>
> 132 characters per line seems like a strange restriction to me, but that's
> how it is I guess. Thanks for the response and looking forward to Pieyre's
> fix.
>
> Pieyre, can you please send a message when you finish so that I can update
> my SVN copy. Thanks!
>
> Best Regards,
>
> Dylan
>
>
>>
>> Dear Dylan, dear all,
>>
>> Pieyre Le Loher also noticed that yesterday (in the 2D version
>> and in the 3D version as well).
>>
>> What happens is that GNU gfortran checks very carefully that the code
>> conforms to the Fortran95 standard, while Intel ifort (that most of the
>> developers use, in particular at Princeton) is not as strict (e.g.
>> you can have lines longer than 132 characters etc, while gfortran stops
>> in that case).
>>
>> Basically the error you mention is a line that is longer than 132
>> characters.
>>
>> Pieyre, could you please cut it with an "&" and svn commit the change?
>>
>> More generally, let us make sure that all developers check that the code
>> gives no warning with both Intel ifort and GNU gfortran (which is free)
>> before committing changes to the SVN server.
>>
>> There are similar problems in the 3D code. Pieyre, could you please fix
>> them as well, as we discussed yesterday?
>>
>> Dylan, what you can do is run svn update tomorrow or on Monday, once
>> Pieyre is done fixing the problems.
>>
>> Thanks,
>> Dimitri.
>>
>>
>> On 10/05/2010 07:09 PM, Dylan Mikesell wrote:
>>> Hi Everyone,
>>>
>>> I am trying to compile SPECFEM2D-6.0.0 on a new multicore cluster. This
>>> is the first time I have tried compiling with MPI. My Makefile is below,
>>> as well as the error I get during compiling. The error occurs while
>>> compiling assemble_MPI.F90. Does anyone have any ideas? Does it have to
>>> do with the version of mpif90 I am using?
>>> Thanks,
>>>
>>> Dylan Mikesell
>>>
>>> $ mpif90 --version
>>> GNU Fortran (GCC) 4.1.2 20080704 (Red Hat 4.1.2-48)
>>>
>>>
>>> my Makefile:
>>> # GNU gfortran
>>> #F90 = gfortran
>>> #F90 = mpif90 -DUSE_MPI -DUSE_METIS -DUSE_SCOTCH
>>> F90 = mpif90 -DUSE_MPI
>>> CC = gcc
>>> FLAGS_NOCHECK = -std=gnu -fimplicit-none -frange-check -O3 -pedantic
>>> -pedantic-errors -Wunused -Waliasing -Wampersand -Wline-truncation
>>> -Wsurprising -Wunderflow -fno-trapping-math
>>> FLAGS_CHECK = $(FLAGS_NOCHECK) -fbounds-check
>>>
>>>
>>> my Error:
>>> mpif90 -DUSE_MPI  -std=gnu -fimplicit-none -frange-check -O3 -pedantic
>>> -pedantic-errors -Wunused -Waliasing -Wampersand -Wline-truncation
>>> -Wsurprising -Wunderflow -fno-trapping-math  -fbounds-check -c -o
>>> obj/assemble_MPI.o assemble_MPI.F90
>>>     In file assemble_MPI.F90:349
>>>
>>>      double precision,
>>> dimension(max_ibool_interfaces_size_ac+max_ibool_interfaces
>>>                     1
>>> Error: Syntax error in data declaration at (1)
>>>     In file assemble_MPI.F90:349
>>>
>>> ace)
>>>        1
>>> Warning: Line truncated at (1)
>>>     In file assemble_MPI.F90:350
>>>
>>>           buffer_send_faces_scalar,&
>>>          1
>>> Error: Unclassifiable statement at (1)
>>>     In file assemble_MPI.F90:365
>>>
>>>                 array_val1(ibool_interfaces_acoustic(i,num_interface))
>>>                                                                      1
>>> Error: Unexpected STATEMENT FUNCTION statement at (1)
>>>     In file assemble_MPI.F90:371
>>>
>>>                 array_val2(ibool_interfaces_elastic(i,num_interface))
>>>                                                                     1
>>> Error: Unexpected STATEMENT FUNCTION statement at (1)
>>>     In file assemble_MPI.F90:377
>>>
>>>                 array_val3(ibool_interfaces_poroelastic(i,num_interface))
>>>                                                                         1
>>> Error: Unexpected STATEMENT FUNCTION statement at (1)
>>>     In file assemble_MPI.F90:382
>>>
>>>                 array_val4(ibool_interfaces_poroelastic(i,num_interface))
>>>                                                                         1
>>> Error: Unexpected STATEMENT FUNCTION statement at (1)
>>>     In file assemble_MPI.F90:385
>>>
>>>         call MPI_ISSEND( buffer_send_faces_scalar(1,num_interface),&
>>>                        1
>>> Error: Function 'buffer_send_faces_scalar' at (1) has no IMPLICIT type
>>>     In file assemble_MPI.F90:395
>>>
>>>         call MPI_recv ( buffer_recv_faces_scalar(1,num_interface),&
>>>                       1
>>> Error: Function 'buffer_recv_faces_scalar' at (1) has no IMPLICIT type
>>>     In file assemble_MPI.F90:406
>>>
>>>                 buffer_recv_faces_scalar(ipoin,num_interface)
>>>                                        1
>>> Error: Function 'buffer_recv_faces_scalar' at (1) has no IMPLICIT type
>>>     In file assemble_MPI.F90:412
>>>
>>>                 buffer_recv_faces_scalar(ipoin,num_interface)
>>>                                        1
>>> Error: Function 'buffer_recv_faces_scalar' at (1) has no IMPLICIT type
>>>     In file assemble_MPI.F90:418
>>>
>>>                 buffer_recv_faces_scalar(ipoin,num_interface)
>>>                                        1
>>> Error: Function 'buffer_recv_faces_scalar' at (1) has no IMPLICIT type
>>>     In file assemble_MPI.F90:423
>>>
>>>                 buffer_recv_faces_scalar(ipoin,num_interface)
>>>                                        1
>>> Error: Function 'buffer_recv_faces_scalar' at (1) has no IMPLICIT type
>>>     In file assemble_MPI.F90:780
>>>
>>> e)) +
>>>        1
>>> Error: Syntax error in expression at (1)
>>>     In file assemble_MPI.F90:780
>>>
>>> )) +
>>>        1
>>> Warning: Line truncated at (1)
>>>     In file assemble_MPI.F90:781
>>>
>>>                 buffer_recv_faces_vector_pos(ipoin+1:ipoin+2,inum_interface)
>>>                1
>>> Error: Unclassifiable statement at (1)
>>>     In file assemble_MPI.F90:787
>>>
>>> e)) +
>>>        1
>>> Error: Syntax error in expression at (1)
>>>     In file assemble_MPI.F90:787
>>>
>>> )) +
>>>        1
>>> Warning: Line truncated at (1)
>>>     In file assemble_MPI.F90:788
>>>
>>>                 buffer_recv_faces_vector_pow(ipoin+1:ipoin+2,inum_interface)
>>>                1
>>> Error: Unclassifiable statement at (1)
>>> make: *** [obj/assemble_MPI.o] Error 1
>>>
>>> _______________________________________________
>>> CIG-SEISMO mailing list
>>> CIG-SEISMO at geodynamics.org
>>> http://geodynamics.org/cgi-bin/mailman/listinfo/cig-seismo
>>>
>>
>> --
>> Dimitri Komatitsch - dimitri.komatitsch aT univ-pau.fr
>> Professor, University of Pau, Institut universitaire de France,
>> CNRS and INRIA Magique3D, France   http://www.univ-pau.fr/~dkomati1
>>
>
>

-- 
Dimitri Komatitsch - dimitri.komatitsch aT univ-pau.fr
Professor, University of Pau, Institut universitaire de France,
CNRS and INRIA Magique3D, France   http://www.univ-pau.fr/~dkomati1


More information about the CIG-SEISMO mailing list