We’re running some popgen simulations on an OS X workstation in the lab, and I’m trying to squeeze everything out of it I can by using the Intel Compiler 11, “icc.” Our code uses GSL so I’ve had to compile it with icc as well and that is where the fun begins. This is what I learned.
make checkis very important to ensure that GSL is compiled correctly- GSL does not like
-fastbecause it doesn’t like-ipo. I’m not sure if it is because-iposhouldn’t be used with libraries anyway. - GSL does not like optimizations that reduce the precision of floating point operations
- GSL’s ode-intval library does not like icc’s vectorization
To optimally compile GSL and pass all of its tests, I used the following flags:
-O3 -xHost -DNDEBUG -fp-model precise -fp-model source
However, for the ode-intval library, I had to edit the Makefile and add -no-vec to get it to compile right.

