[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Help-gsl] GSL on OSX: Optimal compilation and linking to Fortran
From: |
Stephen Cornell |
Subject: |
[Help-gsl] GSL on OSX: Optimal compilation and linking to Fortran |
Date: |
Wed, 17 Nov 2004 13:36:52 +0000 |
Platform: Powermac G5 dual 2.5GHZ, Mac OSX 10.3.6
GSL 1.5, compiled with GCC 3.3 and CFLAGS="-Wno-long-double -O3
-funroll-loops -mtune=G5 -mcpu=G5 -mpowerpc64"
IBM XL Fortran 8.1
What is the best way to get good performance from GSL compiled with
GCC, linked to Fortran programs compiled with IBM XL Fortran?
I was delighted to discover that it is straightforward to call GSL
routines from Fortran programs compiled with IBM XF Fortran. All that
is required is to use call-by-value for the arguments using %VAL() in
the Fortran program, and compile with -U to preserve the case of
function names. However, binaries created in this way seem to run very
slowly compared with other libraries, compilers, or platforms. For
instance, I have some simulation code that frequently calculates a
Bessel function. Sample run times (using 64 bit reals throughout):
Powermac, using gsl-sf-besselK0, IBM XLF: 190 secs
Powermac, using bessk0 from Numerical recipes for Fortran, IBM XLF: 60
secs
Athlon 1.53GHZ/Linux, using DBK0 from libssl2 and Lahey Fujitsu Fortran
9.5: 135 secs
When using other code with no external library, the Powermac/XLF is
typically faster than the Athlon/LF9561 by a factor of two or so -
which is what I would expect given the G5 is a 64 bit processor running
at a higher clock speed.
Are there obvious things to add to CFLAGS (see above) when compiling
GSL to get the required performance boost? Would I get a huge
improvement if I compiled GSL with the IBM XLC compiler, for which I
don't currently have a license? Is the problem unavoidable, given that
I'm linking C code to Fortran code? Are the GSL routines just much
more careful, and therefore slower?
--
Stephen Cornell address@hidden +44-113-3432899
School of Biology, University of Leeds, Leeds, LS2 9JT, UK
- [Help-gsl] GSL on OSX: Optimal compilation and linking to Fortran,
Stephen Cornell <=