[lsb-discuss] LSB and Fortran

Robert Schweikert Robert.Schweikert at abaqus.com
Wed Aug 2 07:05:43 PDT 2006

This got a good chuckle at the f2f in Boston, but I will not rest.

We need Fortran in the LSB and here is how I think this should work:
- specify a Fortran RTE library (libfort.so or whatever gFortran is 
  doing) this library contains the intrinsics from the F95 standard and 
  nothing else.
- symbols specification; all symbols are lower case and have an _ 
  (underscore) at the end (everyone is doing this today, thus this
  should be easy).
- specify a calling convention between C and FTN (for example the 
  length of a string is a hidden argument at the end of the argument 

I realize the last point is a bit outside what the LSB usually
specifies. However, it is necessary to keep everyone honest and
facilitate true Fortran interoperability. The passing of arguments is
consistent across compilers today, thus I do not see a big issue in just
getting this documented.

Why is Fortran needed?
As an example for the problem created by not having Fortran I would like
to use the MKL (Math Kernel Library; BLAS implementation) from AMD and
Intel for x86-64 (Opteron and EM64T) as an example. AMD claims that
their implementation of the MKL is much faster on the Opteron chip than
Intel's. This difference can be observed in benchmarks, thus it would be
nice if applications such as ours could switch between the Intel MKL and
the AMD mkl at runtime. However, since AMD's MKL is compiled with
Fortran and they refuse to use the Intel Fortran compiler loading the
AMD MKL into our process at runtime is not possible due to RTE
incompatibilities. In addition Novell/SUSE doesn't even provide any
Fortran rpm with their distribution.

An LSB Fortran run time environment specification would force
distributions to provide a generic RTE for Fortran and based on this we
could probably convince Intel to provide an RTE with all the expect
interfaces as well. The end effect is that the AMD MKL could run against
the Intel RTE.

I know there is potentially a lot of work attached to this. I'll be
happy to participate in this effort to get a Fortran RTE into the LSB.

Comments? Actions to be taken?

I realize this would be a 4.0 effort.

Robert Schweikert                   MAY THE SOURCE BE WITH YOU
(Robert.Schweikert at abaqus.com)                 LINUX
Phone : 401-276-7190
FAX : 401-276-4408

More information about the lsb-discuss mailing list