From e55eee4b1787e3ab025df391ed48cfb77579f478 Mon Sep 17 00:00:00 2001 From: Deaglan Bartlett Date: Wed, 12 Jun 2024 13:31:24 +0200 Subject: [PATCH] Fix negative base in power law bias --- borg_velocity/likelihood.py | 26 +++---- borg_velocity/mock_maker.py | 10 +++ conf/basic_ini.ini | 8 +- figs/alpha_test.png | Bin 18991 -> 14971 bytes figs/muA_test.png | Bin 21139 -> 17190 bytes figs/omegam_test.png | Bin 15539 -> 15516 bytes figs/scaling_test.png | Bin 17525 -> 13170 bytes figs/sigma8_test.png | Bin 17820 -> 13173 bytes tests/allocation_stats_0.txt | 46 +++++------- tests/fft_wisdom | 111 +++++++++++---------------- tests/test_likelihood.py | 7 ++ tests/timing_stats_0.txt | 140 +++++++++++++++-------------------- 12 files changed, 153 insertions(+), 195 deletions(-) diff --git a/borg_velocity/likelihood.py b/borg_velocity/likelihood.py index bb0f462..ec18ec8 100644 --- a/borg_velocity/likelihood.py +++ b/borg_velocity/likelihood.py @@ -251,6 +251,7 @@ class VelocityBORGLikelihood(borg.likelihood.BaseLikelihood): omega_m = self.fwd.getCosmoParams().omega_m for i in range(self.nsamp): + print(f'\nSample {i}') muA = self.fwd_param.getModelParam('nullforward', f'mua{i}') alpha = self.fwd_param.getModelParam('nullforward', f'alpha{i}') lkl += vel2like( @@ -270,7 +271,6 @@ class VelocityBORGLikelihood(borg.likelihood.BaseLikelihood): self.interp_order, self.bias_epsilon ) - # lkl = (output_density**2).sum() if not jnp.isfinite(lkl): lkl = self.bignum @@ -364,6 +364,10 @@ def vel2like(cz_obs, v, MB_field, MB_pos, r, r_hMpc, sig_mu, sig_v, omega_m, muA """ Jitted part of dens2like """ + print('Dens', MB_field.min(), MB_field.max()) + print('vel', v.min(), v.max()) + + quit() tracer_vel = projection.interp_field(v, MB_pos, @@ -378,7 +382,7 @@ def vel2like(cz_obs, v, MB_field, MB_pos, r, r_hMpc, sig_mu, sig_v, omega_m, muA MB_pos, jnp.zeros(3,) ) - + # Convert velocities to redshifts zco = utils.z_cos(r, omega_m) cz_pred = utils.speed_of_light * zco + (1 + zco) * tracer_vr @@ -396,8 +400,9 @@ def vel2like(cz_obs, v, MB_field, MB_pos, r, r_hMpc, sig_mu, sig_v, omega_m, muA interp_order, use_jitted=True, ) - los_density = jnp.power(1. + los_density + bias_epsilon, alpha) - + los_density = jax.nn.relu(1. + los_density) + los_density = jnp.power(los_density + bias_epsilon, alpha) + d2 = (delta_mu / sig_mu) ** 2 best = jnp.amin(jnp.abs(d2), axis=1) @@ -405,7 +410,7 @@ def vel2like(cz_obs, v, MB_field, MB_pos, r, r_hMpc, sig_mu, sig_v, omega_m, muA d2 = d2 - jnp.expand_dims(jnp.nanmin(d2, axis=1), axis=1) p_r = r ** 2 * jnp.exp(-0.5 * d2) * los_density p_r_norm = jnp.expand_dims(jnp.trapz(p_r, r, axis=1), axis=1) - + # Integrate to get likelihood d2 = delta_cz_sigv**2 scale = jnp.nanmin(d2, axis=1) @@ -414,13 +419,6 @@ def vel2like(cz_obs, v, MB_field, MB_pos, r, r_hMpc, sig_mu, sig_v, omega_m, muA p_cz = jnp.trapz(exp_delta_cz * p_r / p_r_norm, r, axis=1) lkl_ind = jnp.log(p_cz) - scale / 2 - 0.5 * jnp.log(2 * np.pi * sig_v**2) lkl = - lkl_ind.sum() - - # # DELETE THIS - # p_cz = jnp.trapz(p_r / p_r_norm, r, axis=1) - # lkl_ind = jnp.log(p_cz) - 0.5 * jnp.log(2 * np.pi * sig_v**2) - # lkl = - lkl_ind.sum() - # lkl = los_density.sum() - # lkl = (MB_field**2).sum() return lkl @@ -534,6 +532,7 @@ def build_gravity_model(state: borg.likelihood.MarkovState, box: borg.forward.Bo fwd_vel = velmodel(box, mod, af) elif velmodel_name == 'CICModel': rsmooth = float(config['model']['rsmooth']) + print("I AM USING RSMOOTH", rsmooth) fwd_vel = velmodel(box, mod, rsmooth) else: fwd_vel = velmodel(box, mod) @@ -673,10 +672,7 @@ def build_sampler( loop.addConditionToConditionGroup("warmup_model", partial(check_model_sampling, loop)) print('Warmups:', begin_cosmo, begin_model) - print(dir(loop)) - # quit() - # return all_sampler return [] diff --git a/borg_velocity/mock_maker.py b/borg_velocity/mock_maker.py index 002f123..c61038d 100644 --- a/borg_velocity/mock_maker.py +++ b/borg_velocity/mock_maker.py @@ -62,6 +62,16 @@ def borg_mock(s_hat, state, fwd_model, fwd_vel, ini_file, seed=None): cosmo = utils.get_cosmopar(ini_file) output_vel = fwd_vel.getVelocityField() + nzero = np.sum(output_density == -1) + ntot = np.prod(output_density.shape) + print(f'Number of zeros: {nzero} of {ntot} - {nzero/ntot * 100} percent') + + print("\nMy velocity field", output_vel.min(), output_vel.max(), '\n') + nnan = np.sum(np.isnan(output_vel)) + ntot = np.prod(output_vel.shape) + print(f'Number of nans: {nnan} of {ntot} - {nnan/ntot * 100} percent') + quit() + # 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)) diff --git a/conf/basic_ini.ini b/conf/basic_ini.ini index 10630ae..78fa42d 100644 --- a/conf/basic_ini.ini +++ b/conf/basic_ini.ini @@ -1,9 +1,9 @@ [system] console_output = borg_log VERBOSE_LEVEL = 2 -N0 = 8 -N1 = 8 -N2 = 8 +N0 = 128 +N1 = 128 +N2 = 128 L0 = 500.0 L1 = 500.0 L2 = 500.0 @@ -49,7 +49,7 @@ nsteps = 20 smooth_R = 4 bias_epsilon = 1e-7 interp_order = 1 -rsmooth = 1. +rsmooth = 100. sig_v = 150. R_lim = none Nint_points = 201 diff --git a/figs/alpha_test.png b/figs/alpha_test.png index 8bb9bbc14f02de1bf32b808634bb3f4d34e8934b..c661e484bdf28dce092a434de237ec891708dbf3 100644 GIT binary patch literal 14971 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 Q2#UhoP*=)Vc<|SM118BLNdN!< literal 18991 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 diff --git a/figs/muA_test.png b/figs/muA_test.png index 37c4c33727cc6af2bb9dd5cb9b01d1bdaff73b65..28b4f8215f1d927e12a9a32f1c5d712c3e1ea8e4 100644 GIT binary patch literal 17190 zcmb`v2RPM#_&w`mYCgZ0yZ=C&*3)LL;YaA8I?GP*g_9-y?Zax#lR;-6*+xchp`ctxUOk z#B3&SA8wD?e+cA?4EOg`mp;z%N+;|3P*ri*ZZ!i#ThGc~Yv@o!!JHC0dBFL2;T*pc zKCe=zcwl5C)TK?wR!8|A-NWencGskjzAk%i*dy0dw<;Bhe{S4v-&0rOkc{2<{mnQb z3eTL1r|lA-nKGdXxQ0T7_f2YCg3$$pNt2>J9XaWULecyDpZ)j=?R3QXB4wb{_fJPm zOibG6?X~qOQJ;QLG%Fh$XTA#xns=sZY*0u`{p5R$R82#})af$HhgnryJAYtc;7(JR zw3KgA5tm#tm5{jj#H@wS*S^WgqS@JJa>?Eo%$`5j(mNY2LQ6{vZ&J6Xe!kwP^y!yr zZ%@ySKHnqjFKvTqvZ(dJL%&00?9}V+ePL(M-(^cj z>vRzeM*0<+(h-+)shWd^4E@FYa%9#_Lz5x*XUZT>ncHV^sPONr2c;|Ho>|)W$MT8Y zHPkOGy)d-L7>G?*=*uv-zMl1^M4kFoqgz0z-`?(AiS$|*He=^yy06(w$1O*k7vJS7 zq5ORh>4&&y8-=tLnKd88ivMNj8kuz{nERNWu|~3}02`?8M6L1W<@LTJSC3Rx1v(Cr z>kglzFhBU?!L56XZ@ubc@CAMT%!iSL&KmP}_k! z(o#c*9vZm;&MWlFp6L3EEZ2L$gdX1X9)D77CbSa4EMYqw&(Wp0;?h0ISC^poK7V8@ z+^fmSJBjo4MdZn=yLcU^UHL1IA`gBC%~ieV_%>&-XkX{p{jo=b$U8H}*?e8L}pUd7F&cLG5ya!nqI$#Y4e(xg7e?aCSzWD{Pk*Xk!ci4;iN)^ku?Odx31 zsN=O9ZpO}keugylhN^IxMJ|fGB6@j)0w*CLFZ<$wTuME4dHRNVwT-SH(zi(k_8LU^~v18w`x8A8!VHzT2J(-u2b3@;G%!JJU?(fFa zs5i6~{*uPwzFsXw&rEh2#@#FLd++Z(^*~x-F=-}+jJqTab~&k4<>ovW#wJC(MPX4_l<2xjo};Sg29Fyj``tY$2y&WMou|B_}6m zGAt}9(RlReQE9B_3_6tc%*nj;^mHsKYP5w^Kd|UAU5r!5yhWQpHk-U5O=6+)XkY2H zv3=6{F^)b?PEMzdZeje+VydQv#bGgp0*~gJM9}GG+_sKkF2;1YK)s{A{jEoIOw8$$ zm#8=CR=a^hUekkzDT6!iR{JFhc|*tD%hl6t#y;E^6ckJlFbn-?Pzry9EJxE)_kOaj zyER0_y3WKpD<~-ZMBl%EpNzz>ptxA#hhUq-VzNs?W25By6YX}xGSsi;+ayk9bBhw) zT=+fX?_l>o5xmXf*?alHYS}g?V`o@gv1SA6aQA zESdvO>y$n9Wj60g5?$Z%XebeV`A=H4%?xAR!pl9crVkYr?w%+ghS$vj)oW|?B)4Q- z*;+3>@4!3fv-hR%I~DhHPzn90!uX_o`0(MDCy`)KYV!O!o0OE)I&pozv&w${kwU^P zxu_co106A(F)1k}g{6%;kl+&}adEj5*7XVkrd>GUc1qN_&#O$` z7G#cW!;2$d2l)f{JXJngD~NEb)>8^vXgXy+av03iVkt5$l)mz2!lp^TxVRYeyOmB| zSGUl0W5Il7ysD#PIc0OFPll=;zqwpcSfYYP7xH}k=dQ#?m%#c0Osw zMAzK{u;pT~&CvMr-0}l`k(IB_;SXHN7Aq4wVT0I*!>mgF`(v zW=Jn{rpM`g5DLD$dc#3Ap_fXSee^8j*0!JL-|tfytW|W~wc@=>VTCDncVmJds>aR~ zhL)vI$tGkdU;Fh6qA;C6{X}lu^Uf8?9TJ^mKkVyn#ap|`g3tccdY!H#I`qx>c9P!1 zG;t&-2vv9A=C6AG=ltyB$H5Laz+qc*jGi5lB^8$urWKe}Som5ScFIxq8oZn%DLRz* zl&vV~R_cSr`!<@w75zc?CZ27UPF49fAjpc$+0>c-MYz$!OnVhUeoi7RlByPFfemRScx;L>=(LF&fBmFX zvAGIc*W>Mb$auOPmEHtdrG@p#YbNw&K9$vS4;5-7m|fdKrW0?qTMu2o2&ivgaW=O% z%3;P#B_qIzF5kvVvn8TuWW9^VrB0qcdzl&O>s3| zh%icL5&bp0TEnh|cZt;z-)vbY#w_GRtrH<|2>&iwK-B+?i zrtx+9+aK3G%mfQEWj&syhpN)DiAU}B$KEg^1OKA;LFh)0Z%WE+$llpIHSV*BsovOP zz)!9_IeP7x)+Xj$_;A89gX!i_ZwH!fXZ#V!yV%df#_MMLKYeobu09w zx8z?mOZR4*an;jR!dl@rw`wGTPd5JsGcw4hGyNr(SM4U78%p0Yi63j2eOO^4_!Red z6r5(Yi5=?$%yKdMyX{Qn$RZun=&==!kNV9K#ut$C26@W&A^B8?^x85*nt#fBW-UP!56~T`Bk_IjfdW-)#n3 z&<{ku`1^XV#H4=7ABM#7xZb&uJo+20EF3UUuIkzZOy5 ze(a)y`?v9UZbwdRTH^bql)sz&et4pB>t5Wy>wfn~+1aJ(>igspanx=Z$WGi93^{T_ z>0GZS_Jv+HcS0fpS*2^@zkW<>vI|U|KL>}9dK{gpVDi|c zuFFyB9@vf6i`0VPoX>dDMbS6`~T}KY+b#OmoBlOYCA?>|o zwF%Z!iJg6Sm5{@u_0=+Y(JYH?aIFeHHzjY#;Y+LD3U3*HnuaXjo4UaIWW*%zVR+X` zAAnOj<%cZRs5#YkiXKngBL~q-68*>^&x-SC3*0xw2!y8GMBaRueH!)~7VjnU+qY@s zuC%1 zR=zAsI^_laXdxeM$rD9`jO5dFX0pJftV@Xc#FL+TjykwgzQ}0q3B{EEh!l(x4OJwU z;DZUBF$*wqbg7$gq|krH?Un(nc(o@~h;*2qqJ3WFd9R~5eERI~r*NL1jODMpOHgY% zJTr;lBWPR>FtQUAxd=m; z1?ChFKdecvO2o|DFY9E06T2F^g>|ZStk^RMd8kxgo1hxRrJw0SHP@C z&Dpsc0EwXYfye&uFz;ZGshbqVTIF|JT3Q~-%MYHoq?g7Z?o1#u`btX+PdP@BkK zM5J?;)ZSHBSO4935rs4J)=y;4|Jq8|L3mDrarF}a)#>bOprca&2wF2y*k)v*J8?6c z*Hg}Lr$h64y624N_R?q4D?^!Kk_Fq-?n;2gFu07Mq0v#A9mdW$UTi0CQ;{HgQ^!Hng*`fIZCM|W~rVU+}zx5Km0E- z%WZCM>NL1jF~0nMgxlbwmRYh>Y>M}RtJOrcLTS?hrp1Ny>KH>F1cb=rryRp3F7C|v z#jkFe)=RIkUm!E@P7t)PwjSBr*-(G-Bpom@xAq5S`;eJ6>=%FXD)Ye`as#p4x+!nzP{&|)XOK2UpRUEdaCfPTletJsH+(q=WzMd zn*6p&m{=OivAe1KChs~rJ2$r`Z1AZEOR0`iPFVBBp5%zqdc6_@EL}kVT2-T>Q#a&T zfFjTDuyJzIO)H>2*}dm>6i@vyqRF0H!g5@f#O=|ecQ+K1^6DHGEdY><0r1OzbS9o*J>djPtx4kS={S&2FwW|38ql2lxLYlJq? zLi^OvytOrt3^}wa9B?qT=B0Vb(4)MgqXWz<4>78J;-=e5753j;(!N-)P6YwdS#nX8 zfUC1}bMecCrLoNOKY!wg_)=_f&2+)up2z(B{8IIV^)5Sq(B6ECg=^5b8U!k9NMa=Ob*1)}(lJRz4QWAZ4lBjBF!&U+h26tU< zV5MfJWMo8R>g8Mrq#(l|T{kM7S9E~Qx!>3(LnXmniY+WG!8}4B_&;CBH@gISzs>!) zat(!N9?#*=*$cjqy>r{bifTz(Ke6@V=wWp2^Pl__e#PFQnd#|wL`6jlN=tKh8EDcL z7EDb{O&>+VzC=fS<~>O9!u)WU+HDKltg3iK=);<6>-VJT5x$dn>I`NX?xj|2wzTJJ z>xVL(7Ir!JjDi7`l;$2+`}MMvaCvV1KHz~ftW))0#}1>b8bzGC55S4OiP}F^n;-m^ z8uRbhZ>z)Hl@=EG)h!P#bir4Dy<@CfPdhHg%rcV0f5TxH%TeuJ#f|v4@6y=Fs7b@nHVu;8Y3nR{8!Z4@(Qfg)1ywjx|?cQqQ_hC3d{;l6v%>#!L#C z)2J6|(H-G<@8~nQEo41{MUCP_qFkwh(0$;8$^d4T z)&6{m7{chm@J))K!aGVxQ{kc`NpTSwl^4Qbh^b?DZ72hV`oMYpg5h%s77NIqD)b*n?LLM#GK_0*}&| zMv!kKWKLW0Q?R$-L%BBXk2+B7+Zs#zh63#PgbW~$L>Z2)|ba+7YULNlE8%XUsGdNknK7aV04d?*X~)GgLKgT-w&L)S1hd7 z^fL9M=ZdsfRo1#qz8E#nT3kie{k*BBc*Qq7P!EYfd2RcJ+gN(lOx}KD*$8hQIwT z8CJ^xN%KM0x=ylMD&Ax^?v7ymaOR#d06}q^Vq*_x> z*qVFVPM&5i?ghQYla8q^!(T&10}LhxN@AY|whTiK<->*tNY^?4p*CT({m~{n=P>76 z4GaU)vx&M>PbwTI-6eG{{R(7wgvn%Bdh=KJU6!f&`|<@!x(Hi`b?^Xi`l*nwagfq{R@SoCT#WyrXh!1Z zB$EiIFQ`z?8X5Q#6HWX_HgR>yunq5)(605)MLYHjLTZCm;*3Q<_Pni7XJmJo+-q}n z_2fKir%E0w9iLhqL00=+*YAx;W*RBsn6lh@Ze%L=)vJ>6C`-?fLybuD zO|VB-WcOJhJu=t!$|l~X);urOBAVc?o$nGFV`eg`K-46P&i3W4$hN z;Mn9^fvkuv(T4QPhb{ln7x+ymuAC8h{uzmzc_f^t%D$Dq%PLpxIqCjvDPa>a?Z|!b zKFq83rO#?aI+2l|IBf;U7q9mr#^V@^!0}$3Xsz4F2%IL3t!-cWS8mw z9EC*3F_XA<{K`zrE%XSN#6DrLdFL!D{7j@PWb*W~tbN6NMZPKbgQ(f*De=&U)GD^d zda3}ZE3}BzQPjD+{3(Dsw6RwNVjSyqpK1AeLCCh~&$zFHam?pwAgCbm)Y`=*^Ken> zunzERpguEdRG;5w*8=#3!uLzoZ;hPl+;21P6R}Mr0jKG1xo=q_F?}|OcjOq=?X(8> zZ4P=$bVoFMf5AnRCFdAxi=2vf%GkUj`4m}m%DjP^T2>VryA1Jvpj&vR2qLNHn)}S) z*SF_4Tj^}_^77bdosRlgRUH?1tgLgWQd)ZRlR;)})jrqX+CPswHc8kf1z<0$9NF=s zZo4Zrn^K1xQsWpWbfwpE)M%vZRXJdxepUX|^|R(@JuX!3l-HQ8FS;Zd#QBJaZ%nIo zZ5#dLi$C!Pm3Q8iz3-%cZfk(e2>!etceJ&&X+`a`8i~WD7T6N~h7vvs8BUENWjnia zDDXIbK5^+qTPQs75YCIi+zuY_zHc}7um}EnT z02vcnc)gwk7~y^dUK!DMnabuY{iqU2_*KzcP*$eQ`|+Pw*0n!K07jxWmxtX}>lP6Z zCO5FrD^>d81AoH-5f64@KDkEjEOh_NZ0+e^wXpgrz|yEK0iaCej9vz*OQbv0FW!uM zqHL>Itqh}FAlI$Jjg&i)?@!DeR7>vtBh&C_HfXA+LMzKzIQc}`4 zS#9mHK627_riP?@c1H)^1J>j30LXz5zLj-*}mkA2pZORXK!F_mDI!MI(rI zWuiv5WT|s)n^Ro89{ByFj?WmO%K_2L4xCaGFpm7l`IJB7lUF`P zL;PUUN%%s}i)%W-Hvx}-(fsY=&!24E#SS5h|0Az0X1}tDH7wP&X;9zU*?}Zx(5hxC z=dyt5J=2C`(zo7Et*|gfx}V0hFWR92hHYW13f8p>ADCwA=&KBr>8DBk{(3$#i=3x6 z4U3mL-09uyw((Mpbc7>WSXHGiJpD2gR!-1n`gXB?y#}1E2>cZ{+%?w*1AV7qbqg!2 zVgE}8d1fiD4;aH(4Qh^FJ>}SIYj!s&pSeb$uh2sGmf7P~WO~pO)$^{F|Bcozl~Yg{ zW(vEV0n|40yWu0!Hd6wVfTUyQbMRB|j4gT2n^n`vkow$HX`$Hm0ys?zk&nU;JW!g8 zKwOFXaR1#fR&eD3>F=c1+9ve^sNFmu*rk(U?Mm?w>=V+qIK{ry*{6Gk|YS9q7c7s9+yox zN*3@1Xy^?3(32~iQ1M)1XT1DiTkqIcB=X8Ak6l#xo9O>hACK#te@D<$JBPFT+;kU3 z^J?Fz%T_Ap+gFj;l9m(5!%v-=1e*81j_Tb&fH}=k)7sR8v3VH#AAl@RPXh6Iif|qh zwO`bit|0R}qQ9Cu(ojdiO?Zhs5Khtj#*s;Yef8_3`f6{95qdR;G>GF#$UN>8Sea|0 z-4{*SGqwD@?vCY4&S&i~^YQU8B0Vuz)bCevHK}+q1{IbIZ-i4<`-Diqevq^${pfjJ zt7^>cwuemjVT9_4)(7WDuw4k`C&>p+l-c~T8G_ezW`#FiG zO@}ZFQ0nQKEy77h3JQ7bEJ8rtxoK7#X52pRyQqc@DarM2^u{&OIuqdW}fT^hU^nc-L_*q z9I1Fk5?mFcT4F>Hgm$cNbfknyU!YRkPx7T{+M49R*MTY;#Mn_=j4S^#qT<75ur|53 zgcYEwKR(_ZF=uvGAL$9D+ejIPoeS-f__KF&4p$Bc@)PQpQTuoqUnnDz{!*aOeSy5^ zaDk@?T8NFII7V5lM}g^2h0}csnbXw|`4sR>QN4c;jT;xt$(C%Bdj-rb?jE_PNUO^U zVnmM5a(xPG22iCwsyFK=WKDNser)ULDa>{d+|{F#Ipm0YC#P2XA3*2q(7Ddg`#D^f zW0)i~uXv5WIeB%<$e3Qj8Ei$we^o~NB;m)iC7oY?yP8VuxY_Jkdy+5;Gycv@(Tpq4 zf1CsHLDGT3bEcoVDiHGAIWCw<(mgBrzlpq@@w$0BmF5%Yf&tar%O~j~j@g`H`1`

~UOe>Gg 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 b4_I-`G;1Qa5?SB~E=uu^^6hL{gO~pc?g%s5 literal 15539 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 Mry`#x`}pPm0EyT|8~^|S diff --git a/figs/scaling_test.png b/figs/scaling_test.png index 2e8af9e35b648b2685a44c41eefe916ce01229f4..47b2dfb308d613d8a329758d09e01467b81f3270 100644 GIT binary patch literal 13170 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 literal 17525 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 diff --git a/figs/sigma8_test.png b/figs/sigma8_test.png index e73d5ead454029c974512b38c2a1677a13e1acab..fb4fb26a2d9da9f53647b089656cfa483b1b3ec0 100644 GIT binary patch literal 13173 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 25.0391 6.25977 10.1862 -[/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/chain_forward_model.cpp]void LibLSS::ChainForwardModel::trigger_ag() 0.0195312 0.00390625 0.22258 -[/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forward_model.cpp]void LibLSS::BORGForwardModel::setupDefault() 0.00976562 0 0.0134811 -[/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/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.00369263 -[/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/lpt/borg_fwd_lpt_adj.cpp]void LibLSS::BorgLptModel::clearAdjointGradient() [with CIC = LibLSS::ClassicCloudInCell] 0 0.0236664 0 -[/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/lpt/borg_fwd_lpt_adj.cpp]void LibLSS::BorgLptModel::preallocate() [with CIC = LibLSS::ClassicCloudInCell] 0.0236664 0 0.295334 -[/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/particle_balancer/balanceinfo.hpp]void LibLSS::BalanceInfo::allocate(LibLSS::MPI_Communication*, size_t) 15.0802 15.0684 10.1823 -[/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/primordial_as.cpp]std::shared_ptr build_primordial_as(std::shared_ptr, const LibLSS::BoxModel&, const LibLSS::PropertyProxy&) 0.00180817 7.62939e-06 0.00187683 -[/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/transfer_class.cpp]std::shared_ptr build_class(std::shared_ptr, const LibLSS::BoxModel&, const LibLSS::PropertyProxy&) 0.00180817 7.62939e-06 0.00370026 -[/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/model_io/base.hpp]void LibLSS::detail_model::ModelIO::transfer(LibLSS::detail_model::ModelIO&&) [with long unsigned int Nd = 3] 0 23.7539 0 -[/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/velocity/velocity_cic.cpp]virtual void LibLSS::VelocityModel::CICModel::computeAdjointModel(LibLSS::VelocityModel::Base::arrayVelocityField_t) 0.197266 0.189941 0.27655 -[/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/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.00976562 0.00878906 0.0496826 -[/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/tools/mpi/ghost_planes.hpp]void LibLSS::GhostPlanes::setup(LibLSS::MPI_Communication*, PlaneList&&, PlaneSet&&, DimList&&, size_t) [with PlaneList = std::set&; PlaneSet = std::set&; DimList = std::array&; T = std::complex; long unsigned int Nd = 2; size_t = long unsigned int] 7.62939e-06 3.8147e-05 5.34058e-05 -[/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/python/pyforward.cpp]void do_get_adjoint_model(LibLSS::BORGForwardModel*, pybind11::array) 0.00488281 0.00488281 0.227463 -[/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/python/pyforward.cpp]void do_get_density_final(LibLSS::BORGForwardModel*, pybind11::array) 6.25977 5.00781 10.1823 -dispatch_plane_map 7.24792e-05 4.19617e-05 0.000125885 -exchanging nearby planes after projection 2.50635 2.50635 10.1926 -lpt_ic 6.25977 6.25977 10.1872 +*none* 32.25 410.232 170.482 +BORG LPT MODEL 113.12 0 348.602 +BORGForwardModel::setup 0.000183105 0 137.982 +BorgLptModel::BorgLptModel 96.75 0 137.982 +BorgLptModel::~BorgLptModel 0 129.28 0 +CICModel::getVelocityField 240.75 48.375 621.512 +CICModel::getVelocityFieldAlpha 146.25 145.125 638.762 +[/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/chain_forward_model.cpp]virtual void LibLSS::ChainForwardModel::forwardModel_v2(LibLSS::detail_input::ModelInput<3>) 65 16.25 235.482 +[/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forward_model.cpp]void LibLSS::BORGForwardModel::setupDefault() 32.5 0 41.232 +[/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/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 8.73196 +[/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/particle_balancer/balanceinfo.hpp]void LibLSS::BalanceInfo::allocate(LibLSS::MPI_Communication*, size_t) 48.16 0 380.762 +[/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/primordial_as.cpp]std::shared_ptr build_primordial_as(std::shared_ptr, const LibLSS::BoxModel&, const LibLSS::PropertyProxy&) 4.36594 7.62939e-06 4.36601 +[/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/transfer_class.cpp]std::shared_ptr build_class(std::shared_ptr, const LibLSS::BoxModel&, const LibLSS::PropertyProxy&) 4.36594 7.62939e-06 8.73197 +[/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/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] 32.5 32.25 170.482 +[/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/tools/mpi/ghost_planes.hpp]void LibLSS::GhostPlanes::setup(LibLSS::MPI_Communication*, PlaneList&&, PlaneSet&&, DimList&&, size_t) [with PlaneList = std::set&; PlaneSet = std::set&; DimList = std::array&; T = std::complex; long unsigned int Nd = 2; size_t = long unsigned int] 7.62939e-06 0.000495911 5.34058e-05 +[/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/python/pyforward.cpp]void do_get_density_final(LibLSS::BORGForwardModel*, pybind11::array) 16.25 16 364.762 +dispatch_plane_map 0.000988007 0.000499725 0.00104141 +exchanging nearby planes after projection 0.5 0.5 606.387 +lpt_ic 16.25 16.25 381.012 diff --git a/tests/fft_wisdom b/tests/fft_wisdom index 823e36b..bdd1c96 100644 --- a/tests/fft_wisdom +++ b/tests/fft_wisdom @@ -1,71 +1,44 @@ (fftw-3.3.10 fftw_wisdom #x3c273403 #x192df114 #x4d08727c #xe98e9b9d - (fftw_codelet_r2cf_16 2 #x10bdd #x10bdd #x0 #xa7e83312 #x11c3dce9 #x403202b1 #xba9376e9) - (fftw_dft_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #xe2b7638c #xca3eaae0 #xe5990134 #x15b362bd) - (fftw_codelet_n1bv_32_sse2 0 #x10bdd #x10bdd #x0 #x902cd310 #xa659999d #x6fde2637 #xb23e4fd2) - (fftw_codelet_n1bv_16_sse2 0 #x10bdd #x10bdd #x0 #x9306ed57 #x98c44e85 #x5cdf298e #xbcec4b1f) - (fftw_codelet_n1bv_8_sse2 0 #x10bdd #x10bdd #x0 #xa80dd5c4 #x9fd5b8d4 #x3d6788bf #x5a24b1fc) - (fftw_dft_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #x40741233 #x3efc06b3 #x0f24264f #x64099f05) - (fftw_dft_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #x4b54e3ca #x4f94ebf3 #x244f4da3 #x2412ca79) - (fftw_codelet_n1fv_32_avx 0 #x10bdd #x10bdd #x0 #x94cb38f8 #xed5987e0 #xa3d4151a #xeb412d04) - (fftw_dft_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #x84033142 #x81339a41 #xb78a491e #x66362e05) - (fftw_dft_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #xcaf756bf #x6e71602c #x20e86581 #x110e9e90) - (fftw_rdft2_rank_geq2_register 0 #x10bdd #x10bdd #x0 #x3ca106a5 #xda967bc9 #xbb014751 #x74e4e6ae) - (fftw_codelet_n1fv_32_sse2 0 #x10bdd #x10bdd #x0 #xe61c7c8d #x2cea019e #x8489a633 #x8d6543c6) - (fftw_dft_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #x2e35848a #x0ae8a985 #xadfbead1 #xe429563d) - (fftw_codelet_r2cf_32 2 #x10bdd #x10bdd #x0 #xe5219ff5 #x7cc0cc2f #x9ce07377 #x12d27b02) - (fftw_rdft2_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #x6b14be63 #x1d99ab98 #xe3227f85 #xb1db4db0) - (fftw_codelet_n1fv_16_sse2 0 #x10bdd #x10bdd #x0 #xf8443ec2 #xfa3955a3 #xa7e19627 #xab87bd57) - (fftw_dft_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #xa3839252 #xea4efad1 #xaf8b0cda #xd8776397) - (fftw_dft_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #xa7f53555 #x21d66b4e #x9964caab #xd7909594) - (fftw_codelet_r2cf_8 2 #x10bdd #x10bdd #x0 #x27bdc5f1 #x0e0fc54e #x15095bf2 #x0e78cf6f) - (fftw_codelet_r2cf_16 2 #x10bdd #x10bdd #x0 #xc41f6ea8 #x979a9054 #x4af7b3f3 #xcbc1bd6e) - (fftw_codelet_n1bv_32_avx 0 #x10bdd #x10bdd #x0 #x6d197f20 #xfc9cbd23 #x91ddb367 #x208619cb) - (fftw_codelet_r2cf_32 2 #x10bdd #x10bdd #x0 #x68269cfc #xb89b69b3 #x4eaad8fa #x9807c679) - (fftw_dft_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #x8de57ca6 #x4d942122 #xcc9f63a3 #xda26628d) - (fftw_rdft2_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #x4cae513c #xd64a8afb #x187c71d1 #xb541a5b8) - (fftw_codelet_n1fv_32_avx 0 #x10bdd #x10bdd #x0 #xb5d7d23e #x26089494 #x55133ef3 #x8ac38174) - (fftw_codelet_n1fv_8_sse2 0 #x10bdd #x10bdd #x0 #x7035d47e #x31f840f3 #x9383f4ab #x075b88bb) - (fftw_rdft2_rank_geq2_register 0 #x10bdd #x10bdd #x0 #x7446ec55 #x3f800a5f #xba25afcf #xc0e9d5c1) - (fftw_codelet_n1bv_16_sse2 0 #x10bdd #x10bdd #x0 #xd9d77a34 #x2764630e #xaa589a35 #xc9be81db) - (fftw_dft_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #xe7f77f6a #xaf2de8b8 #xad19bc70 #x80305f29) - (fftw_dft_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #x37e6a727 #xc85b1b7c #x65d78a7d #xf0595850) - (fftw_rdft2_rank_geq2_register 0 #x10bdd #x10bdd #x0 #x962543ac #xb000f636 #xb27fc586 #xd4a83bb7) - (fftw_rdft2_rank_geq2_register 0 #x10bdd #x10bdd #x0 #x68900aea #xb640ce9e #xcd3b0e06 #x8170fa63) - (fftw_dft_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #x0ac209ed #x737616a2 #xc31f0ad8 #x13c3716f) - (fftw_dft_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #x21347a5d #x286e0d10 #xabf9ff02 #xccdf80a5) - (fftw_codelet_n1bv_16_avx 0 #x10bdd #x10bdd #x0 #x36abc7b8 #x1cd3eb8f #xa4996ada #x1a06c95a) - (fftw_rdft2_rank_geq2_register 0 #x10bdd #x10bdd #x0 #x855943e1 #x80e0a0ca #xd37ea014 #x23f0deee) - (fftw_dft_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #xbffceb36 #x5b340e87 #xc2433c88 #x10e155b2) - (fftw_codelet_n1fv_16_sse2 0 #x10bdd #x10bdd #x0 #x7304fb62 #xa799c05d #xa4bd6105 #x6d7bd16b) - (fftw_codelet_n1fv_8_sse2 0 #x10bdd #x10bdd #x0 #xdbede2d6 #x5032ed11 #x297abbbf #x39122c9f) - (fftw_codelet_r2cb_16 2 #x10bdd #x10bdd #x0 #x5bdedfde #x107be498 #x869a0bfb #x7cc04b4f) - (fftw_rdft2_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #x7ec9785e #x02957b55 #xab1017dc #xdcd04ed7) - (fftw_dft_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #x45123427 #x01281369 #xb95432bf #x1feb837a) - (fftw_dft_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #x91265544 #x90ab0f94 #x1c6548b3 #xe92ee441) - (fftw_dft_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #x99251b68 #x8a372a47 #xa305bb39 #x4df59c76) - (fftw_rdft2_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #x40ffeb6f #x4d232a35 #x49c61e65 #x4d75fa83) - (fftw_rdft2_rank_geq2_register 0 #x10bdd #x10bdd #x0 #xe6ba1829 #x368612bb #x2bdab11c #x2fc35e23) - (fftw_dft_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #x404fdd72 #x2323d034 #xc860c577 #x4779492a) - (fftw_rdft2_rank_geq2_register 0 #x10bdd #x10bdd #x0 #xc3c9e752 #x39b3927b #x7df101ab #x79309943) - (fftw_rdft2_rank_geq2_register 0 #x10bdd #x10bdd #x0 #x7b0c4ef3 #x2018ef0d #xa437b495 #xaddfa382) - (fftw_dft_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #x7e4e30fa #xc1ef6b3d #xbc1076dd #xc79407b9) - (fftw_codelet_r2cb_32 2 #x10bdd #x10bdd #x0 #x4e6e3714 #xebce55aa #x0ede5253 #x4faf4524) - (fftw_dft_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #xd78cc60c #x6e1210c6 #x5868829d #x70ada990) - (fftw_codelet_n1bv_8_sse2 0 #x10bdd #x10bdd #x0 #x90888d2b #x6076f166 #x437260f2 #x93ff29c3) - (fftw_codelet_n1bv_16_avx 0 #x10bdd #x10bdd #x0 #xdf3d687a #xe46fb97f #x6ee0e7aa #x945d2abd) - (fftw_dft_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #xdd819205 #xc9fe9ea4 #x32ec81f1 #x4bbca283) - (fftw_codelet_n1bv_32_avx 0 #x10bdd #x10bdd #x0 #x35d0d312 #x6b498ae1 #x1ddcffdc #x4a1a1998) - (fftw_rdft2_rank_geq2_register 0 #x10bdd #x10bdd #x0 #x2d4d9e0b #x4a34f327 #x275f3ae1 #x25641e46) - (fftw_dft_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #xe0a3b250 #xab7e7c07 #xf0935dde #x1568a95f) - (fftw_dft_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #x9ff9c3f3 #xf143b736 #xce2dc789 #x4d442c4a) - (fftw_rdft2_rank_geq2_register 0 #x10bdd #x10bdd #x0 #x0f7b58ed #xae4d4f79 #xe2fc8e0f #x211d3490) - (fftw_codelet_r2cb_8 2 #x10bdd #x10bdd #x0 #x51e5f6b8 #x566aac6d #x249913ff #xf363e314) - (fftw_dft_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #xa2573247 #x00a395db #xf017dd19 #x1df50dd6) - (fftw_dft_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #x1f2e97fe #x61895cd8 #x6073a2f5 #x6ada2663) - (fftw_rdft2_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #xfae0bb4c #xd2ae28c3 #x4adfa199 #xc55e4e63) - (fftw_rdft2_rank_geq2_register 0 #x10bdd #x10bdd #x0 #x8954f8e1 #x6c6f7b1c #xd3d53834 #xc9eb25c1) - (fftw_codelet_n1fv_16_avx 0 #x10bdd #x10bdd #x0 #x60ba7657 #xefd487be #x5ac1f2cf #x8eb91f0f) - (fftw_rdft2_rank_geq2_register 0 #x10bdd #x10bdd #x0 #x3c2e2a1a #x07c08954 #x35c337d9 #x80864862) - (fftw_codelet_n1fv_16_avx 0 #x10bdd #x10bdd #x0 #xca718bf8 #x524674ba #x011a6dfe #xfbebca33) - (fftw_codelet_r2cb_32 2 #x10bdd #x10bdd #x0 #x92bf92d5 #xdc456f1e #x5a32a424 #xe1f76e14) + (fftw_rdft2_rank_geq2_register 0 #x10bdd #x10bdd #x0 #x5ee9deaf #x803496c0 #xdcaa85b6 #x11dfd168) + (fftw_codelet_n1bv_128_avx 0 #x10bdd #x10bdd #x0 #x0dab20d0 #x841c928d #x8f95a044 #x8648861a) + (fftw_rdft2_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #x27ed4958 #x7b810169 #x868b075a #xbdfeccde) + (fftw_rdft2_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #xf7cc2e58 #xe8598af0 #xccbe32f3 #x01416c7a) + (fftw_rdft2_rank_geq2_register 0 #x10bdd #x10bdd #x0 #xfc62f116 #x4b25ceff #xf057784c #x1ea58257) + (fftw_codelet_r2cf_4 2 #x10bdd #x10bdd #x0 #x1a0eadc5 #x01b966bd #xba3ec0cb #x3bbf7704) + (fftw_rdft2_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #xbf003229 #x49df7e30 #xb57b18ee #xbdc8f696) + (fftw_codelet_n1fv_128_avx 0 #x10bdd #x10bdd #x0 #xf1051924 #x3cb53423 #xbc2120c2 #xdee4d17c) + (fftw_codelet_r2cbIII_2 2 #x10bdd #x10bdd #x0 #xee2cb083 #x182690ea #x841aa951 #xd87b9709) + (fftw_rdft2_rank_geq2_register 0 #x10bdd #x10bdd #x0 #xd18676aa #xa490b2be #x8a110381 #x0674ed90) + (fftw_rdft2_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #x5863400c #x3e549e36 #x70702991 #x4cb1a8b4) + (fftw_dft_nop_register 0 #x10bdd #x10bdd #x0 #xefadd2cf #x2599b1f7 #xf3609948 #x6f687984) + (fftw_codelet_t2bv_4_avx 0 #x10bdd #x10bdd #x0 #x222fe56a #x400e7062 #xaa0102ab #xdac525c7) + (fftw_rdft2_rank_geq2_register 0 #x10bdd #x10bdd #x0 #xb5717c43 #xea8d28e7 #x773b72ad #xab4f7e98) + (fftw_dft_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #x74a4b38e #x3a9542bb #x7c53e952 #xd047b5ac) + (fftw_codelet_n1fv_128_avx 0 #x10bdd #x10bdd #x0 #x9ca2bad9 #x6195e6cd #xf7a9bd69 #x1a6adf98) + (fftw_rdft2_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #x626328cb #x27898515 #xac7524f5 #xe381e924) + (fftw_codelet_hc2cbdftv_2_avx 0 #x10bdd #x10bdd #x0 #xbcdfd9e5 #xf7782660 #x8651ac2f #xd4223c63) + (fftw_codelet_n2fv_32_avx 0 #x10bdd #x10bdd #x0 #x58b9641c #x9e30bdf8 #xf0f47ae8 #x7655e569) + (fftw_codelet_n1bv_128_avx 0 #x10bdd #x10bdd #x0 #x466c1810 #xae9f2666 #xc4baf3f0 #xab78a00c) + (fftw_rdft2_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #x0b420fb7 #x88eec800 #x18e6f77b #xee6f47cc) + (fftw_codelet_n1bv_128_avx 0 #x10bdd #x10bdd #x0 #xfaefc863 #x3a3ba8fc #x031c855a #x015b826a) + (fftw_rdft2_rank_geq2_register 0 #x10bdd #x10bdd #x0 #x2b1f5925 #xf71b5dfe #xe9835918 #xebd9e013) + (fftw_rdft2_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #xbd602caa #x29e01361 #xedd1a545 #x43ec5754) + (fftw_codelet_r2cfII_4 2 #x10bdd #x10bdd #x0 #xefbb9b83 #x7a1273f7 #x44738c83 #x09e09d33) + (fftw_codelet_hc2cfdftv_4_avx 0 #x10bdd #x10bdd #x0 #x181d5f02 #xe52fa6f8 #x2c40517b #x5c7e639e) + (fftw_rdft2_rank_geq2_register 0 #x10bdd #x10bdd #x0 #xac037af4 #x0cfa848c #x57252557 #xda3837a4) + (fftw_dft_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #xa0f80596 #x3d1d8059 #xce975432 #x8f20aeca) + (fftw_codelet_r2cb_2 2 #x10bdd #x10bdd #x0 #x99718546 #x87fcd081 #x11825ef6 #x9398cd27) + (fftw_dft_nop_register 0 #x10bdd #x10bdd #x0 #x54cdef15 #xc5bb0b98 #x2bd11131 #x922134d4) + (fftw_rdft_rank0_register 3 #x10bdd #x10bdd #x0 #xec8516b0 #xa88a37cc #x2870b0c6 #xe1bc2e8e) + (fftw_dft_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #x007adcc2 #x9232f02f #x8145da1e #x6f71eb23) + (fftw_codelet_n2bv_16_avx 0 #x10bdd #x10bdd #x0 #x2bbbefa0 #xe1658c41 #x1edcd3e8 #xfc8538a3) + (fftw_rdft2_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #x70aef0dd #xa106222c #x1a3885f9 #x770e380d) + (fftw_dft_buffered_register 1 #x10bdd #x10bdd #x0 #x5a8b97d2 #x7beb56fa #xd471ea51 #x958af4a2) + (fftw_codelet_n1fv_128_avx 0 #x10bdd #x10bdd #x0 #x4e3cf147 #x8f793c68 #x70b49925 #x52917fe0) + (fftw_dft_buffered_register 1 #x10bdd #x10bdd #x0 #x221ab00c #x079c5d40 #x5de8abb4 #xaf85805a) + (fftw_dft_r2hc_register 0 #x10bdd #x10bdd #x0 #x6b45fee6 #xba1b589d #x3066e6b5 #x33be97f3) + (fftw_rdft2_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #x201d20d9 #x0d2e56ec #xc45b8566 #xa8cd33c7) + (fftw_dft_r2hc_register 0 #x10bdd #x10bdd #x0 #xf9968ceb #xd3b2d43e #x0346b437 #xd743c3e1) + (fftw_rdft2_thr_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #x4052c515 #x478d7f95 #x5afa91a6 #x4aa8e677) + (fftw_dft_vrank_geq1_register 0 #x10bdd #x10bdd #x0 #xeb6d2e88 #x6227e668 #xd7d170d2 #x1daa4985) ) diff --git a/tests/test_likelihood.py b/tests/test_likelihood.py index deee586..8f03746 100644 --- a/tests/test_likelihood.py +++ b/tests/test_likelihood.py @@ -37,6 +37,12 @@ mylike.updateCosmology(cosmo) s_hat = np.fft.rfftn(np.random.randn(*box_in.N)) / box_in.Ntot ** (0.5) mylike.generateMockData(s_hat, state) +scale = 1.0 +L = mylike.logLikelihoodComplex(scale * s_hat, None) +print(L) + +quit() + if test_scaling: all_scale = np.linspace(0.5, 1.5, 100) all_lkl = np.empty(all_scale.shape) @@ -52,6 +58,7 @@ if test_scaling: ax.axvline(x=1, color='k') ax.set_xlabel(r'$\hat{s}$ scaling') ax.set_ylabel(r'$\mathcal{L}$') + ax.set_xlim(all_scale.min(), all_scale.max()) fig.tight_layout() fig.savefig('../figs/scaling_test.png') fig.clf() diff --git a/tests/timing_stats_0.txt b/tests/timing_stats_0.txt index b7a829b..b1aef39 100644 --- a/tests/timing_stats_0.txt +++ b/tests/timing_stats_0.txt @@ -4,84 +4,62 @@ Cumulative timing spent in different context -------------------------------------------- Context, Total time (seconds) - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/chain_forward_model.cpp]virtual void LibLSS::ChainForwardModel::forwardModel_v2(LibLSS::detail_input::ModelInput<3>) 1282 34.5484 - BORG LPT MODEL 1282 33.0864 - BORG forward model 1282 32.9949 - CICModel::getVelocityField 1283 9.73471 - CICModel::getVelocityFieldAlpha 3849 7.41442 - FFTW_Manager::create_r2c_plan 5142 2.65586 - FFTW_Manager::create_c2r_plan 5141 2.57818 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forward_model.cpp]void LibLSS::ForwardModel::setCosmoParams(const LibLSS::CosmologicalParameters&) 34 2.20232 - lpt_ic 1282 1.63669 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/borg_lpt.cpp]void LibLSS::BorgLptModel::updateCosmo() [with CIC = LibLSS::ClassicCloudInCell] 5 1.02187 - lightcone computation 1 0.998 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/cosmo.cpp]void LibLSS::Cosmology::precompute_d_plus() 1 0.917015 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/hermitic.hpp]virtual void LibLSS::ForwardHermiticOperation::getDensityFinal(LibLSS::detail_output::ModelOutput<3>) 1282 0.595479 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/tools/hermiticity_fixup.cpp]void LibLSS::Hermiticity_fixer::forward(CArrayRef&) [with T = double; long unsigned int Nd = 3; CArrayRef = boost::multi_array_ref, 3>] 1282 0.535228 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/tools/hermiticity_fixup.cpp]typename std::enable_if<(Dim != 1), void>::type fix_plane(Mgr&, Ghosts&&, CArray&&, size_t*) [with long unsigned int rank = 0; Mgr = LibLSS::FFTW_Manager; Ghosts = LibLSS::Hermiticity_fixer::forward(CArrayRef&)::; CArray = boost::detail::multi_array::multi_array_view, 2>; long unsigned int Dim = 2; typename std::enable_if<(Dim != 1), void>::type = void; size_t = long unsigned int] 2564 0.500125 - FFTW_Manager::execute_c2r 8985 0.339934 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/python/pyforward.cpp]void do_get_density_final(LibLSS::BORGForwardModel*, pybind11::array) 1282 0.232009 - FFTW_Manager::execute_r2c 5142 0.17592 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/lpt/borg_fwd_lpt.cpp]void LibLSS::BorgLptModel::getDensityFinal(LibLSS::detail_output::ModelOutput<3>) [with CIC = LibLSS::ClassicCloudInCell] 1282 0.171371 - Classic CIC projection 6415 0.161445 - FFTW_Manager::destroy_plan 10282 0.160099 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/model_io.cpp]LibLSS::detail_output::ModelOutputBase::~ModelOutputBase() [with long unsigned int Nd = 3; Super = LibLSS::detail_model::ModelIO<3>] 16683 0.148489 - exchanging nearby planes after projection 5133 0.132258 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/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>] 14113 0.109589 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/particle_balancer/balanceinfo.hpp]void LibLSS::BalanceInfo::allocate(LibLSS::MPI_Communication*, size_t) 2565 0.0855438 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/transfer_class.cpp]virtual void LibLSS::ForwardClass::updateCosmo() 5 0.0786533 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/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>] 1282 0.0780552 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/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.0778988 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/cosmo.cpp]void LibLSS::Cosmology::precompute_com2a() 1 0.0569591 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/chain_forward_model.cpp]virtual void LibLSS::ChainForwardModel::getDensityFinal(LibLSS::detail_output::ModelOutput<3>) 1282 0.0554107 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/model_io/base.hpp]void LibLSS::detail_model::ModelIO::transfer(LibLSS::detail_model::ModelIO&&) [with long unsigned int Nd = 3] 37208 0.0357777 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/velocity/velocity_cic.cpp]virtual void LibLSS::VelocityModel::CICModel::computeAdjointModel(LibLSS::VelocityModel::Base::arrayVelocityField_t) 1 0.028122 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/chain_forward_model.cpp]virtual void LibLSS::ChainForwardModel::adjointModel_v2(LibLSS::detail_input::ModelInputAdjoint<3>) 1 0.0271402 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/chain_forward_model.cpp]void LibLSS::ChainForwardModel::trigger_ag() 1 0.0271251 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/lpt/borg_fwd_lpt_adj.cpp]void LibLSS::BorgLptModel::getAdjointModelOutput(LibLSS::detail_output::ModelOutputAdjoint<3>) [with CIC = LibLSS::ClassicCloudInCell] 1 0.0259611 - BORG adjoint model (particles) 1 0.0259384 - LPT-IC adjoint 1 0.0258888 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/transfer_class.cpp]virtual void LibLSS::ForwardClass::forwardModel_v2(LibLSS::detail_input::ModelInput<3>) 1282 0.0198379 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/primordial_as.cpp]virtual void LibLSS::ForwardPrimordial_As::forwardModel_v2(LibLSS::detail_input::ModelInput<3>) 1282 0.0194489 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/model_io.cpp]void LibLSS::detail_output::ModelOutputBase::close() [with long unsigned int Nd = 3; Super = LibLSS::detail_model::ModelIO<3>] 16683 0.0139736 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/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>] 6415 0.00580403 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/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>] 5132 0.00454889 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/tools/hermiticity_fixup.cpp]LibLSS::Hermiticity_fixer::Hermiticity_fixer(Mgr_p) [with T = double; long unsigned int Nd = 3; Mgr_p = std::shared_ptr >] 1 0.0034003 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/tools/mpi/ghost_planes.hpp]void LibLSS::GhostPlanes::setup(LibLSS::MPI_Communication*, PlaneList&&, PlaneSet&&, DimList&&, size_t) [with PlaneList = std::set&; PlaneSet = std::set&; DimList = std::array&; T = std::complex; long unsigned int Nd = 2; size_t = long unsigned int] 1 0.00338329 - dispatch_plane_map 1 0.00333988 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/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.00264381 - BorgLptModel::BorgLptModel 1 0.00258427 - Classic CIC adjoint-interpolation 18 0.00243702 - ghost synchronize 1282 0.00235298 - particle distribution 2565 0.00232546 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/model_io.cpp]void LibLSS::detail_input::ModelInputBase::needDestroyInput() [with long unsigned int Nd = 3; Super = LibLSS::detail_model::ModelIO<3>] 1282 0.00174796 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/class_cosmo.cpp]void LibLSS::ClassCosmo::retrieve_Tk(double) 2 0.00143746 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/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.00127092 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/adapt_generic_bias.cpp]void {anonymous}::bias_registrator() 1 0.00125063 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forward_model.cpp]void LibLSS::BORGForwardModel::setupDefault() 1 0.0010723 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/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.000721845 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/primordial_as.cpp]virtual void LibLSS::ForwardPrimordial_As::updateCosmo() 10 0.000559358 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/hermitic.hpp]virtual void LibLSS::ForwardHermiticOperation::getAdjointModelOutput(LibLSS::detail_output::ModelOutputAdjoint<3>) 1 0.000524894 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/tools/hermiticity_fixup.cpp]typename std::enable_if<(Dim != 1), void>::type adjoint_fix_plane(Mgr&, CArray&&, size_t*) [with long unsigned int rank = 0; Mgr = LibLSS::FFTW_Manager; CArray = boost::detail::multi_array::multi_array_view, 2>; long unsigned int Dim = 2; typename std::enable_if<(Dim != 1), void>::type = void; size_t = long unsigned int] 2 0.000443373 - Classic CIC interpolation 3 0.000410194 - BorgLptModel::~BorgLptModel 1 0.00018844 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/python/pyforward.cpp]void do_get_adjoint_model(LibLSS::BORGForwardModel*, pybind11::array) 1 0.000186842 - BORGForwardModel::setup 8 0.000177922 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/lpt/borg_fwd_lpt_adj.cpp]void LibLSS::BorgLptModel::adjointModelParticles(LibLSS::BORGForwardModelTypes::PhaseArrayRef&, LibLSS::BORGForwardModelTypes::PhaseArrayRef&) [with CIC = LibLSS::ClassicCloudInCell; LibLSS::BORGForwardModelTypes::PhaseArrayRef = boost::multi_array_ref] 1 0.00013868 - BORG adjoint model 1 0.000106633 - Classic CIC adjoint-projection 1 8.2392e-05 - exchanging nearby planes before taking adjoint gradient 6 8.2354e-05 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/lpt/borg_fwd_lpt_adj.cpp]void LibLSS::BorgLptModel::preallocate() [with CIC = LibLSS::ClassicCloudInCell] 2 7.5163e-05 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/primordial_as.cpp]std::shared_ptr build_primordial_as(std::shared_ptr, const LibLSS::BoxModel&, const LibLSS::PropertyProxy&) 1 7.2877e-05 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/transfer_class.cpp]std::shared_ptr build_class(std::shared_ptr, const LibLSS::BoxModel&, const LibLSS::PropertyProxy&) 1 7.2711e-05 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/chain_forward_model.cpp]virtual void LibLSS::ChainForwardModel::getAdjointModelOutput(LibLSS::detail_output::ModelOutputAdjoint<3>) 1 6.745e-05 - Initializing peer system 14 6.3955e-05 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/primordial_as.cpp]void LibLSS::ForwardPrimordial_As::updatePower() 5 4.8762e-05 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/python/pyforward.cpp]void transfer_in(std::shared_ptr >&, T&, U&, bool) [with T = boost::multi_array_ref; U = pybind11::detail::unchecked_reference] 1 3.5512e-05 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/transfer_class.cpp]virtual void LibLSS::ForwardClass::setModelParams(const LibLSS::ModelDictionnary&) 1 2e-05 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/transfer_class.cpp]virtual void LibLSS::ForwardClass::adjointModel_v2(LibLSS::detail_input::ModelInputAdjoint<3>) 1 1.5583e-05 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/primordial_as.cpp]virtual void LibLSS::ForwardPrimordial_As::adjointModel_v2(LibLSS::detail_input::ModelInputAdjoint<3>) 1 1.3838e-05 - gather_peer_by_plane 1 1.0897e-05 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/lpt/borg_fwd_lpt_adj.cpp]void LibLSS::BorgLptModel::clearAdjointGradient() [with CIC = LibLSS::ClassicCloudInCell] 1 3.816e-06 - [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forward_model.cpp]virtual void LibLSS::ForwardModel::setModelParams(const LibLSS::ModelDictionnary&) 1 2.816e-06 - distribute_particles_ag 2 1.678e-06 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forward_model.cpp]void LibLSS::ForwardModel::setCosmoParams(const LibLSS::CosmologicalParameters&) 34 2.57512 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/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 2.08847 + BorgLptModel::BorgLptModel 1 2.08788 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forward_model.cpp]void LibLSS::BORGForwardModel::setupDefault() 1 2.07805 + FFTW_Manager::create_r2c_plan 7 1.13805 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/borg_lpt.cpp]void LibLSS::BorgLptModel::updateCosmo() [with CIC = LibLSS::ClassicCloudInCell] 5 1.03688 + lightcone computation 1 1.01288 + FFTW_Manager::create_c2r_plan 6 0.994615 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/cosmo.cpp]void LibLSS::Cosmology::precompute_d_plus() 1 0.917438 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/primordial_as.cpp]std::shared_ptr build_primordial_as(std::shared_ptr, const LibLSS::BoxModel&, const LibLSS::PropertyProxy&) 1 0.385783 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/transfer_class.cpp]std::shared_ptr build_class(std::shared_ptr, const LibLSS::BoxModel&, const LibLSS::PropertyProxy&) 1 0.38134 + CICModel::getVelocityField 1 0.381026 + Classic CIC projection 5 0.346875 + CICModel::getVelocityFieldAlpha 3 0.289289 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/transfer_class.cpp]virtual void LibLSS::ForwardClass::updateCosmo() 5 0.237377 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/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.227272 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/chain_forward_model.cpp]virtual void LibLSS::ChainForwardModel::forwardModel_v2(LibLSS::detail_input::ModelInput<3>) 1 0.110549 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/cosmo.cpp]void LibLSS::Cosmology::precompute_com2a() 1 0.0689217 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/lpt/borg_fwd_lpt.cpp]void LibLSS::BorgLptModel::getDensityFinal(LibLSS::detail_output::ModelOutput<3>) [with CIC = LibLSS::ClassicCloudInCell] 1 0.0646358 + BORG LPT MODEL 1 0.0386933 + BORG forward model 1 0.0373443 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/primordial_as.cpp]virtual void LibLSS::ForwardPrimordial_As::updateCosmo() 10 0.0132038 + lpt_ic 1 0.0129245 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/primordial_as.cpp]void LibLSS::ForwardPrimordial_As::updatePower() 5 0.0126693 + FFTW_Manager::execute_c2r 7 0.00893392 + FFTW_Manager::execute_r2c 4 0.00713005 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/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.00538298 + FFTW_Manager::destroy_plan 12 0.00456276 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/tools/hermiticity_fixup.cpp]LibLSS::Hermiticity_fixer::Hermiticity_fixer(Mgr_p) [with T = double; long unsigned int Nd = 3; Mgr_p = std::shared_ptr >] 1 0.00376522 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/tools/mpi/ghost_planes.hpp]void LibLSS::GhostPlanes::setup(LibLSS::MPI_Communication*, PlaneList&&, PlaneSet&&, DimList&&, size_t) [with PlaneList = std::set&; PlaneSet = std::set&; DimList = std::array&; T = std::complex; long unsigned int Nd = 2; size_t = long unsigned int] 1 0.0037254 + dispatch_plane_map 1 0.00349579 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/particle_balancer/balanceinfo.hpp]void LibLSS::BalanceInfo::allocate(LibLSS::MPI_Communication*, size_t) 2 0.00317642 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/hermitic.hpp]virtual void LibLSS::ForwardHermiticOperation::getDensityFinal(LibLSS::detail_output::ModelOutput<3>) 1 0.00280722 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/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>] 1 0.00212912 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/python/pyforward.cpp]void do_get_density_final(LibLSS::BORGForwardModel*, pybind11::array) 1 0.00185894 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/class_cosmo.cpp]void LibLSS::ClassCosmo::retrieve_Tk(double) 2 0.00141643 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/adapt_generic_bias.cpp]void {anonymous}::bias_registrator() 1 0.00135291 + BorgLptModel::~BorgLptModel 1 0.00134733 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/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.00125166 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/tools/hermiticity_fixup.cpp]void LibLSS::Hermiticity_fixer::forward(CArrayRef&) [with T = double; long unsigned int Nd = 3; CArrayRef = boost::multi_array_ref, 3>] 1 0.000808169 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/tools/hermiticity_fixup.cpp]typename std::enable_if<(Dim != 1), void>::type fix_plane(Mgr&, Ghosts&&, CArray&&, size_t*) [with long unsigned int rank = 0; Mgr = LibLSS::FFTW_Manager; Ghosts = LibLSS::Hermiticity_fixer::forward(CArrayRef&)::; CArray = boost::detail::multi_array::multi_array_view, 2>; long unsigned int Dim = 2; typename std::enable_if<(Dim != 1), void>::type = void; size_t = long unsigned int] 2 0.000755922 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/chain_forward_model.cpp]virtual void LibLSS::ChainForwardModel::getDensityFinal(LibLSS::detail_output::ModelOutput<3>) 1 0.000752412 + exchanging nearby planes after projection 4 0.000681672 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/model_io.cpp]LibLSS::detail_output::ModelOutputBase::~ModelOutputBase() [with long unsigned int Nd = 3; Super = LibLSS::detail_model::ModelIO<3>] 17 0.00031809 + BORGForwardModel::setup 8 0.000195441 + gather_peer_by_plane 1 0.000147003 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/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>] 11 0.000116935 + Initializing peer system 14 7.2966e-05 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/model_io/base.hpp]void LibLSS::detail_model::ModelIO::transfer(LibLSS::detail_model::ModelIO&&) [with long unsigned int Nd = 3] 29 2.9749e-05 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/model_io.cpp]void LibLSS::detail_output::ModelOutputBase::close() [with long unsigned int Nd = 3; Super = LibLSS::detail_model::ModelIO<3>] 17 2.0688e-05 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/transfer_class.cpp]virtual void LibLSS::ForwardClass::setModelParams(const LibLSS::ModelDictionnary&) 1 1.9715e-05 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/transfer_class.cpp]virtual void LibLSS::ForwardClass::forwardModel_v2(LibLSS::detail_input::ModelInput<3>) 1 1.7707e-05 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forwards/primordial_as.cpp]virtual void LibLSS::ForwardPrimordial_As::forwardModel_v2(LibLSS::detail_input::ModelInput<3>) 1 1.6895e-05 + ghost synchronize 1 1.2845e-05 + particle distribution 2 8.438e-06 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/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>] 5 6.215e-06 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/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>] 4 5.24e-06 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/forward_model.cpp]virtual void LibLSS::ForwardModel::setModelParams(const LibLSS::ModelDictionnary&) 1 2.907e-06 + [/build/jenkins/miniconda3/envs/builder/conda-bld/aquila_borg_1717878335917/work/libLSS/physics/model_io.cpp]void LibLSS::detail_input::ModelInputBase::needDestroyInput() [with long unsigned int Nd = 3; Super = LibLSS::detail_model::ModelIO<3>] 1 2.668e-06