Weightmixer: segmentation-fault

Use of Cobaya. camb, CLASS, cosmomc, compilers, etc.
Post Reply
Riccardo Catena
Posts: 2
Joined: October 09 2008
Affiliation: ITP, Heidelberg

Weightmixer: segmentation-fault

Post by Riccardo Catena » September 20 2011

Dear All,

I am trying to make run the last version of Weightmixer. However, I get a segmentation-fault error, and I can not understand why. The error occurs when the program try to execute the routine HealpixMap_udgrade (in particular the program stops when entering the routine HealpixMap_Free called by HealpixMap_udgrade). I attached here my Makefile and params.ini file. Can someone please help me?
Thank you in advance,
Riccardo

P.S. All the required .fits files have been downloaded from the links provided
in http://cosmologist.info/weightmixer/

_______________________________________________________________________

Makefile:
_______________________________________________________________________
#You will need to edit the LAPACK, HEALPIX and CFITSIO paths
#Currently only tested for ifort

F90C = mpif90 -i-dynamic
FFLAGS = -O2 -ip -W0 -WB -openmp -fpp -DMPI -vec_report0 -mkl=parallel
#-O3 -traceback -fpp -error-limit 3 -DMPI -DMPIPIX -DTHREEJ -heap-arrays -vec_report0

LAPACKL = -L/bwfs/home/hd/v68/lib/cfitsio-lib/lib \
-L/bwfs/home/hd/v68/cmb/Healpix_2.14a/lib \
-I/bwfs/home/hd/v68/cmb/Healpix_2.14a/include \
-L/opt/bwgrid/compiler/intel/cs_2011.0.013/composerxe-2011.0.084/mkl/lib/intel64 \
-lhealpix -lcfitsio -lmkl_lapack95_ilp64
#-lguide -lpthread
INCLUDE =
#-L/bwfs/home/hd/v68/lib/cfitsio-lib/lib -lcfitsio
#-L/opt/bwgrid/compiler/intel/cs_2011.0.013/composerxe-2011.0.084/mkl/lib/intel64 -lcfitsio -lhealpix -lmkl_lapack95_lp64 -lguide -lpthread


#-L/usr/local/cfitsio/intel10/64/3.040/lib \
# -L/usr/local/healpix/intel10/64/2.01/serial/lib \
# -I/usr/local/healpix/intel10/64/2.01/serial/include \
# -L/usr/local/intel/mkl/9.1/lib/em64t \
# -lhealpix -lcfitsio -lmkl_lapack -lmkl_em64t -lguide -lpthread




F90FLAGS = $(FFLAGS) $(INCLUDE) $(LAPACKL)
OBJFILES= toms760.o inifile.o utils.o Matrix_utils.o spin_alm_tools.o \
HealpixObj.o HealpixVis.o PseudoCl.o AsymmCouplings.o WeightMixer.o


default: weightmixer

spin_alm_tools.o: toms760.o
HealpixObj.o: spin_alm_tools.o
HealpixVis.o: HealpixObj.o
spin_alm_tools.o: utils.o
WeightMixer.o: HealpixVis.o PseudoCl.o inifile.o AsymmCouplings.o
AsymmCouplings.o: PseudoCl.o
PseudoCl.o: HealpixObj.o
Matrix_utils.o: utils.o
PseudoCl.o: Matrix_utils.o


.f.o:
f77 $(F90FLAGS) -c $<

%.o: %.f90
$(F90C) $(F90FLAGS) -c $*.f90

%.o: %.F90
$(F90C) $(F90FLAGS) -c $*.F90


weightmixer: WeightMixer.o
$(F90C) -o ../weightmixer $(OBJFILES) $(F90FLAGS)


clean:
rm -f *.o *.e* *.mod *.d *.pc *.obj core* *.il

cleanjobs:
rm -f *machine* pseudocl.o?* pseudocl.e?*




_______________________________________________________________________

params.ini:
_______________________________________________________________________
#Modify directories below
#Default setup does everything to WMAP5 maps to produce spectrum
#Can also do simulations. Once covariance computed once can set
#get_covariance = F to do subsequent runs quickly

w8dir = /bwfs/home/hd/v68/cmb/Healpix_2.14a/data/
#/usr/local/healpix/common/data/
input_data_dir = data/WMAP5/
# /data/aml1005/WMAP5/
#Might want to change data_dir to a data disk location
#Used for caching maps and matrices
data_dir = data/

nside = 1024
lmax= 1100
lmin_hybrid = 100

cross_spectra = T

get_covariance = T
get_signal_covariance=T
get_noise_covariance=T
wmap_like_files = F

get_analysis = T

get_sim = F
sim_noise = T
sim_signal = T
nsim = 30

out_file_root = WMAP5_AL
analysis_root =
sim_root =

nyears=5

nweights=2
weights(1) = uniform
weights(2) = invnoise

nchannels=2
channel_name(1) = W
channel_count(1) = 4
channel_Ghz(1)= 93.5
noise_sig0(1) = 5.899 6.565 6.926 6.761

channel_name(2) = V
channel_count(2) = 2
channel_Ghz(2) = 60.8
noise_sig0(2) = 3.314 2.953

channel_name(3) = Q
channel_count(3) = 2
noise_sig0(3) = 2.254 2.141

apodize_mask_fwhm = 20
noise_inv_fwhm = 15
#est_noise sets the pixel noise from the maps rather than using the values in this file
est_noise = T
point_source_A = 0.011
#pt source error seems to make no difference to best hybrid matrix so get set to zero
point_source_A_frac_error = 0

unapodized_mask = wmap_temperature_analysis_mask_r%RES%_5yr_v3.fits
processing_mask = wmap_processing_mask_r%RES%_5yr_v3.fits
beam_filename_format = wmap_%CHANNEL%%DA%_ampl_bl_5yr_v3.txt
year_filename_format = wmap_imap_r%RES%_yr%YEAR%_%CHANNEL%%DA%_v3.fits
#wmap_forered_imap_r%RES%_yr%YEAR%_%CHANNEL%%DA%_v3.fits
inv_noise_map = wmap_band_imap_r9_5yr_W_v3.fits

cls_file = WMAP5_lensedCls.dat
fid_cls_file = WMAP5_lensedCls.dat



########Other things are under development or may not work#########

action =

lmin= 2

fake_noise = 0

do_exact_like = F
min_support=0.99
l_exact=30
l_exact_margin=60

lensed_sim = F

fullsky_test=F
uniform_noise=F

map_unit = mK
beam_transfer = T
fwhm=7

pol_vec_size=3
#3 for TT, TE, EE or 4 to include BB. Doesn't current allow for TB etc.

check_cls_file1 =
check_cls_file2 =

cls_unlensed_sim_file = WMAP5_lensedCls.dat
cls_unlensed_sim_file_tensor =

want_pol = F

noise= 2e-4
noise_E_fac=4

#Set to -1 not to seed
rand_seed = -1

Antony Lewis
Posts: 1943
Joined: September 23 2004
Affiliation: University of Sussex
Contact:

Re: Weightmixer: segmentation-fault

Post by Antony Lewis » September 21 2011

You can try -heap-arrays. The ifort compiler has unfortunately over the years changed some things about how it handles testing uninitialized pointers, which can sometimes cause problems unless you put in lots of _Init statements to initialize all pointers before they are first accessed. Do you know where it crashes?

Antony Lewis
Posts: 1943
Joined: September 23 2004
Affiliation: University of Sussex
Contact:

Re: Weightmixer: segmentation-fault

Post by Antony Lewis » September 21 2011

Note that updated code for all the main functions are now included with LensPix (http://cosmologist.info/lenspix), which certainly works with latest intel compilers.

Also include -DMPIPIX to use the MPI-parallelized spherical transforms; it's not really designed for use on one CPU.

Post Reply