From 292bceab87d67d94c21332fa41b231ce7970e3cf Mon Sep 17 00:00:00 2001 From: marius Date: Tue, 8 Sep 2020 17:06:21 -0700 Subject: [PATCH] Float32 2048 GPU BilinearLens MAP_marg working --- src/maximization.jl | 9 +++++++-- src/posterior.jl | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/maximization.jl b/src/maximization.jl index 7555fb64..d87e18c4 100644 --- a/src/maximization.jl +++ b/src/maximization.jl @@ -124,7 +124,9 @@ function MAP_joint( cache_function = nothing, callback = nothing, interruptable::Bool = false, - progress::Bool = true) + progress::Bool = true, + aggressive_gc = fieldinfo(ds.d).Nside>=1024 +) if !(isa(quasi_sample,Bool) || isa(quasi_sample,Int)) throw(ArgumentError("quasi_sample should be true, false, or an Int.")) @@ -177,7 +179,8 @@ function MAP_joint( conjgrad_kwargs=(hist=(:i,:res), progress=(progress==:verbose), conjgrad_kwargs...), preconditioner=preconditioner ) - + aggressive_gc && GC.gc(true) + f°, = mix(f,ϕ,ds) lnPcur = lnP(:mix,f°,ϕ,ds) @@ -233,6 +236,7 @@ function MAP_marg( Nsims = 50, Nbatch = 1, progress::Bool = true, + aggressive_gc = fieldinfo(ds.d).Nside>=512 ) ds = (@set ds.G = 1) @@ -250,6 +254,7 @@ function MAP_marg( pbar = Progress(nsteps, (progress ? 0 : Inf), "MAP_marg: ") for i=1:nsteps + aggressive_gc && GC.gc(true) g, state = δlnP_δϕ( ϕ, θ, ds, use_previous_MF = i>nsteps_with_meanfield_update, diff --git a/src/posterior.jl b/src/posterior.jl index 77c2a37f..e9cbd05e 100644 --- a/src/posterior.jl +++ b/src/posterior.jl @@ -122,7 +122,7 @@ function δlnP_δϕ( f_wf, hist = argmaxf_lnP( Lϕ, θ, ds; which = :wf, - guess = (f_wf_guess==nothing ? nothing : f_wf_guess), + guess = (f_wf_guess==nothing ? 0d : f_wf_guess), conjgrad_kwargs = (hist=(:i,:res), conjgrad_kwargs...) ) v = Lϕ' \ (Cf \ f_wf)