Option to store cpu src field in propagator func.

This commit is contained in:
Fernando P. Panadero 2025-06-24 15:46:12 +02:00
commit d2adc5c8c5

View file

@ -43,7 +43,7 @@ function propagator!(pro, U, dpar::DiracParam{T}, dws::DiracWorkspace, lp::Space
return niter
end
function propagator!(pro, U, dpar::DiracParam{T}, dws::DiracWorkspace, lp::SpaceParm, maxiter::Int64, tol::Float64, time::Int64) where {T}
function propagator!(pro, U, dpar::DiracParam{T}, dws::DiracWorkspace, lp::SpaceParm, maxiter::Int64, tol::Float64, time::Int64, psi0 = nothing) where {T}
function krnlg5!(src)
b=Int64(CUDA.threadIdx().x)
@ -57,6 +57,10 @@ function propagator!(pro, U, dpar::DiracParam{T}, dws::DiracWorkspace, lp::Space
pfrandomize!(dws.sp,lp,time)
if !isnothing(psi0)
psi0 .= Array(dws.sp)
end
CUDA.@sync begin
CUDA.@cuda threads=lp.bsz blocks=lp.rsz krnlg5!(dws.sp)
end