Dear all,
I'm new to Sunrise and I've been trying to run Sbc-example as a start, but mcrx crashes by failing in the line
ASSERT_ALL(original_intensity_<1e60); in xfer_impl.h. I looked into the file and found some commented lines
(see below) to set the "original_intensity", so I reran mcrx with those lines. The code went past the crashed
point, but it has more than 20 iterations for IR intensity shooing and never ends. Even if I reduce "nrays_ir"
to 10k, it takes more than 3 hours with 15+ iterations. I don't know if it is normal. I've barely changed the
given example parameters except the paths. Does anyone have any idea why this occurs?
Any advices will be grateful!
// i_out_ = i_in_*exp(-dtau_);
// original_intensity_ = dl*norm_*where(dtau_<1e-6,
// 0.5*(i_in_+i_out_),
// (i_in_-i_out_)/dtau_);
Can it be related to a bad build especially Blitz? Previously, I got a segmentation fault error in ir_grid.h due to
the line L_lambda_ *= prev_total_weight_;. I found a related report from the wiki and made a change from double
operators *= to =, and it worked.
Best,
Myoungwon
I've pasted gdb results and the mcrx stub file that I used for the run.
(gdb) where
#0 0x000000341bc2ffc5 in raise () from /lib64/libc.so.6
#1 0x000000341bc31a70 in abort () from /lib64/libc.so.6
#2 0x000000341bc29466 in __assert_fail () from /lib64/libc.so.6
#3 0x00000000004c3f31 in xassert_all (expr=...) at mcrx-debug.h:63
#4 0x000000000063fe37 in mcrx::xfer<mcrx::T_polychromatic_dust_model, mcrx::T_full_sed_adaptive_grid>::process_ray_forced (this=0x1333,
$?9=<value optimized out>) at xfer_impl.h:528
#5 0x00000000006701cb in mcrx::xfer<mcrx::T_polychromatic_dust_model, mcrx::T_full_sed_adaptive_grid>::ray_mainloop (this=0x1333,
$?2=<value optimized out>) at xfer_impl.h:382
#6 0x00000000006678be in mcrx::xfer<mcrx::T_polychromatic_dust_model, mcrx::T_full_sed_adaptive_grid>::worker_loop(tbb::atomic<long> &, long, boost::function<bool (mcrx::xfer<mcrx::T_polychromatic_dust_model, mcrx::T_full_sed_adaptive_grid> *, tbb::atomic<long> &, long)>) (
this=0x1333, n_rays=..., n_rays_desired=6, creation_func=Cannot access memory at address 0xffffffffffffffff
) at xfer_impl.h:258
#7 0x0000000000534b81 in mcrx::shooter_thread<mcrx::xfer<mcrx::dust_model<mcrx::scatterer<mcrx::polychromatic_scatterer_policy, mcrx::mcrx_rng_policy>, mcrx::cumulative_sampling, mcrx::mcrx_rng_policy>, mcrx::T_full_sed_adaptive_grid>, mcrx::scatter_shooter>::operator() (
this=0x1333, $i5=<value optimized out>) at shoot.h:395
#8 0x0000000000534760 in mcrx::shooter_thread<mcrx::xfer<mcrx::dust_model<mcrx::scatterer<mcrx::polychromatic_scatterer_policy, mcrx::mcrx_rng_policy>, mcrx::cumulative_sampling, mcrx::mcrx_rng_policy>, mcrx::T_full_sed_adaptive_grid>, mcrx::scatter_shooter>::operator() (
this=0x1333, $i5=<value optimized out>) at shoot.h:366
#9 0x000000000053463d in boost::detail::thread_data<boost::reference_wrapper<mcrx::shooter_thread<mcrx::xfer<mcrx::dust_model<mcrx::scatterer<mcrx::polychromatic_scatterer_policy, mcrx::mcrx_rng_policy>, mcrx::cumulative_sampling, mcrx::mcrx_rng_policy>, mcrx::T_full_sed_adaptive_grid>, mcrx::scatter_shooter> > >::run (this=0x1333, $?5=<value optimized out>)
at /work/01271/myjeon/boost_1_48_0/include/boost/thread/detail/thread.hpp:86
#10 0x00002b260923d7c5 in thread_proxy () from /work/01271/myjeon/boost_1_48_0/lib/libboost_thread.so.1.48.0
#11 0x000000341c80683d in start_thread () from /lib64/libpthread.so.0
#12 0x000000341bcd4fcd in clone () from /lib64/libc.so.6
(gdb) up
#1 0x000000341bc31a70 in abort () from /lib64/libc.so.6
(gdb) up
#2 0x000000341bc29466 in __assert_fail () from /lib64/libc.so.6
(gdb) up
#3 0x00000000004c3f31 in xassert_all (expr=...) at mcrx-debug.h:63
63 assert(0);
(gdb) up
#4 0x000000000063fe37 in mcrx::xfer<mcrx::T_polychromatic_dust_model, mcrx::T_full_sed_adaptive_grid>::process_ray_forced (this=0x1333,
$?9=<value optimized out>) at xfer_impl.h:528
528 ASSERT_ALL(original_intensity_<1e60);
(gdb) up
#5 0x00000000006701cb in mcrx::xfer<mcrx::T_polychromatic_dust_model, mcrx::T_full_sed_adaptive_grid>::ray_mainloop (this=0x1333,
$?2=<value optimized out>) at xfer_impl.h:382
382 process_ray_forced();
(gdb) up
#6 0x00000000006678be in mcrx::xfer<mcrx::T_polychromatic_dust_model, mcrx::T_full_sed_adaptive_grid>::worker_loop(tbb::atomic<long> &, long, boost::function<bool (mcrx::xfer<mcrx::T_polychromatic_dust_model, mcrx::T_full_sed_adaptive_grid> *, tbb::atomic<long> &, long)>) (
this=0x1333, n_rays=..., n_rays_desired=6, creation_func=Cannot access memory at address 0xffffffffffffffff
) at xfer_impl.h:258
258 ray_mainloop();
(gdb) up
#7 0x0000000000534b81 in mcrx::shooter_thread<mcrx::xfer<mcrx::dust_model<mcrx::scatterer<mcrx::polychromatic_scatterer_policy, mcrx::mcrx_rng_policy>, mcrx::cumulative_sampling, mcrx::mcrx_rng_policy>, mcrx::T_full_sed_adaptive_grid>, mcrx::scatter_shooter>::operator() (
this=0x1333, $i5=<value optimized out>) at shoot.h:395
395 s.consume (x, n_rays, n_rays_desired);
(gdb) up
#8 0x0000000000534760 in mcrx::shooter_thread<mcrx::xfer<mcrx::dust_model<mcrx::scatterer<mcrx::polychromatic_scatterer_policy, mcrx::mcrx_rng_policy>, mcrx::cumulative_sampling, mcrx::mcrx_rng_policy>, mcrx::T_full_sed_adaptive_grid>, mcrx::scatter_shooter>::operator() (
this=0x1333, $i5=<value optimized out>) at shoot.h:366
366 local_copy();
(gdb) up
#9 0x000000000053463d in boost::detail::thread_data<boost::reference_wrapper<mcrx::shooter_thread<mcrx::xfer<mcrx::dust_model<mcrx::scatterer<mcrx::polychromatic_scatterer_policy, mcrx::mcrx_rng_policy>, mcrx::cumulative_sampling, mcrx::mcrx_rng_policy>, mcrx::T_full_sed_adaptive_grid>, mcrx::scatter_shooter> > >::run (this=0x1333, $?5=<value optimized out>)
at /work/01271/myjeon/boost_1_48_0/include/boost/thread/detail/thread.hpp:86
86 f();
(gdb) up
#10 0x00002b260923d7c5 in thread_proxy () from /work/01271/myjeon/boost_1_48_0/lib/libboost_thread.so.1.48.0
(gdb) up
#11 0x000000341c80683d in start_thread () from /lib64/libpthread.so.0
(gdb) up
#12 0x000000341bcd4fcd in clone () from /lib64/libc.so.6
(gdb) up
Initial frame selected; you cannot go up.
# This file contains general settings for mcrx. It is included by the
# file-specific configuration files
input_file grid_000.fits
output_file mcrx_000.fits
# emergence parameters
ntheta 3
nphi 4
exclude_south_pole false
camera_positions campos
cameradistance 10000 / [kpc] Camera distance from origin
camerafov 50 / [kpc] Full field of view of cameras
npixels 300 / [] Camera image dimension
compress_images false
write_images_parallel false
# scatter parameters
grain_model wd01_Brent_PAH
wd01_parameter_set DL07_MW3.1_60
use_dl07_opacities true
grain_data_directory dust_data/crosssections
dust_to_gas_ratio 0. / dust is in metals now
dust_to_metal_ratio 0.4 / [] M_d/M_m from Dwek98
use_multiphase_model true
multiphase_t0_star 1.1e9 / [yr]
multiphase_rho_th 1.71e7 / [Msun/kpc^3]
nrays_nonscatter 100000
n_forced 1 / [] Only one forced scattering
i_forced 0 / [] Count scatterings only, not intensity
reference_wavelength .9e-6 / [m]
use_reference_for_emission false
check_energy_conservation false
nrays_scatter 100000
nrays_aux 100000
nrays_intensity 100000
n_wavelengths_intensity 6
# dust emission parameters
nrays_ir 100000
i_min 0.01
i_max 10
template_pah_fraction 0.5 / [] fraction of PAH grains that emit the template
ir_reference_wavelength 40e-6
ir_equilibrium_tolerance 0.001
ir_luminosity_percentile 0.01
integrate_ir ture
use_grain_temp_lookup true
ause_cuda false
n_threads 12
cpu_time_margin 180
wall_clock_margin 240
resubmit_command_variable RESUBMIT_COMMAND
seed 43
#use_hpm true
#CCfits_verbose true
#skip_postprocessing true
mcrx_version 4_00
mcrx_data_dir /work/01271/myjeon/sunrise/src/