Skip to content

Commit

Permalink
logger more locallised
Browse files Browse the repository at this point in the history
  • Loading branch information
epolack committed Feb 9, 2024
1 parent 9db874a commit e12a506
Show file tree
Hide file tree
Showing 5 changed files with 9 additions and 11 deletions.
4 changes: 1 addition & 3 deletions src/eigen/diag_lobpcg_hyper.jl
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,7 @@ function lobpcg_hyper(A, X0; maxiter=100, prec=nothing,
prec === nothing && (prec = I)

@assert !largest "Only seeking the smallest eigenpairs is implemented."
result = with_logger(default_logger()) do
LOBPCG(A, X0, I, prec, tol, maxiter; n_conv_check, kwargs...)
end
result = LOBPCG(A, X0, I, prec, tol, maxiter; n_conv_check, kwargs...)

n_conv_check === nothing && (n_conv_check = size(X0, 2))
converged = maximum(result.residual_norms[1:n_conv_check]) < tol
Expand Down
2 changes: 2 additions & 0 deletions src/eigen/lobpcg_hyper_impl.jl
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,7 @@ end
@timing function LOBPCG(A, X, B=I, precon=I, tol=1e-10, maxiter=100;
miniter=1, ortho_tol=2eps(real(eltype(X))),
n_conv_check=nothing, display_progress=false)
old_logger = global_logger(default_logger())
N, M = size(X)

# If N is too small, we will likely get in trouble
Expand Down Expand Up @@ -519,6 +520,7 @@ end
niter < maxiter || break
niter = niter + 1
end
global_logger(old_logger)

final_retval(full_X, full_AX, resid_history, maxiter, n_matvec)
end
2 changes: 2 additions & 0 deletions src/scf/scf_callbacks.jl
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ function ScfDefaultCallback(; show_damping=true, show_time=true)
ScfDefaultCallback(show_damping, show_time, Ref(0))
end
function (cb::ScfDefaultCallback)(info)
old_logger = global_logger(default_logger())
# If first iteration clear a potentially cached previous time
info.n_iter 1 && (cb.prev_time[] = 0)

Expand Down Expand Up @@ -99,6 +100,7 @@ function (cb::ScfDefaultCallback)(info)

line = @sprintf "% 3d %s %s %s" info.n_iter Estr ΔE Δρstr
@info line * "$Mstr $αstr $diagstr $tstr"
global_logger(old_logger)

flush(stdout)
info
Expand Down
8 changes: 2 additions & 6 deletions src/scf/self_consistent_field.jl
Original file line number Diff line number Diff line change
Expand Up @@ -199,9 +199,7 @@ Overview of parameters:

converged = is_converged(info)
converged = MPI.bcast(converged, 0, MPI.COMM_WORLD) # Ensure same converged
with_logger(default_logger()) do
callback(merge(info, (; converged)))
end
callback(merge(info, (; converged)))

ρin + T(damping) .* mix_density(mixing, basis, Δρ; info...)
end
Expand All @@ -220,8 +218,6 @@ Overview of parameters:
ρ=ρout, α=damping, eigenvalues, occupation, εF, info.n_bands_converge,
n_iter, ψ, info.diagonalization, stage=:finalize, history_Δρ, history_Etot,
runtime_ns=time_ns() - start_ns, algorithm="SCF")
with_logger(default_logger()) do
callback(info)
end
callback(info)
info
end
4 changes: 2 additions & 2 deletions test/runtests_runner.jl
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ end
using Logging
using DFTK

# Don't print anything below warning level.
DFTK.default_logger() = DFTK.DFTKLogger(; io=stdout, min_level=Warn)
# Don't print anything below or at warning level.
DFTK.default_logger() = DFTK.DFTKLogger(; io=stdout, min_level=LogLevel(1001))
#@set_preferences!("min_log_level" => "1001"; export_prefs=false)
with_logger(DFTK.default_logger()) do
@run_package_tests filter=dftk_testfilter verbose=true
Expand Down

0 comments on commit e12a506

Please sign in to comment.