This is the mail archive of the
gsl-discuss@sources.redhat.com
mailing list for the GSL project.
Re: gsl and Intel C++ compiler for Linux
- From: Daniel Rohe <d dot rohe at fkf dot mpg dot de>
- To: John Ketchum <johnk at qualcomm dot com>
- Cc: gsl list <gsl-discuss at sources dot redhat dot com>
- Date: Sat, 04 May 2002 11:59:46 +0200
- Subject: Re: gsl and Intel C++ compiler for Linux
- References: <5.1.0.14.0.20020503151745.01df6f00@mail1.qualcomm.com>
looks familiar. I had the same problem and posted a similar question to
the list - maybe you find it in the archive.
If you leave out the tests below, everything's pretty much ok. I avoid
using
the gsl_isinf and gsl_isnan functions and use the ones that come with icc.
as far as I remember its an issue with icc's ansi-compliance, but I'm
not completely sure.
do you use icc-5 or icc-6? they might have fixed/changed something.
are the gsl-routines at the heart of your algorithm? if not I'd just use
the gsl built with gcc and compile your own program with icc. that's the
way I sometimes do it.
if you manage to build the binary with icc it would be interesting to
know about the perforamnce gain as compared to gcc.
daniel
John Ketchum wrote:
> Has anyone tried building gsl with the Intel c++ compiler for Linux?
> When I try, the make completes successfully, but make check fails
> early on, in the sys directory, like so---
>
> ...
> ....
> PASS: gsl_isinf(0) (0 observed vs 0 expected)
> PASS: gsl_isinf(1) (0 observed vs 0 expected)
> FAIL: gsl_isinf(inf) (0 observed vs 1 expected)
> FAIL: gsl_isinf(-inf) (0 observed vs -1 expected)
> PASS: gsl_isinf(nan) (0 observed vs 0 expected)
> PASS: gsl_isnan(0) (0 observed vs 0 expected)
> PASS: gsl_isnan(1) (0 observed vs 0 expected)
> PASS: gsl_isnan(inf) (0 observed vs 0 expected)
> FAIL: gsl_isnan(nan) (0 observed vs 1 expected)
> PASS: gsl_finite(0) (1 observed vs 1 expected)
> PASS: gsl_finite(1) (1 observed vs 1 expected)
> PASS: gsl_finite(inf) (0 observed vs 0 expected)
> PASS: gsl_finite(nan) (0 observed vs 0 expected)
> PASS: gsl_fdiv(2,3) (0.666667 observed vs 0.666667 expected)
> FAIL: test
> ===================
> 1 of 1 tests failed
> ===================
> make[2]: Leaving directory `/usr/src/redhat/SOURCES/gsl-1.1.1/sys'
> make[1]: Leaving directory `/usr/src/redhat/SOURCES/gsl-1.1.1/sys'
>
> It looks like all of the FAILS have to do with recognizing nan or inf.
>
> I have some speed-critical applications and was hoping to use
> processor-specific optimizations in the Intel compiler to speed up
> some gsl computations, but, it looks like there are some basic
> problems with the compiler. I have built gsl successfully with GCC,
> and only changed the compiler used when running ./configure. I tried
> various optimization settings, from turning off all optimization to
> trying to compile highly optimized code, and got the same result in
> make check.
>
> Any feedback or suggestions would be appreciated.
>
> John Ketchum
>