WMAP5 year code (v3) seg faults
-
- Posts: 11
- Joined: February 08 2005
WMAP5 year code (v3) seg faults
Has anybody had any luck getting this to run? On a RH Linux box using the
Intel MKL version 10.0.1.014, the test code seg faults, although it compiles
successfully. The problem seems to be the OPTIMIZE compiler flag.
I experience the same problem with MKL version 9.1. Turning off
the new Gibbs sampler does not address the problem, although it
appears the crash is in a different place.
Turning off OPTIMIZE makes the code run in all cases, although
(presumably) more slowly.
Initializing WMAP likelihood, version v3
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image PC Routine Line Source
test 08071B20 wmap_teeebb_lowl_ 452 WMAP_5yr_teeebb_pixlike.F90
test 08082D6C wmap_likelihood_5 401 WMAP_5yr_likelihood.F90
test 0805A32F MAIN__ 95 test.F90
The crash, incidentally, is in the WMAP_5yr_teeebb_pixlike.F90 file.
Intel MKL version 10.0.1.014, the test code seg faults, although it compiles
successfully. The problem seems to be the OPTIMIZE compiler flag.
I experience the same problem with MKL version 9.1. Turning off
the new Gibbs sampler does not address the problem, although it
appears the crash is in a different place.
Turning off OPTIMIZE makes the code run in all cases, although
(presumably) more slowly.
Initializing WMAP likelihood, version v3
forrtl: severe (174): SIGSEGV, segmentation fault occurred
Image PC Routine Line Source
test 08071B20 wmap_teeebb_lowl_ 452 WMAP_5yr_teeebb_pixlike.F90
test 08082D6C wmap_likelihood_5 401 WMAP_5yr_likelihood.F90
test 0805A32F MAIN__ 95 test.F90
The crash, incidentally, is in the WMAP_5yr_teeebb_pixlike.F90 file.
-
- Posts: 1947
- Joined: September 23 2004
- Affiliation: University of Sussex
- Contact:
Re: WMAP5 year code (v3) seg faults
Two fixes:
1. ulimit -s unlimited
2. (better for cluster) change the code so both declarations of ninvplninv2 are changed to real(8), and change dble(ninvplninv2) to ninvplninv2 in the arguments of DGEMV. [this prevents a large temporary array being created on the stack]
I have a probably-working cosmomc test build if anyone wants to try it.
1. ulimit -s unlimited
2. (better for cluster) change the code so both declarations of ninvplninv2 are changed to real(8), and change dble(ninvplninv2) to ninvplninv2 in the arguments of DGEMV. [this prevents a large temporary array being created on the stack]
I have a probably-working cosmomc test build if anyone wants to try it.
-
- Posts: 11
- Joined: February 08 2005
WMAP5 year code (v3) seg faults
Yup, both solutions fixed it. The latter is clearly better.
Thanks, Antony.
Thanks, Antony.
-
- Posts: 13
- Joined: May 11 2006
- Affiliation: Ohio State University
Re: WMAP5 year code (v3) seg faults
I'd be keen on trying it out if you could post/send the file.Antony Lewis wrote:Two fixes:
1. ulimit -s unlimited
2. (better for cluster) change the code so both declarations of ninvplninv2 are changed to real(8), and change dble(ninvplninv2) to ninvplninv2 in the arguments of DGEMV. [this prevents a large temporary array being created on the stack]
I have a probably-working cosmomc test build if anyone wants to try it.
-
- Posts: 5
- Joined: June 05 2009
- Affiliation: University of Queensland
WMAP5 year code (v3) seg faults
Runtime errors on WMAP5 likelihood_v3
I was getting the same seg faults running the test program as above, despite using the release that includes Antony's fixes (V3P1 RELEASE, E.Komatsu, March 5, 2009). My system is a Linux cluster with Intel compilers, version 10.1.018. I found two solutions for this setup.
(A) As a novice I used the Intel MKL link hints page to get suggested options: http://software.intel.com/en-us/article ... e-advisor/
After lots of trial and error I found the following worked (chosing 32-bit integers on the web page made the difference). The options I set on the Intel page were: Linux, Intel(R)64, Intel, Dynamic, 32-bit, Multi-thread, Intel, None. The (working) link command it gave (plus cfitsio) was:
LIBS = -L. -L$(CFITSIO)/lib -lcfitsio -L/opt/intel/mkl/10.0.5.025/lib/em64t -Wl,--start-group -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -Wl,--end-group -openmp -lpthread
(B) The Netlib Lapack library is installed on our system and linking to its lapack library alone gives working code too:
LIBS = -L. -L$(CFITSIO)/lib -lcfitsio -llapack
Hopefully this is of some use.
I was getting the same seg faults running the test program as above, despite using the release that includes Antony's fixes (V3P1 RELEASE, E.Komatsu, March 5, 2009). My system is a Linux cluster with Intel compilers, version 10.1.018. I found two solutions for this setup.
(A) As a novice I used the Intel MKL link hints page to get suggested options: http://software.intel.com/en-us/article ... e-advisor/
After lots of trial and error I found the following worked (chosing 32-bit integers on the web page made the difference). The options I set on the Intel page were: Linux, Intel(R)64, Intel, Dynamic, 32-bit, Multi-thread, Intel, None. The (working) link command it gave (plus cfitsio) was:
LIBS = -L. -L$(CFITSIO)/lib -lcfitsio -L/opt/intel/mkl/10.0.5.025/lib/em64t -Wl,--start-group -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -Wl,--end-group -openmp -lpthread
(B) The Netlib Lapack library is installed on our system and linking to its lapack library alone gives working code too:
LIBS = -L. -L$(CFITSIO)/lib -lcfitsio -llapack
Hopefully this is of some use.
-
- Posts: 5
- Joined: November 30 2011
- Affiliation: University of Montpellier
WMAP5 year code (v3) seg faults
Hi,
I, unfortunately, also get segmentation faults though cosmomc has compiled.
For some reason,
ulimit -s unlimited
does not help. When I try the second fix proposed by you Antony I can find
the function 'DGEMV' but nowhere can I find a variable 'ninvplninv2'. Is this
due to changed versions ? or in which files should this variable be ?
Thanks for helping
Karsten
PS: Working on a Dell with Intel processor Intel(R) Core(TM)2 CPU
T5500 @ 1.66GHz and gfortran version 4.4
I, unfortunately, also get segmentation faults though cosmomc has compiled.
For some reason,
ulimit -s unlimited
does not help. When I try the second fix proposed by you Antony I can find
the function 'DGEMV' but nowhere can I find a variable 'ninvplninv2'. Is this
due to changed versions ? or in which files should this variable be ?
Thanks for helping
Karsten
PS: Working on a Dell with Intel processor Intel(R) Core(TM)2 CPU
T5500 @ 1.66GHz and gfortran version 4.4
-
- Posts: 5
- Joined: November 30 2011
- Affiliation: University of Montpellier
WMAP5 year code (v3) seg faults
Sorry, found the variables 'ninvplninv2' but the problem seemed to have been
now fixed by the WMAP team.
However, my segmentation faults still persist !
Karsten
now fixed by the WMAP team.
However, my segmentation faults still persist !
Karsten