[AMBER-Developers] Request for comments on Fortran vs. C versions of blas, lapack, etc.

From: case <case.biomaps.rutgers.edu>
Date: Wed, 16 Sep 2009 22:17:13 -0400

Hi everyone:

As many of you know, the amber10 and amber11 source code trees have both
Fortran versions of some standard libraries (arpack, lapack, blas), and
their C equivalents (carpack, clapack, cblas). The C equivalents (created by
f2c) are there because it used to be the AmberTools did not require a Fortran
compiler, so the C-libraries allowed us to use this functionality without
requiring fortran.

For other reasons, we now require the presence of a fortran compiler for
both AmberTools and Amber, so the question arises about which code source
should be used. Both the Fortran and C versions are supported by netlib.

Right now, the Makefiles only use the C versions, and the fortran versions
are not accessed. But it would be quite simple to switch. Here is some of
what I know about the tradeoffs:

1. The fortran versions were the "original" ones, and the C versions are
translations. But there should not be any real functional difference. In
fact, either can be replaced with other libraries (like MKL or Goto).

2. The C versions require f2c, which leads to some problems with complex
variables; the f2c headers may be in conflict with <complex.h>, which has
already lead to some problems. Basically, complex data types (both real and
double precision) are better establshed in the Fortran community than in the C
one.

3. The fortran routines are easier to read and understand (and potentially to
modify, although I doubt that we would be doing that...these are *standard*
libraries, after all.)

4. If we stick with C, then some things like nab could still work even for
machines that don't have a Fortran compiler.

5. We could, of course, continue to distribute both, but I'd prefer not to do
that, since it increases out testing burden. But I'd be interested in
arguments in favor of this, if they are out there.

So, do people on the list have items to add to this list? PLEASE, do not
start a general discussion of the relative merits of different programming
languages. I'm looking for specific experience with these particular
libraries. My general impression is that the fortran versions are more
portable, but would be happy to hear of any other relevant experience.


...thx...dac


_______________________________________________
AMBER-Developers mailing list
AMBER-Developers.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber-developers
Received on Wed Sep 16 2009 - 19:30:02 PDT
Custom Search