Skip to content

Commit

Permalink
seems to work with silent logging
Browse files Browse the repository at this point in the history
  • Loading branch information
a2ray committed Oct 6, 2024
1 parent c50d63e commit 9df7d17
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 21 deletions.
17 changes: 7 additions & 10 deletions src/AEMnoNuisanceGradientInversionTools.jl
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module AEMnoNuisanceGradientInversionTools
using Distributed, Dates, Printf, PyPlot, DelimitedFiles, StatsBase
using ..AbstractOperator, ..CommonToAll, ..GP
using ..AbstractOperator, ..CommonToAll, ..GP, ..SoundingDistributor
import ..AbstractOperator.makeoperator
import ..AbstractOperator.Sounding
import ..AbstractOperator.returnforwrite
Expand Down Expand Up @@ -246,14 +246,11 @@ function loopacrossAEMsoundings(soundings::Array{S, 1}, aem_in, σstart, σ0;
nsoundings = length(soundings)
zall = zboundarytocenter(aem_in.z[aem_in.nfixed+1:end]) # needed for sounding compression in write

@info "starting sequential parallel iterations at $(Dates.now())"
writetogloballog("will require $nsequentialiters iterations of $nparallelsoundings soundings", iomode="w")
writetogloballog("starting sequential parallel iterations at $(Dates.now())")
for iter = 1:nsequentialiters
if iter<nsequentialiters
ss = (iter-1)*nparallelsoundings+1:iter*nparallelsoundings
else
ss = (iter-1)*nparallelsoundings+1:nsoundings
end
@info "soundings in loop $iter of $nsequentialiters", ss
ss = getss_deterministic(iter, nsequentialiters, nparallelsoundings, nsoundings)
writetogloballog("soundings in loop $iter of $nsequentialiters $ss")
pids = workers()
t2 = time()
@sync for (i, s) in enumerate(ss)
Expand Down Expand Up @@ -291,8 +288,8 @@ function loopacrossAEMsoundings(soundings::Array{S, 1}, aem_in, σstart, σ0;
isfirstparalleliteration = iter == 1 ? true : false
compresssoundings && compress(soundings[ss[1]:ss[end]], zall,
isfirstparalleliteration = isfirstparalleliteration, prefix=zipsaveprefix)
dt = time() - t2 #seconds
@info "done $iter out of $nsequentialiters at $(Dates.now()) in $dt sec"
dt = time() - t2 # seconds
writetogloballog("done $iter out of $nsequentialiters at $(Dates.now()) in $dt sec")
end
end

Expand Down
17 changes: 7 additions & 10 deletions src/AEMwithNuisanceGradientInversionTools.jl
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module AEMwithNuisanceGradientInversionTools
using Distributed, Dates, Printf, PyPlot, DelimitedFiles, StatsBase
using ..AbstractOperator, ..CommonToAll, ..GP
using ..AbstractOperator, ..CommonToAll, ..GP, ..SoundingDistributor
import ..AbstractOperator.makeoperator
import ..AbstractOperator.setnuboundsandstartforgradinv
import ..AbstractOperator.Sounding
Expand Down Expand Up @@ -251,14 +251,11 @@ function loopacrossAEMsoundings(soundings::Array{S, 1}, aem_in, σstart, σ0, nu
nsoundings = length(soundings)
zall = zboundarytocenter(aem_in.z[aem_in.nfixed+1:end]) # needed for sounding compression in write

@info "starting sequential parallel iterations at $(Dates.now())"
writetogloballog("will require $nsequentialiters iterations of $nparallelsoundings soundings", iomode="w")
writetogloballog("starting sequential parallel iterations at $(Dates.now())")
for iter = 1:nsequentialiters
if iter<nsequentialiters
ss = (iter-1)*nparallelsoundings+1:iter*nparallelsoundings
else
ss = (iter-1)*nparallelsoundings+1:nsoundings
end
@info "soundings in loop $iter of $nsequentialiters", ss
ss = getss_deterministic(iter, nsequentialiters, nparallelsoundings, nsoundings)
writetogloballog("soundings in loop $iter of $nsequentialiters $ss")
pids = workers()
t2 = time()
@sync for (i, s) in enumerate(ss)
Expand Down Expand Up @@ -287,8 +284,8 @@ function loopacrossAEMsoundings(soundings::Array{S, 1}, aem_in, σstart, σ0, nu
isfirstparalleliteration = iter == 1 ? true : false
compresssoundings && compress(soundings[ss[1]:ss[end]], zall, size(nuboundsΔ, 1),
isfirstparalleliteration = isfirstparalleliteration, prefix=zipsaveprefix)
dt = time() - t2 #seconds
@info "done $iter out of $nsequentialiters at $(Dates.now()) in $dt sec"
dt = time() - t2 # seconds
writetogloballog("done $iter out of $nsequentialiters at $(Dates.now()) in $dt sec")
end
end

Expand Down
10 changes: 9 additions & 1 deletion src/SoundingDistributor.jl
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module SoundingDistributor
using Distributed
export splittasks, getss, getpids, writetogloballog, catlocallogs
export splittasks, getss, getpids, writetogloballog, catlocallogs, getss_deterministic

function splittasks(soundings::AbstractVector; nchainspersounding=nothing, ppn=nothing)
nsoundings = length(soundings)
Expand Down Expand Up @@ -29,6 +29,14 @@ function getss(iter, nsequentialiters, nparallelsoundings, nsoundings)
ss
end

function getss_deterministic(iter, nsequentialiters, nparallelsoundings, nsoundings)
if iter<nsequentialiters
ss = (iter-1)*nparallelsoundings+1:iter*nparallelsoundings
else
ss = (iter-1)*nparallelsoundings+1:nsoundings
end
end

function getpids(i, nchainspersounding)
pids = reverse((nprocs()+2) .- (i*(nchainspersounding+1)+1:(i+1)*(nchainspersounding+1)))
end
Expand Down

0 comments on commit 9df7d17

Please sign in to comment.