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
Weightmixer: segmentation-fault
-
- Posts: 2
- Joined: October 09 2008
- Affiliation: ITP, Heidelberg
-
- Posts: 1943
- Joined: September 23 2004
- Affiliation: University of Sussex
- Contact:
Re: Weightmixer: segmentation-fault
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?
-
- Posts: 1943
- Joined: September 23 2004
- Affiliation: University of Sussex
- Contact:
Re: Weightmixer: segmentation-fault
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.
Also include -DMPIPIX to use the MPI-parallelized spherical transforms; it's not really designed for use on one CPU.