Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

Compiling gsl 1.15 with Intel 12.1

akiessling
Beginner
502 Views

I am trying to compile gsl 1.15 with Intel 12.1
I have tried the optimisation
CFLAGS="-O2 -m64 -Wpointer-arith -fno-strict-aliasing "
When I run make check, the following test fails:
FAIL: SV_decomp bigsparse [212]
FAIL: Singular Value Decomposition [66886]
4[0]: -63.9999999999570335 -64
4[1]: 899.999999999545594 900
FAIL: SV_solve hilbert(4) [233789]
FAIL: SVD Solve [233795]
FAIL: test
==================
1 of 1 test failed
==================
make[2]: *** [check-TESTS] Error 1
make[2]: Leaving directory `/raid/aak/Numerical/gsl-1.15/linalg'
make[1]: *** [check-am] Error 2
make[1]: Leaving directory `/raid/aak/Numerical/gsl-1.15/linalg'
make: *** [check-recursive] Error 1
Could someone let me know how to fix this?
Many thanks!
I am running on the following system:
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel Xeon CPU X5450 @ 3.00GHz
stepping : 6
cpu MHz : 2999.811
cache size : 6144 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 4
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 lahf_lm tpr_shadow vnmi flexpriority
bogomips : 5999.62
clflush size : 64
cache_alignment : 64
address sizes : 38 bits physical, 48 bits virtual
power management:
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel Xeon CPU X5450 @ 3.00GHz
stepping : 6
cpu MHz : 2999.811
cache size : 6144 KB
physical id : 1
siblings : 4
core id : 0
cpu cores : 4
apicid : 4
initial apicid : 4
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 lahf_lm tpr_shadow vnmi flexpriority
bogomips : 6000.03
clflush size : 64
cache_alignment : 64
address sizes : 38 bits physical, 48 bits virtual
power management:
processor : 2
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel Xeon CPU X5450 @ 3.00GHz
stepping : 6
cpu MHz : 2999.811
cache size : 6144 KB
physical id : 0
siblings : 4
core id : 1
cpu cores : 4
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 lahf_lm tpr_shadow vnmi flexpriority
bogomips : 5999.98
clflush size : 64
cache_alignment : 64
address sizes : 38 bits physical, 48 bits virtual
power management:
processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel Xeon CPU X5450 @ 3.00GHz
stepping : 6
cpu MHz : 2999.811
cache size : 6144 KB
physical id : 1
siblings : 4
core id : 1
cpu cores : 4
apicid : 5
initial apicid : 5
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 lahf_lm tpr_shadow vnmi flexpriority
bogomips : 6000.00
clflush size : 64
cache_alignment : 64
address sizes : 38 bits physical, 48 bits virtual
power management:
processor : 4
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel Xeon CPU X5450 @ 3.00GHz
stepping : 6
cpu MHz : 2999.811
cache size : 6144 KB
physical id : 0
siblings : 4
core id : 2
cpu cores : 4
apicid : 2
initial apicid : 2
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 lahf_lm tpr_shadow vnmi flexpriority
bogomips : 5999.99
clflush size : 64
cache_alignment : 64
address sizes : 38 bits physical, 48 bits virtual
power management:
processor : 5
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel Xeon CPU X5450 @ 3.00GHz
stepping : 6
cpu MHz : 2999.811
cache size : 6144 KB
physical id : 1
siblings : 4
core id : 2
cpu cores : 4
apicid : 6
initial apicid : 6
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 lahf_lm tpr_shadow vnmi flexpriority
bogomips : 6000.00
clflush size : 64
cache_alignment : 64
address sizes : 38 bits physical, 48 bits virtual
power management:
processor : 6
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel Xeon CPU X5450 @ 3.00GHz
stepping : 6
cpu MHz : 2999.811
cache size : 6144 KB
physical id : 0
siblings : 4
core id : 3
cpu cores : 4
apicid : 3
initial apicid : 3
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 lahf_lm tpr_shadow vnmi flexpriority
bogomips : 5999.97
clflush size : 64
cache_alignment : 64
address sizes : 38 bits physical, 48 bits virtual
power management:
processor : 7
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel Xeon CPU X5450 @ 3.00GHz
stepping : 6
cpu MHz : 2999.811
cache size : 6144 KB
physical id : 1
siblings : 4
core id : 3
cpu cores : 4
apicid : 7
initial apicid : 7
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 lahf_lm tpr_shadow vnmi flexpriority
bogomips : 5999.99
clflush size : 64
cache_alignment : 64
address sizes : 38 bits physical, 48 bits virtual
power management:
processor : 0vendor_id : GenuineIntelcpu family : 6model : 23model name : Intel Xeon CPU X5450 @ 3.00GHzstepping : 6cpu MHz : 2999.811cache size : 6144 KBphysical id : 0siblings : 4core id : 0cpu cores : 4apicid : 0initial apicid : 0fpu : yesfpu_exception : yescpuid level : 10wp : yesflags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 lahf_lm tpr_shadow vnmi flexprioritybogomips : 5999.62clflush size : 64cache_alignment : 64address sizes : 38 bits physical, 48 bits virtualpower management:
processor : 1vendor_id : GenuineIntelcpu family : 6model : 23model name : Intel Xeon CPU X5450 @ 3.00GHzstepping : 6cpu MHz : 2999.811cache size : 6144 KBphysical id : 1siblings : 4core id : 0cpu cores : 4apicid : 4initial apicid : 4fpu : yesfpu_exception : yescpuid level : 10wp : yesflags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 lahf_lm tpr_shadow vnmi flexprioritybogomips : 6000.03clflush size : 64cache_alignment : 64address sizes : 38 bits physical, 48 bits virtualpower management:
processor : 2vendor_id : GenuineIntelcpu family : 6model : 23model name : Intel Xeon CPU X5450 @ 3.00GHzstepping : 6cpu MHz : 2999.811cache size : 6144 KBphysical id : 0siblings : 4core id : 1cpu cores : 4apicid : 1initial apicid : 1fpu : yesfpu_exception : yescpuid level : 10wp : yesflags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 lahf_lm tpr_shadow vnmi flexprioritybogomips : 5999.98clflush size : 64cache_alignment : 64address sizes : 38 bits physical, 48 bits virtualpower management:
processor : 3vendor_id : GenuineIntelcpu family : 6model : 23model name : Intel Xeon CPU X5450 @ 3.00GHzstepping : 6cpu MHz : 2999.811cache size : 6144 KBphysical id : 1siblings : 4core id : 1cpu cores : 4apicid : 5initial apicid : 5fpu : yesfpu_exception : yescpuid level : 10wp : yesflags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 lahf_lm tpr_shadow vnmi flexprioritybogomips : 6000.00clflush size : 64cache_alignment : 64address sizes : 38 bits physical, 48 bits virtualpower management:
processor : 4vendor_id : GenuineIntelcpu family : 6model : 23model name : Intel Xeon CPU X5450 @ 3.00GHzstepping : 6cpu MHz : 2999.811cache size : 6144 KBphysical id : 0siblings : 4core id : 2cpu cores : 4apicid : 2initial apicid : 2fpu : yesfpu_exception : yescpuid level : 10wp : yesflags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 lahf_lm tpr_shadow vnmi flexprioritybogomips : 5999.99clflush size : 64cache_alignment : 64address sizes : 38 bits physical, 48 bits virtualpower management:
processor : 5vendor_id : GenuineIntelcpu family : 6model : 23model name : Intel Xeon CPU X5450 @ 3.00GHzstepping : 6cpu MHz : 2999.811cache size : 6144 KBphysical id : 1siblings : 4core id : 2cpu cores : 4apicid : 6initial apicid : 6fpu : yesfpu_exception : yescpuid level : 10wp : yesflags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 lahf_lm tpr_shadow vnmi flexprioritybogomips : 6000.00clflush size : 64cache_alignment : 64address sizes : 38 bits physical, 48 bits virtualpower management:
processor : 6vendor_id : GenuineIntelcpu family : 6model : 23model name : Intel Xeon CPU X5450 @ 3.00GHzstepping : 6cpu MHz : 2999.811cache size : 6144 KBphysical id : 0siblings : 4core id : 3cpu cores : 4apicid : 3initial apicid : 3fpu : yesfpu_exception : yescpuid level : 10wp : yesflags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 lahf_lm tpr_shadow vnmi flexprioritybogomips : 5999.97clflush size : 64cache_alignment : 64address sizes : 38 bits physical, 48 bits virtualpower management:
processor : 7vendor_id : GenuineIntelcpu family : 6model : 23model name : Intel Xeon CPU X5450 @ 3.00GHzstepping : 6cpu MHz : 2999.811cache size : 6144 KBphysical id : 1siblings : 4core id : 3cpu cores : 4apicid : 7initial apicid : 7fpu : yesfpu_exception : yescpuid level : 10wp : yesflags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca sse4_1 lahf_lm tpr_shadow vnmi flexprioritybogomips : 5999.99clflush size : 64cache_alignment : 64address sizes : 38 bits physical, 48 bits virtualpower management:


0 Kudos
1 Solution
Georg_Z_Intel
Employee
502 Views
Hello,

complementing Tim's answer:

Our compiler defaults to "-fp-model fast=1" which enables high optimization but at the cost of precision. Floating point exceptions are also turned off with this.

For scientific computations, however, precision is key. I don't know if GSL is making use of floating point exceptions but, just for the case you might try "-fp-model strict". This setting allows value safe optimizations with using floating point exceptions.

There are more things to tweak. You might want to take a look at this
http://software.intel.com/sites/products/documentation/studio/composer/en-us/2011/compiler_c/fpops/common/fpops_fp_model.htm
and this
http://software.intel.com/sites/products/documentation/studio/composer/en-us/2011/compiler_c/copts/common_options/option_fp_model.htm#option_fp_model

Best regards,

Georg Zitzlsberger

View solution in original post

0 Kudos
3 Replies
TimP
Honored Contributor III
502 Views
I don't know if you will find gsl experts here. However, if the quoted options are what you would use with gcc, you should try icc options more consistent with those, such as -fp-model source , possibly -no-vec.
0 Kudos
Georg_Z_Intel
Employee
503 Views
Hello,

complementing Tim's answer:

Our compiler defaults to "-fp-model fast=1" which enables high optimization but at the cost of precision. Floating point exceptions are also turned off with this.

For scientific computations, however, precision is key. I don't know if GSL is making use of floating point exceptions but, just for the case you might try "-fp-model strict". This setting allows value safe optimizations with using floating point exceptions.

There are more things to tweak. You might want to take a look at this
http://software.intel.com/sites/products/documentation/studio/composer/en-us/2011/compiler_c/fpops/common/fpops_fp_model.htm
and this
http://software.intel.com/sites/products/documentation/studio/composer/en-us/2011/compiler_c/copts/common_options/option_fp_model.htm#option_fp_model

Best regards,

Georg Zitzlsberger
0 Kudos
akiessling
Beginner
502 Views
I added"-fp-model strict" to the compiler flags and now pass all tests in make check.
Many many thanks for your help!
0 Kudos
Reply