[MPI3 Fortran] Should new features be retrofitted to Fortran 77 bindings?

Bill Long longb at cray.com
Mon Dec 14 16:18:16 CST 2009



Craig Rasmussen wrote:
> Bill,
> 
> Meaning fixed form without explicit interfaces. 

You can write an include file that will compile in either fixed or free 
source form.  The trick is continuation lines, where you put & in column 
73 of the first line and & in column 6 of the second.  Otherwise, write 
in fixed form, which is just one particular choice of free form.


> 
> Some people around here would die before using any of that new-fangled stuff.  If it doesn't have 6 leading characters before a statement it isn't FORTRAN.

(Technically correct, since the capitalization change from FORTRAN to 
Fortran occurred with Fortran 90.)

If there are explicit interfaces in the include file and the user never 
sees them, I don't see the harm.  Sort of depressing that there are 
still people stuck so far in the past.  But, modern compilers will still 
compile their dusty decks.

The other topic of this thread has been whether a compiler named 'f77' 
or some variant thereof will compile a program with f95 features.  I 
can't speak for all vendors, but it would seem like a waste of effort to 
actually support two separate compilers, one for f77 and one for 
standard Fortran.  Cray avoids the issue by naming our compiler 'ftn', 
i.e. year-independent.  IBM supplies xlf77, xlf90, xlf03, ..., but these 
are all the same actual compiler binary.  The name does cause some 
different default options to be set, but the user certainly has access 
to the newer features without purchasing another compiler. GNU used to 
have g77, but that has been dropped in favor of gfortran.  I believe 
that g77 was ancient-only, but it is hard to imaging people still using 
it.  As I said before, a new compiler can still compile old codes, so 
there is no harm for users to use the new compiler even if they do not 
use the new features.  They can rename the compiler script if it makes 
them feel better.   At some point you have to say you are no longer 
going to work on new designs for inner tubes for car tires.

If the question is about Fortran 2003, I believe that Cray and IBM are 
the only compilers available with essentially full support.  Others 
should follow down the road. Some will probably start implementing 
Fortran 2008 features ahead of finishing Fortran 2003.  The trailing 
Fortran 2003 features will likely be the object-oriented programming 
stuff and parameterized derived types.  Neither of these has a big 
impact on the MPI interfaces.

Cheers,
Bill



> 
> -craig
> 
> On Dec 14, 2009, at 7:04 AM, Jeff Squyres wrote:
> 
>> I'm talking about codes that "include 'mpif.h'".
>>
>> If they are compiled with compilers like "pgif77" or other "*f77" compilers, will they still allow/obey newer Fortran language constructs (namely the things that we're discussing for the F2003 bindings)?
>>
>>
>> On Dec 11, 2009, at 5:47 PM, Bill Long wrote:
>>
>>> What do you mean by "Fortran 77 codes"?  There are codes that are
>>> written in fixed source form and others in free source form.  If by F77
>>> you mean fixed source form, then that should be accommodated.
>>> Otherwise, old codes that were written in the before ~ 1993  are still
>>> Fortran programs and should compile with modern compilers for today's
>>> incarnation of standard Fortran.  Apart from supporting fixed source
>>> form, what retrofit is necessary?
>>>
>>> Cheers,
>>> Bill
>>>
>>>
>>>
>>> Craig Rasmussen wrote:
>>>> Jeff raised an interesting question with me.  Should new features that are being considered for MPI-3 be retrofitted if possible for Fortran 77 codes?  Some users might say yes as they never intend to use modern Fortran features.  On the other hand, F77 is over 30 years old and so perhaps we should move on and not put support (money) into adding new features.
>>>>
>>>> The new Fortran MPI-3 bindings will allow users to link to codes using F77 bindings so if users want new bindings they only have
>>>> to use MPI3 locally.
>>>>
>>>> -craig
>>>>
>>>>
>>>> _______________________________________________
>>>> mpi3-fortran mailing list
>>>> mpi3-fortran at lists.mpi-forum.org
>>>> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-fortran
>>> --
>>> Bill Long                                           longb at cray.com
>>> Fortran Technical Support    &                 voice: 651-605-9024
>>> Bioinformatics Software Development            fax:   651-605-9142
>>> Cray Inc./Cray Plaza, Suite 210/380 Jackson St./St. Paul, MN 55101
>>>
>>>
>>> _______________________________________________
>>> mpi3-fortran mailing list
>>> mpi3-fortran at lists.mpi-forum.org
>>> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-fortran
>>>
>>
>> -- 
>> Jeff Squyres
>> jsquyres at cisco.com
>>
>>
>> _______________________________________________
>> mpi3-fortran mailing list
>> mpi3-fortran at lists.mpi-forum.org
>> http://lists.mpi-forum.org/mailman/listinfo.cgi/mpi3-fortran
> 

-- 
Bill Long                                           longb at cray.com
Fortran Technical Support    &                 voice: 651-605-9024
Bioinformatics Software Development            fax:   651-605-9142
Cray Inc./Cray Plaza, Suite 210/380 Jackson St./St. Paul, MN 55101





More information about the mpiwg-fortran mailing list