diff --git a/.gitignore b/.gitignore index 68bc17f..fb8a33c 100644 --- a/.gitignore +++ b/.gitignore @@ -158,3 +158,7 @@ cython_debug/ # and can be added to the global gitignore or merged into this file. For a more nuclear # option (not recommended) you can uncomment the following to ignore the entire idea folder. #.idea/ + +# Borg +*allocation_stats_0.txt +*timing_stats_0.txt diff --git a/borg_velocity/likelihood.py b/borg_velocity/likelihood.py index 9bbbac7..26bfbe9 100644 --- a/borg_velocity/likelihood.py +++ b/borg_velocity/likelihood.py @@ -19,7 +19,7 @@ class VelocityBORGLikelihood(borg.likelihood.BaseLikelihood): HADES likelihood for distance-tracers """ - def __init__(self, fwd: borg.forward.BaseForwardModel, param_model: forwards.NullForward, ini_file: str) -> None: + def __init__(self, fwd: borg.forward.BaseForwardModel, param_model: forwards.NullForward, fwd_vel: borg.forward.BaseForwardModel, ini_file: str) -> None: """ Initialises the VelocityBORGLikelihood class @@ -27,6 +27,7 @@ class VelocityBORGLikelihood(borg.likelihood.BaseLikelihood): - fwd (borg.forward.BaseForwardModel): The forward model to be used in the likelihood. - param_model (forwards.NullForward): An empty forward model for storing model parameters. - ini_file (str): The name of the ini file containing the model and borg parameters. + ADD FW_VEL HERE """ self.ini_file = ini_file @@ -80,6 +81,7 @@ class VelocityBORGLikelihood(borg.likelihood.BaseLikelihood): # Define the forward models self.fwd = fwd self.fwd_param = param_model + self.fwd_vel = fwd_vel # Initialise model parameters model_params = { @@ -93,12 +95,13 @@ class VelocityBORGLikelihood(borg.likelihood.BaseLikelihood): # Initialise cosmological parameters cpar = utils.get_cosmopar(self.ini_file) self.fwd.setCosmoParams(cpar) + # self.fwd_vel.setCosmoParams(cpar) self.fwd_param.setCosmoParams(cpar) self.updateCosmology(cpar) myprint(f"Original cosmological parameters: {self.fwd.getCosmoParams()}") # Initialise derivative - self.grad_like = jax.grad(self.dens2like) + self.grad_like = jax.grad(self.dens2like, argnums=(0,1)) def initializeLikelihood(self, state: borg.likelihood.MarkovState) -> None: @@ -135,6 +138,7 @@ class VelocityBORGLikelihood(borg.likelihood.BaseLikelihood): cpar = state['cosmology'] cpar.omega_q = 1. - cpar.omega_m - cpar.omega_k self.fwd.setCosmoParams(cpar) + # self.fwd_vel.setCosmoParams(cpar) self.fwd_param.setCosmoParams(cpar) @@ -155,6 +159,7 @@ class VelocityBORGLikelihood(borg.likelihood.BaseLikelihood): cpar.omega_q = 1. - cpar.omega_m - cpar.omega_k self.fwd.setCosmoParams(cpar) + # self.fwd_vel.setCosmoParams(cpar) self.fwd_param.setCosmoParams(cpar) # Compute growth rate @@ -218,9 +223,8 @@ class VelocityBORGLikelihood(borg.likelihood.BaseLikelihood): elif self.run_type == 'velmass': raise NotImplementedError elif self.run_type == 'mock': - np.random.seed(self.mock_seed) self.coord_true, self.coord_meas, self.sig_mu, self.vr_true, self.cz_obs = \ - mock_maker.borg_mock(s_hat, state, self.fwd, self.ini_file) + mock_maker.borg_mock(s_hat, state, self.fwd, self.fwd_vel, self.ini_file, seed=self.mock_seed) else: raise NotImplementedError @@ -228,7 +232,7 @@ class VelocityBORGLikelihood(borg.likelihood.BaseLikelihood): self.generateMBData() - def dens2like(self, output_density: np.ndarray): + def dens2like(self, output_density: np.ndarray, output_velocity: np.ndarray): """ Given stored distance tracer data, computes the negative log-likelihood of the data for this final density field. @@ -246,9 +250,10 @@ class VelocityBORGLikelihood(borg.likelihood.BaseLikelihood): bulk_flow = jnp.array([self.fwd_param.getModelParam('nullforward', 'bulk_flow_x'), self.fwd_param.getModelParam('nullforward', 'bulk_flow_y'), self.fwd_param.getModelParam('nullforward', 'bulk_flow_z')]) - v = forwards.dens2vel_linear(output_density, self.f, - self.fwd.getOutputBoxModel().L[0], self.smooth_R) - v = v + self.bulk_flow.reshape((3, 1, 1, 1)) + # v = forwards.dens2vel_linear(output_density, self.f, + # self.fwd.getOutputBoxModel().L[0], self.smooth_R) + # v = v + self.bulk_flow.reshape((3, 1, 1, 1)) + v = output_velocity + self.bulk_flow.reshape((3, 1, 1, 1)) omega_m = self.fwd.getCosmoParams().omega_m @@ -298,10 +303,14 @@ class VelocityBORGLikelihood(borg.likelihood.BaseLikelihood): output_density = np.zeros((N,N,N)) self.fwd.forwardModel_v2(s_hat) self.fwd.getDensityFinal(output_density) + + # Get velocity field + output_velocity = self.fwd_vel.getVelocityField() self.delta = output_density + self.vel = output_velocity - L = self.dens2like(output_density) + L = self.dens2like(output_density, output_velocity) myprint(f"var(s_hat): {np.var(s_hat)}, Call to logLike: {L}") return L @@ -326,14 +335,22 @@ class VelocityBORGLikelihood(borg.likelihood.BaseLikelihood): output_density = np.zeros((N,N,N)) self.fwd.forwardModel_v2(s_hat) self.fwd.getDensityFinal(output_density) + + # Get velocity field + output_velocity = self.fwd_vel.getVelocityField() - mygradient = self.grad_like(output_density) + # getlike(dens, vel) + mygradient, velgradient = self.grad_like(output_density, output_velocity) + mygradient = np.array(mygradient, dtype=np.float64) - + vgradient = np.array(velgradient, dtype=np.float64) + + self.fwd_vel.computeAdjointModel(vgradient) self.fwd.adjointModel_v2(mygradient) mygrad_hat = np.zeros(s_hat.shape, dtype=np.complex128) self.fwd.getAdjointModel(mygrad_hat) - + self.fwd.clearAdjointGradient() + return mygrad_hat @@ -344,7 +361,7 @@ class VelocityBORGLikelihood(borg.likelihood.BaseLikelihood): - state (borg.state.State): The state object containing the final density field. """ self.updateCosmology(self.fwd.getCosmoParams()) - self.dens2like(self.delta) + self.dens2like(self.delta, self.vel) state["BORG_final_density"][:] = self.delta @@ -422,7 +439,7 @@ def build_gravity_model(state: borg.likelihood.MarkovState, box: borg.forward.Bo """ - global chain, fwd_param + global chain, fwd_param, fwd_vel myprint("Building gravity model") if ini_file is None: @@ -448,7 +465,7 @@ def build_gravity_model(state: borg.likelihood.MarkovState, box: borg.forward.Bo if config['model']['gravity'] == 'linear': raise NotImplementedError(config['model']['gravity']) elif config['model']['gravity'] == 'lpt': - chain @= borg.forward.model_lib.M_LPT_CIC( + mod = borg.forward.model_lib.M_LPT_CIC( box, opts=dict(a_initial=af, a_final=af, @@ -457,7 +474,7 @@ def build_gravity_model(state: borg.likelihood.MarkovState, box: borg.forward.Bo lightcone=False, part_factor=1.01,)) elif config['model']['gravity'] == '2lpt': - chain @= borg.forward.model_lib.M_2LPT_CIC( + mod = borg.forward.model_lib.M_2LPT_CIC( box, opts=dict(a_initial=af, a_final=af, @@ -466,7 +483,7 @@ def build_gravity_model(state: borg.likelihood.MarkovState, box: borg.forward.Bo lightcone=False, part_factor=1.01,)) elif config['model']['gravity'] == 'pm': - chain @= borg.forward.model_lib.M_PM_CIC( + mod = borg.forward.model_lib.M_PM_CIC( box, opts=dict(a_initial=af, a_final=af, @@ -478,7 +495,7 @@ def build_gravity_model(state: borg.likelihood.MarkovState, box: borg.forward.Bo pm_nsteps=int(config['model']['nsteps']), tcola=False)) elif config['model']['gravity'] == 'cola': - chain @= borg.forward.model_lib.M_PM_CIC( + mod = borg.forward.model_lib.M_PM_CIC( box, opts=dict(a_initial=af, a_final=af, @@ -492,6 +509,9 @@ def build_gravity_model(state: borg.likelihood.MarkovState, box: borg.forward.Bo else: raise NotImplementedError(config['model']['gravity']) + mod.accumulateAdjoint(True) + chain @= mod + # Cosmological parameters if ini_file is None: cpar = utils.get_cosmopar(borg.getIniConfigurationFilename()) @@ -501,10 +521,13 @@ def build_gravity_model(state: borg.likelihood.MarkovState, box: borg.forward.Bo # This is the forward model for the model parameters fwd_param = borg.forward.ChainForwardModel(box) - mod = forwards.NullForward(box) - fwd_param.addModel(mod) + mod_null = forwards.NullForward(box) + fwd_param.addModel(mod_null) fwd_param.setCosmoParams(cpar) + # This is the forward model for velocity + fwd_vel = borg.forward.velocity.LinearModel(box, mod, af) + return chain @@ -512,6 +535,7 @@ def build_gravity_model(state: borg.likelihood.MarkovState, box: borg.forward.Bo def build_sampler( state: borg.likelihood.MarkovState, info: borg.likelihood.LikelihoodInfo, + loop: borg.samplers.MainLoop ): """ Builds the sampler and returns it. @@ -521,6 +545,7 @@ def build_sampler( Args: - state (borg.likelihood.MarkovState): The Markov state object to be used in the likelihood. - info (borg.likelihood.LikelihoodInfo): The likelihood information. + ADD LOOP - DEFINE CONDITIONS AND DEPENDENCIES Returns: List of samplers to use. @@ -554,11 +579,19 @@ def build_sampler( else: s = f'Could not find {p} prior and/or default, so will not sample' warnings.warn(s, stacklevel=2) - # Remove for later to prevent duplication + # Remove for later to prevent duplication to_sample.remove(p) + + def myfun(loop): + return loop.getStepId() > 1000 # put this in ini file + if len(params) > 0: myprint('Adding cosmological parameter sampler') - all_sampler.append(borg.samplers.ModelParamsSampler(prefix, params, likelihood, chain, initial_values, prior)) + cosmo_sampler = borg.samplers.ModelParamsSampler(prefix, params, likelihood, chain, initial_values, prior) + cosmo_sampler.setName("cosmo_sampler") + all_sampler.append(cosmo_sampler) + loop.addToConditionGroup("warmup_cosmo", "cosmo_sampler") + loop.addConditionToConditionGroup("warmup_cosmo", partial(myfun, loop)) # Model parameter sampler prefix = "" @@ -623,5 +656,11 @@ def build_likelihood(state: borg.likelihood.MarkovState, info: borg.likelihood.L myprint("Building likelihood") myprint(chain.getCosmoParams()) boxm = chain.getBoxModel() - likelihood = VelocityBORGLikelihood(chain, fwd_param, borg.getIniConfigurationFilename()) - return likelihood \ No newline at end of file + likelihood = VelocityBORGLikelihood(chain, fwd_param, fwd_vel, borg.getIniConfigurationFilename()) + return likelihood + + +""" +TO DO +- samplers.MainLoop - add condition that something begins sampling after some number of steps +""" \ No newline at end of file diff --git a/borg_velocity/mock_maker.py b/borg_velocity/mock_maker.py index a604df2..002f123 100644 --- a/borg_velocity/mock_maker.py +++ b/borg_velocity/mock_maker.py @@ -45,7 +45,7 @@ def radially_scatter(xtrue, frac_sig_x): return xmeas, sigma_mu -def borg_mock(s_hat, state, fwd_model, ini_file): +def borg_mock(s_hat, state, fwd_model, fwd_vel, ini_file, seed=None): config = configparser.ConfigParser() config.read(ini_file) @@ -60,20 +60,15 @@ def borg_mock(s_hat, state, fwd_model, ini_file): # Get growth rate cosmo = utils.get_cosmopar(ini_file) - cosmology = borg.cosmo.Cosmology(cosmo) - af = float(config['model']['af']) - f = cosmology.gplus(af) # dD / da - f *= af / cosmology.d_plus(af) # f = dlnD / dlna - - # Get velocity - smooth_R = float(config['model']['smooth_R']) - output_vel = forwards.dens2vel_linear(output_density, f, - fwd_model.getOutputBoxModel().L[0], smooth_R) + output_vel = fwd_vel.getVelocityField() # Add bulk flow bulk_flow = np.array(ast.literal_eval(config['model']['bulk_flow'])) output_vel = output_vel + bulk_flow.reshape((3, 1, 1, 1)) + if seed is not None: + np.random.seed(seed) + # Sample positions according to bias model bias_epsilon = float(config['model']['bias_epsilon']) R_max = float(config['mock']['R_max']) diff --git a/conf/basic_ini.ini b/conf/basic_ini.ini index 9fd9fce..1ea7330 100644 --- a/conf/basic_ini.ini +++ b/conf/basic_ini.ini @@ -31,6 +31,12 @@ random_ic = false init_random_scaling = 0.1 bignum = 1e300 +[hades] +algorithm = HMC +max_epsilon = 0.01 +max_timesteps = 50 +mixing = 1 + [model] gravity = lpt af = 1.0 @@ -74,7 +80,7 @@ NCAT = 0 NSAMP = 2 [mock] -seed = 5 +seed = 123 R_max = 100 [python] @@ -90,4 +96,4 @@ frac_sig_rhMpc = 0.07 Nt = 230 muA = 1.0 alpha = 1.4 -frac_sig_rhMpc = 0.07 \ No newline at end of file +frac_sig_rhMpc = 0.07 diff --git a/figs/alpha_test.png b/figs/alpha_test.png index 0142792..8bb9bbc 100644 Binary files a/figs/alpha_test.png and b/figs/alpha_test.png differ diff --git a/figs/muA_test.png b/figs/muA_test.png index 6af4ebb..37c4c33 100644 Binary files a/figs/muA_test.png and b/figs/muA_test.png differ diff --git a/figs/omegam_test.png b/figs/omegam_test.png index 31a1c6b..a8c8356 100644 Binary files a/figs/omegam_test.png and b/figs/omegam_test.png differ diff --git a/figs/scaling_test.png b/figs/scaling_test.png index dbf5ad7..2e8af9e 100644 Binary files a/figs/scaling_test.png and b/figs/scaling_test.png differ diff --git a/figs/sigma8_test.png b/figs/sigma8_test.png index 95b70fa..e73d5ea 100644 Binary files a/figs/sigma8_test.png and b/figs/sigma8_test.png differ diff --git a/tests/allocation_stats_0.txt b/tests/allocation_stats_0.txt index c3e6813..4d82422 100644 --- a/tests/allocation_stats_0.txt +++ b/tests/allocation_stats_0.txt @@ -1,19 +1,20 @@ -Memory still allocated at the end: 14.4902 MB +Memory still allocated at the end: 31.8652 MB Statistics per context (name, allocated, freed, peak) ====================== -*none* 80.4688 0.250069 14.9746 -BORG LPT MODEL 533.774 532.007 14.9902 +*none* 76.2188 0.250069 32.2871 +BORG LPT MODEL 505.495 503.727 32.3027 BORGForwardModel::setup 0.000160217 0 2.23588 BorgLptModel::BorgLptModel 1.54688 0 2.23581 -[/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/chain_forward_model.cpp]virtual void LibLSS::ChainForwardModel::forwardModel_v2(LibLSS::detail_input::ModelInput<3>) 240.656 80.2188 15.2402 +LinearModel::getVelocityField 607.75 589.875 33.1465 +[/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/chain_forward_model.cpp]virtual void LibLSS::ChainForwardModel::forwardModel_v2(LibLSS::detail_input::ModelInput<3>) 227.906 75.9688 32.5527 [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forward_model.cpp]void LibLSS::BORGForwardModel::setupDefault() 0.53125 0 0.688934 [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forwards/borg_lpt.cpp]std::shared_ptr build_borg_lpt(std::shared_ptr, const LibLSS::BoxModel&, const LibLSS::PropertyProxy&) [with Grid = LibLSS::ClassicCloudInCell; LibLSS::BoxModel = LibLSS::NBoxModel<3>] 0 0 0.157661 -[/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forwards/particle_balancer/balanceinfo.hpp]void LibLSS::BalanceInfo::allocate(LibLSS::MPI_Communication*, size_t) 76.2534 76.0009 14.9902 +[/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forwards/particle_balancer/balanceinfo.hpp]void LibLSS::BalanceInfo::allocate(LibLSS::MPI_Communication*, size_t) 72.2135 71.961 32.3027 [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forwards/primordial_as.cpp]std::shared_ptr build_primordial_as(std::shared_ptr, const LibLSS::BoxModel&, const LibLSS::PropertyProxy&) 0.078804 7.62939e-06 0.0788498 [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forwards/transfer_class.cpp]std::shared_ptr build_class(std::shared_ptr, const LibLSS::BoxModel&, const LibLSS::PropertyProxy&) 0.078804 7.62939e-06 0.157669 -[/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/model_io/base.hpp]void LibLSS::detail_model::ModelIO::transfer(LibLSS::detail_model::ModelIO&&) [with long unsigned int Nd = 3] 0 235.156 0 +[/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/model_io/base.hpp]void LibLSS::detail_model::ModelIO::transfer(LibLSS::detail_model::ModelIO&&) [with long unsigned int Nd = 3] 0 222.656 0 [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/samplers/core/gridLikelihoodBase.cpp]LibLSS::GridDensityLikelihoodBase::GridDensityLikelihoodBase(LibLSS::MPI_Communication*, const GridSizes&, const GridLengths&) [with int Dims = 3; GridSizes = std::array; GridLengths = std::array] 0.53125 0.515625 2.76713 -[/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/python/pyforward.cpp]void do_get_density_final(LibLSS::BORGForwardModel*, pybind11::array) 80.2188 75.5 14.9902 -lpt_ic 80.2188 80.2188 15.2558 +[/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/python/pyforward.cpp]void do_get_density_final(LibLSS::BORGForwardModel*, pybind11::array) 75.9688 71.5 32.3027 +lpt_ic 75.9688 75.9688 32.5683 diff --git a/tests/test_likelihood.py b/tests/test_likelihood.py index d21b140..deee586 100644 --- a/tests/test_likelihood.py +++ b/tests/test_likelihood.py @@ -8,10 +8,10 @@ import borg_velocity.forwards as forwards import borg_velocity.utils as utils ini_file = '../conf/basic_ini.ini' -test_scaling = False -test_sigma8 = False -test_omegam = False -test_alpha = False +test_scaling = True +test_sigma8 = True +test_omegam = True +test_alpha = True test_muA = True # Input box @@ -27,7 +27,8 @@ model = likelihood.build_gravity_model(None, box_in, ini_file=ini_file) cosmo = utils.get_cosmopar(ini_file) model.setCosmoParams(cosmo) fwd_param = forwards.NullForward(box_in) -mylike = likelihood.VelocityBORGLikelihood(model, fwd_param, ini_file) +fwd_vel = likelihood.fwd_vel +mylike = likelihood.VelocityBORGLikelihood(model, fwd_param, fwd_vel, ini_file) # Create mock data state = borg.likelihood.MarkovState() @@ -111,7 +112,7 @@ if test_omegam: # Test bias model if test_alpha: - all_alpha = np.linspace(-1.0, 5.0, 50) + all_alpha = np.linspace(-2.0, 5.0, 50) all_lkl = np.empty(all_alpha.shape) for i, alpha in enumerate(all_alpha): mylike.fwd_param.setModelParams({'alpha0':alpha}) @@ -135,12 +136,12 @@ if test_alpha: # Test bias model if test_muA: - all_muA = np.linspace(0.5, 1.5, 50) + all_muA = np.linspace(0.95, 1.05, 50) all_lkl = np.empty(all_muA.shape) for i, muA in enumerate(all_muA): - mylike.fwd_param.setModelParams({'muA0':muA}) + mylike.fwd_param.setModelParams({'mua0':muA}) all_lkl[i] = mylike.logLikelihoodComplex(s_hat, None) - mylike.fwd_param.setModelParams({'muA0':mylike.muA[0]}) + mylike.fwd_param.setModelParams({'mua0':mylike.muA[0]}) fid_lkl = mylike.logLikelihoodComplex(s_hat, None) all_lkl -= fid_lkl all_lkl = np.exp(-all_lkl) diff --git a/tests/timing_stats_0.txt b/tests/timing_stats_0.txt index 897431c..58f275e 100644 --- a/tests/timing_stats_0.txt +++ b/tests/timing_stats_0.txt @@ -4,48 +4,51 @@ Cumulative timing spent in different context -------------------------------------------- Context, Total time (seconds) - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/chain_forward_model.cpp]virtual void LibLSS::ChainForwardModel::forwardModel_v2(LibLSS::detail_input::ModelInput<3>) 302 6.31245 - BORG LPT MODEL 302 5.82636 - BORG forward model 302 5.80025 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forward_model.cpp]void LibLSS::ForwardModel::setCosmoParams(const LibLSS::CosmologicalParameters&) 29 1.56883 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forwards/borg_lpt.cpp]void LibLSS::BorgLptModel::updateCosmo() [with CIC = LibLSS::ClassicCloudInCell] 5 0.710055 - lightcone computation 1 0.69232 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/cosmo.cpp]void LibLSS::Cosmology::precompute_d_plus() 1 0.603931 - lpt_ic 302 0.392354 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forwards/lpt/borg_fwd_lpt.cpp]void LibLSS::BorgLptModel::getDensityFinal(LibLSS::detail_output::ModelOutput<3>) [with CIC = LibLSS::ClassicCloudInCell] 302 0.321819 - Classic CIC projection 302 0.256846 - FFTW_Manager::execute_c2r 906 0.122506 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forwards/transfer_class.cpp]virtual void LibLSS::ForwardClass::updateCosmo() 5 0.0733008 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/class_cosmo.cpp]LibLSS::ClassCosmo::ClassCosmo(const LibLSS::CosmologicalParameters&, unsigned int, double, std::string, unsigned int, const std::map, std::__cxx11::basic_string >&) 1 0.0726085 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/cosmo.cpp]void LibLSS::Cosmology::precompute_com2a() 1 0.0703289 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/python/pyforward.cpp]void do_get_density_final(LibLSS::BORGForwardModel*, pybind11::array) 302 0.0631881 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/python/pyforward.cpp]void transfer_in(std::shared_ptr >&, T&, U&, bool) [with T = boost::multi_array_ref, 3>; U = pybind11::detail::unchecked_reference, 3>] 302 0.0370347 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/model_io.cpp]LibLSS::detail_output::ModelOutputBase::~ModelOutputBase() [with long unsigned int Nd = 3; Super = LibLSS::detail_model::ModelIO<3>] 3322 0.0272583 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/chain_forward_model.cpp]virtual void LibLSS::ChainForwardModel::getDensityFinal(LibLSS::detail_output::ModelOutput<3>) 302 0.0215866 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/model_io.cpp]void LibLSS::detail_output::ModelOutputBase::transfer(LibLSS::detail_output::ModelOutputBase&&) [with long unsigned int Nd = 3; Super = LibLSS::detail_model::ModelIO<3>] 2718 0.0201743 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forwards/particle_balancer/balanceinfo.hpp]void LibLSS::BalanceInfo::allocate(LibLSS::MPI_Communication*, size_t) 302 0.0151142 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/model_io/base.hpp]void LibLSS::detail_model::ModelIO::transfer(LibLSS::detail_model::ModelIO&&) [with long unsigned int Nd = 3] 6946 0.00685386 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forwards/primordial_as.cpp]virtual void LibLSS::ForwardPrimordial_As::forwardModel_v2(LibLSS::detail_input::ModelInput<3>) 302 0.00566568 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forwards/borg_lpt.cpp]std::shared_ptr build_borg_lpt(std::shared_ptr, const LibLSS::BoxModel&, const LibLSS::PropertyProxy&) [with Grid = LibLSS::ClassicCloudInCell; LibLSS::BoxModel = LibLSS::NBoxModel<3>] 1 0.00491132 - BorgLptModel::BorgLptModel 1 0.00483932 - FFTW_Manager::create_r2c_plan 3 0.00401923 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forwards/transfer_class.cpp]virtual void LibLSS::ForwardClass::forwardModel_v2(LibLSS::detail_input::ModelInput<3>) 302 0.00395206 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forwards/adapt_generic_bias.cpp]void {anonymous}::bias_registrator() 1 0.00265152 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/model_io.cpp]void LibLSS::detail_output::ModelOutputBase::close() [with long unsigned int Nd = 3; Super = LibLSS::detail_model::ModelIO<3>] 3322 0.00252739 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forward_model.cpp]void LibLSS::BORGForwardModel::setupDefault() 1 0.00234709 - FFTW_Manager::create_c2r_plan 2 0.00231646 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forwards/transfer_class.cpp]std::shared_ptr build_class(std::shared_ptr, const LibLSS::BoxModel&, const LibLSS::PropertyProxy&) 1 0.00229587 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forwards/primordial_as.cpp]std::shared_ptr build_primordial_as(std::shared_ptr, const LibLSS::BoxModel&, const LibLSS::PropertyProxy&) 1 0.00227005 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/samplers/core/gridLikelihoodBase.cpp]LibLSS::GridDensityLikelihoodBase::GridDensityLikelihoodBase(LibLSS::MPI_Communication*, const GridSizes&, const GridLengths&) [with int Dims = 3; GridSizes = std::array; GridLengths = std::array] 1 0.00177235 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/class_cosmo.cpp]void LibLSS::ClassCosmo::retrieve_Tk(double) 2 0.00115242 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/model_io.cpp]void LibLSS::detail_output::ModelOutputBase::setRequestedIO(LibLSS::PreferredIO) [with long unsigned int Nd = 3; Super = LibLSS::detail_model::ModelIO<3>] 1208 0.00107811 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/class_cosmo.cpp]void LibLSS::ClassCosmo::reinterpolate(const array_ref_1d&, const array_ref_1d&, LibLSS::internal_auto_interp::auto_interpolator&) 6 0.00102937 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forwards/primordial_as.cpp]virtual void LibLSS::ForwardPrimordial_As::updateCosmo() 10 0.0010009 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/model_io.cpp]void LibLSS::detail_input::ModelInputBase::setRequestedIO(LibLSS::PreferredIO) [with long unsigned int Nd = 3; Super = LibLSS::detail_model::ModelIO<3>] 906 0.000742612 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forwards/primordial_as.cpp]void LibLSS::ForwardPrimordial_As::updatePower() 5 0.000559304 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/model_io.cpp]void LibLSS::detail_input::ModelInputBase::needDestroyInput() [with long unsigned int Nd = 3; Super = LibLSS::detail_model::ModelIO<3>] 302 0.000316937 - particle distribution 302 0.000287307 - BORGForwardModel::setup 7 0.000122816 - Initializing peer system 12 4.3684e-05 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forwards/transfer_class.cpp]virtual void LibLSS::ForwardClass::setModelParams(const LibLSS::ModelDictionnary&) 1 1.2359e-05 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forward_model.cpp]virtual void LibLSS::ForwardModel::setModelParams(const LibLSS::ModelDictionnary&) 1 2.473e-06 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forward_model.cpp]void LibLSS::ForwardModel::setCosmoParams(const LibLSS::CosmologicalParameters&) 439 128.974 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forwards/borg_lpt.cpp]void LibLSS::BorgLptModel::updateCosmo() [with CIC = LibLSS::ClassicCloudInCell] 87 59.7371 + lightcone computation 83 58.2376 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/cosmo.cpp]void LibLSS::Cosmology::precompute_d_plus() 83 50.8567 + LinearModel::getVelocityField 286 13.1932 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/chain_forward_model.cpp]virtual void LibLSS::ChainForwardModel::forwardModel_v2(LibLSS::detail_input::ModelInput<3>) 286 6.19859 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/cosmo.cpp]void LibLSS::Cosmology::precompute_com2a() 83 5.85109 + BORG LPT MODEL 286 5.68871 + BORG forward model 286 5.65939 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forwards/transfer_class.cpp]virtual void LibLSS::ForwardClass::updateCosmo() 87 4.72651 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/class_cosmo.cpp]LibLSS::ClassCosmo::ClassCosmo(const LibLSS::CosmologicalParameters&, unsigned int, double, std::string, unsigned int, const std::map, std::__cxx11::basic_string >&) 83 4.65339 + FFTW_Manager::create_c2r_plan 860 1.08067 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forwards/lpt/borg_fwd_lpt.cpp]void LibLSS::BorgLptModel::getDensityFinal(LibLSS::detail_output::ModelOutput<3>) [with CIC = LibLSS::ClassicCloudInCell] 572 0.636041 + Classic CIC projection 572 0.489137 + lpt_ic 286 0.474278 + FFTW_Manager::create_r2c_plan 289 0.377194 + FFTW_Manager::execute_c2r 1716 0.297204 + FFTW_Manager::destroy_plan 1144 0.0944267 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/class_cosmo.cpp]void LibLSS::ClassCosmo::retrieve_Tk(double) 166 0.0942418 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/class_cosmo.cpp]void LibLSS::ClassCosmo::reinterpolate(const array_ref_1d&, const array_ref_1d&, LibLSS::internal_auto_interp::auto_interpolator&) 498 0.0858865 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/python/pyforward.cpp]void transfer_in(std::shared_ptr >&, T&, U&, bool) [with T = boost::multi_array_ref, 3>; U = pybind11::detail::unchecked_reference, 3>] 286 0.0699093 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/python/pyforward.cpp]void do_get_density_final(LibLSS::BORGForwardModel*, pybind11::array) 286 0.0698282 + FFTW_Manager::execute_r2c 286 0.0460398 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/chain_forward_model.cpp]virtual void LibLSS::ChainForwardModel::getDensityFinal(LibLSS::detail_output::ModelOutput<3>) 286 0.0272996 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/model_io.cpp]LibLSS::detail_output::ModelOutputBase::~ModelOutputBase() [with long unsigned int Nd = 3; Super = LibLSS::detail_model::ModelIO<3>] 3432 0.0272375 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forwards/primordial_as.cpp]virtual void LibLSS::ForwardPrimordial_As::updateCosmo() 174 0.0224216 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forwards/particle_balancer/balanceinfo.hpp]void LibLSS::BalanceInfo::allocate(LibLSS::MPI_Communication*, size_t) 286 0.018951 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/model_io.cpp]void LibLSS::detail_output::ModelOutputBase::transfer(LibLSS::detail_output::ModelOutputBase&&) [with long unsigned int Nd = 3; Super = LibLSS::detail_model::ModelIO<3>] 2574 0.0179214 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forwards/primordial_as.cpp]void LibLSS::ForwardPrimordial_As::updatePower() 87 0.0121461 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/model_io/base.hpp]void LibLSS::detail_model::ModelIO::transfer(LibLSS::detail_model::ModelIO&&) [with long unsigned int Nd = 3] 6578 0.00613989 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forwards/primordial_as.cpp]virtual void LibLSS::ForwardPrimordial_As::forwardModel_v2(LibLSS::detail_input::ModelInput<3>) 286 0.00534198 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forwards/borg_lpt.cpp]std::shared_ptr build_borg_lpt(std::shared_ptr, const LibLSS::BoxModel&, const LibLSS::PropertyProxy&) [with Grid = LibLSS::ClassicCloudInCell; LibLSS::BoxModel = LibLSS::NBoxModel<3>] 1 0.00492109 + BorgLptModel::BorgLptModel 1 0.00485408 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forwards/transfer_class.cpp]virtual void LibLSS::ForwardClass::forwardModel_v2(LibLSS::detail_input::ModelInput<3>) 286 0.00379283 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forwards/transfer_class.cpp]std::shared_ptr build_class(std::shared_ptr, const LibLSS::BoxModel&, const LibLSS::PropertyProxy&) 1 0.00279151 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forwards/primordial_as.cpp]std::shared_ptr build_primordial_as(std::shared_ptr, const LibLSS::BoxModel&, const LibLSS::PropertyProxy&) 1 0.00275793 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/model_io.cpp]void LibLSS::detail_output::ModelOutputBase::close() [with long unsigned int Nd = 3; Super = LibLSS::detail_model::ModelIO<3>] 3432 0.00244201 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forward_model.cpp]void LibLSS::BORGForwardModel::setupDefault() 1 0.00234473 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/samplers/core/gridLikelihoodBase.cpp]LibLSS::GridDensityLikelihoodBase::GridDensityLikelihoodBase(LibLSS::MPI_Communication*, const GridSizes&, const GridLengths&) [with int Dims = 3; GridSizes = std::array; GridLengths = std::array] 1 0.00177276 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/model_io.cpp]void LibLSS::detail_output::ModelOutputBase::setRequestedIO(LibLSS::PreferredIO) [with long unsigned int Nd = 3; Super = LibLSS::detail_model::ModelIO<3>] 1430 0.00117615 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forwards/adapt_generic_bias.cpp]void {anonymous}::bias_registrator() 1 0.00110666 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/model_io.cpp]void LibLSS::detail_input::ModelInputBase::setRequestedIO(LibLSS::PreferredIO) [with long unsigned int Nd = 3; Super = LibLSS::detail_model::ModelIO<3>] 858 0.000657356 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/model_io.cpp]void LibLSS::detail_input::ModelInputBase::needDestroyInput() [with long unsigned int Nd = 3; Super = LibLSS::detail_model::ModelIO<3>] 286 0.00030629 + particle distribution 286 0.000249263 + BORGForwardModel::setup 7 0.000130953 + Initializing peer system 13 4.4624e-05 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forwards/transfer_class.cpp]virtual void LibLSS::ForwardClass::setModelParams(const LibLSS::ModelDictionnary&) 1 1.445e-05 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1686906696789/work/libLSS/physics/forward_model.cpp]virtual void LibLSS::ForwardModel::setModelParams(const LibLSS::ModelDictionnary&) 1 3.659e-06