First round of bug fixes.

parent b2811423
...@@ -135,8 +135,8 @@ function save_data() ...@@ -135,8 +135,8 @@ function save_data()
BDIO_write!(fb, [convert(Int32,params["Frontflow"]["nsteps"])]) BDIO_write!(fb, [convert(Int32,params["Frontflow"]["nsteps"])])
BDIO_write!(fb, [convert(Int32,params["Backflow"]["N_noise"])]) BDIO_write!(fb, [convert(Int32,params["Backflow"]["N_noise"])])
BDIO_write!(fb, [convert(Int32,length(flow_times))]) BDIO_write!(fb, [convert(Int32,length(flow_times))])
BDIO_write!(fb, [convert(Int32,params["Frontflow"]["t_zero"])]) BDIO_write!(fb, [params["Frontflow"]["t_zero"],])
BDIO_write!(fb, [convert(Int32,params["Frontflow"]["epsilon"])]) BDIO_write!(fb, [params["Frontflow"]["epsilon"],])
BDIO_write!(fb, [convert(Int32,params["Frontflow"]["tsource"])]) BDIO_write!(fb, [convert(Int32,params["Frontflow"]["tsource"])])
BDIO_write!(fb, [convert(Int32,params["Backflow"]["tsource"])]) BDIO_write!(fb, [convert(Int32,params["Backflow"]["tsource"])])
length(flow_times) > 0 ? BDIO_write!(fb, flow_times) : nothing length(flow_times) > 0 ? BDIO_write!(fb, flow_times) : nothing
......
...@@ -154,7 +154,7 @@ function Backflow_pt() # Will be backflow ...@@ -154,7 +154,7 @@ function Backflow_pt() # Will be backflow
pfrandomize!(psi,lp,params["Backflow"]["tsource"]) pfrandomize!(psi,lp,params["Backflow"]["tsource"])
@timeit "GPU to CPU" psit_CPU .= Array(psi) @timeit "GPU to CPU" psit_CPU .= Array(psi)
backflow(psi, U, flow_times[fl], , gp, dpar, lp, ymws, dws) backflow(psi, U, flow_times[fl], params["Backflow"]["Nsaves"] , gp, dpar, lp, ymws, dws)
@timeit "GPU to CPU" psi_CPU .= Array(psi) @timeit "GPU to CPU" psi_CPU .= Array(psi)
...@@ -171,7 +171,7 @@ function Backflow_pt() # Will be backflow ...@@ -171,7 +171,7 @@ function Backflow_pt() # Will be backflow
@timeit "CPU to GPU" copyto!(dws.st,psi_CPU) @timeit "CPU to GPU" copyto!(dws.st,psi_CPU)
Quark_cond[:,noi,fl] .= zero(ComplexF64) Quark_cond[:,noi,fl] .= zero(ComplexF64)
ap_density .= Array(dot(dws.st[b,r],psi[b,r])) ap_density .= Array(dot.(dws.st,psi))
@timeit "Volume sum" for t in 1:lp.iL[4] @timeit "Volume sum" for t in 1:lp.iL[4]
for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3] for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3]
b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp) b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp)
...@@ -210,7 +210,7 @@ function Backflow_pt() # Will be backflow ...@@ -210,7 +210,7 @@ function Backflow_pt() # Will be backflow
@timeit "CPU to GPU" copyto!(dws.st,psit_CPU) @timeit "CPU to GPU" copyto!(dws.st,psit_CPU)
ChiDchi[:,noi,fl] .= zero(Float64) ChiDchi[:,noi,fl] .= zero(Float64)
ap_density .= Array(dot(dws.st[b,r],dws.sp[b,r])) ap_density .= Array(dot.(dws.st,dws.sp))
@timeit "Volume sum" for t in 1:lp.iL[4] @timeit "Volume sum" for t in 1:lp.iL[4]
for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3] for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3]
b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp) b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp)
...@@ -218,7 +218,7 @@ function Backflow_pt() # Will be backflow ...@@ -218,7 +218,7 @@ function Backflow_pt() # Will be backflow
end end end end end end
end end
Dw!(dws.sp,U,dws.st,dpar,dws,lp) Dw!(dws.sp,U,dws.st,dpar,dws,lp)
ap_density .= Array(dot(dws.sp[b,r],psi[b,r])) ap_density .= Array(dot.(dws.sp,psi))
@timeit "Volume sum" for t in 1:lp.iL[4] @timeit "Volume sum" for t in 1:lp.iL[4]
for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3] for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3]
b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp) b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp)
...@@ -227,7 +227,7 @@ function Backflow_pt() # Will be backflow ...@@ -227,7 +227,7 @@ function Backflow_pt() # Will be backflow
end end
Quark_cond2[:,noi,fl] .= zero(ComplexF64) Quark_cond2[:,noi,fl] .= zero(ComplexF64)
ap_density .= Array(dot(dws.st[b,r],psi[b,r])) ap_density .= Array(dot.(dws.st,psi))
@timeit "Volume sum" for t in 1:lp.iL[4] @timeit "Volume sum" for t in 1:lp.iL[4]
for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3] for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3]
b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp) b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp)
...@@ -242,7 +242,7 @@ function Backflow_pt() # Will be backflow ...@@ -242,7 +242,7 @@ function Backflow_pt() # Will be backflow
Dw!(dws.sp,U,psi,dpar,dws,lp) Dw!(dws.sp,U,psi,dpar,dws,lp)
ChiDchi_cfl[:,noi,fl] .= zero(ComplexF64) ChiDchi_cfl[:,noi,fl] .= zero(ComplexF64)
ap_density .= Array(dot(dws.st[b,r],dws.sp[b,r])) ap_density .= Array(dot.(dws.st,dws.sp))
@timeit "Volume sum" for t in 1:lp.iL[4] @timeit "Volume sum" for t in 1:lp.iL[4]
for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3] for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3]
b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp) b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp)
...@@ -250,7 +250,7 @@ function Backflow_pt() # Will be backflow ...@@ -250,7 +250,7 @@ function Backflow_pt() # Will be backflow
end end end end end end
end end
Dw!(dws.sp,U,dws.st,dpar,dws,lp) Dw!(dws.sp,U,dws.st,dpar,dws,lp)
ap_density .= Array(dot(dws.sp[b,r],psi[b,r])) ap_density .= Array(dot.(dws.sp,psi))
@timeit "Volume sum" for t in 1:lp.iL[4] @timeit "Volume sum" for t in 1:lp.iL[4]
for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3] for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3]
b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp) b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp)
...@@ -259,7 +259,7 @@ function Backflow_pt() # Will be backflow ...@@ -259,7 +259,7 @@ function Backflow_pt() # Will be backflow
end end
Quark_cond2_cfl[:,noi,fl] .= zero(ComplexF64) Quark_cond2_cfl[:,noi,fl] .= zero(ComplexF64)
ap_density .= Array(dot(dws.st[b,r],psi[b,r])) ap_density .= Array(dot.(dws.st,psi))
@timeit "Volume sum" for t in 1:lp.iL[4] @timeit "Volume sum" for t in 1:lp.iL[4]
for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3] for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3]
b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp) b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp)
...@@ -336,7 +336,7 @@ function Two_pt_lagrange() # Will be 2pt lagrange mult ...@@ -336,7 +336,7 @@ function Two_pt_lagrange() # Will be 2pt lagrange mult
for fl in 1:params["Frontflow"]["nsteps"] for fl in 1:params["Frontflow"]["nsteps"]
pphat_t[:,noi,fl] .= zero(Float64) pphat_t[:,noi,fl] .= zero(Float64)
pp_density .= Array(sum(norm2.(psi))) pp_density .= Array(norm2.(psi))
@timeit "Volume sum" for t in 1:lp.iL[4] @timeit "Volume sum" for t in 1:lp.iL[4]
for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3] for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3]
b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp) b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp)
...@@ -359,7 +359,7 @@ function Two_pt_lagrange() # Will be 2pt lagrange mult ...@@ -359,7 +359,7 @@ function Two_pt_lagrange() # Will be 2pt lagrange mult
end end
pphat_t[:,noi,end] .= zero(Float64) pphat_t[:,noi,end] .= zero(Float64)
pp_density .= Array(sum(norm2.(psi))) pp_density .= Array(norm2.(psi))
@timeit "Volume sum" for t in 1:lp.iL[4] @timeit "Volume sum" for t in 1:lp.iL[4]
for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3] for i in 1:lp.iL[1] for j in 1:lp.iL[2] for k in 1:lp.iL[3]
b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp) b,r = point_index(CartesianIndex{lp.ndim}((i,j,k,t)),lp)
......
...@@ -14,7 +14,7 @@ function read_ff(name::String) ...@@ -14,7 +14,7 @@ function read_ff(name::String)
ihdr = Vector{Int32}(undef,1) ihdr = Vector{Int32}(undef,1)
BDIO_read(file, ihdr) BDIO_read(file, ihdr)
if ihdr[1] == 1730280201 if ihdr[1] == 1730280201
println("Reading file ",name) print("Reading file ",name)
else else
error("Wrong IHDR in file ", name) error("Wrong IHDR in file ", name)
end end
...@@ -31,10 +31,10 @@ function read_ff(name::String) ...@@ -31,10 +31,10 @@ function read_ff(name::String)
nsteps=Vector{Int32}(undef,1) nsteps=Vector{Int32}(undef,1)
N_noisebf=Vector{Int32}(undef,1) N_noisebf=Vector{Int32}(undef,1)
nflow=Vector{Int32}(undef,1) nflow=Vector{Int32}(undef,1)
tzeroff=Vector{Int32}(undef,1) tzeroff=Vector{Float64}(undef,1)
espilon=Vector{Int32}(undef,1) epsilon=Vector{Float64}(undef,1)
tsource_ff=Vector{Int32}(undef,1) tsourceff=Vector{Int32}(undef,1)
tsource_bf=Vector{Int32}(undef,1) tsourcebf=Vector{Int32}(undef,1)
BDIO_read(file, dims) BDIO_read(file, dims)
...@@ -52,7 +52,7 @@ function read_ff(name::String) ...@@ -52,7 +52,7 @@ function read_ff(name::String)
flow_times=Vector{Float64}(undef,nflow[1]) flow_times=Vector{Float64}(undef,nflow[1])
nflow[1] > 0 ? BDIO_read(file, flow_times) : nothing nflow[1] > 0 ? BDIO_read(file, flow_times) : nothing
println("Reading data from a ",iL, " lattice.") print("Reading data from a ",Int64.(iL), " lattice.\n")
println("Frontflow: ",N_noiseff[1], " sources at euclidean time ", tsourceff[1] ,". Flowtime starting at ",tzeroff[1], " with ",nsteps[1]," steps of size ", epsilon[1]) println("Frontflow: ",N_noiseff[1], " sources at euclidean time ", tsourceff[1] ,". Flowtime starting at ",tzeroff[1], " with ",nsteps[1]," steps of size ", epsilon[1])
println("Backflow: ",N_noisebf[1]," sources at euclidean time ",tsourcebf[1],". Flow times are ", flow_times) println("Backflow: ",N_noisebf[1]," sources at euclidean time ",tsourcebf[1],". Flow times are ", flow_times)
...@@ -65,29 +65,29 @@ function read_ff(name::String) ...@@ -65,29 +65,29 @@ function read_ff(name::String)
TvecC = Vector{ComplexF64}(undef,iL[4]); TvecC = Vector{ComplexF64}(undef,iL[4]);
CN = Vector{ComplexF64}(undef,1); CN = Vector{ComplexF64}(undef,1);
RN = Vector{Float64}(undef,1); RN = Vector{Float64}(undef,1);
ET = Vector{ComplexF64}(undef,1+nflow); ET = Vector{ComplexF64}(undef,2+nsteps);
pp_corr = Array{Float64}(undef,1,iL[4],N_noiseff); pp_corr = Array{Float64}(undef,1,iL[4],N_noiseff);
ap_corr = Array{ComplexF64}(undef,1,iL[4],N_noiseff); ap_corr = Array{ComplexF64}(undef,1,iL[4],N_noiseff);
pp_corr_t = Array{Float64}(undef,1,iL[4],N_noiseff,nsteps+1); pp_corr_t = Array{Float64}(undef,1,iL[4],N_noiseff,nsteps+1);
ap_corr_t = Array{ComplexF64}(undef,1,iL[4],N_noiseff,nsteps+1); ap_corr_t = Array{ComplexF64}(undef,1,iL[4],N_noiseff,nsteps+1);
pphat_t = Array{Float64}(undef,1,N_noiseff,nsteps+1); pphat_t = Array{Float64}(undef,1,iL[4],N_noiseff,nsteps+1);
pptilde_t = Array{ComplexF64}(undef,1,N_noise,nsteps+1); pptilde_t = Array{ComplexF64}(undef,1,iL[4],N_noiseff,nsteps+1);
Eoft = Array{Complex{Float64}}(undef,1,2+nsteps,iL[4]); Eoft = Array{Complex{Float64}}(undef,1,2+nsteps,iL[4]);
pp_corr_tfl = Array{Float64}(undef,1,iL[4],N_noisebf,nflow); pp_corr_tfl = Array{Float64}(undef,1,iL[4],N_noisebf,nflow);
ap_corr_tfl = Array{ComplexF64}(undef,1,iL[4],N_noisebf,nflow); ap_corr_tfl = Array{ComplexF64}(undef,1,iL[4],N_noisebf,nflow);
Sigma = Array{ComplexF64}(undef,1,iL[4],N_noise,nflow); Sigma = Array{ComplexF64}(undef,1,iL[4],N_noisebf,nflow);
Sigma_cfl = Array{ComplexF64}(undef,1,iL[4],N_noise,nflow); Sigma_cfl = Array{ComplexF64}(undef,1,iL[4],N_noisebf,nflow);
Sigma2 = Array{ComplexF64}(undef,1,iL[4],N_noise,nflow); Sigma2 = Array{ComplexF64}(undef,1,iL[4],N_noisebf,nflow);
Sigma2_cfl = Array{ComplexF64}(undef,1,iL[4],N_noise,nflow); Sigma2_cfl = Array{ComplexF64}(undef,1,iL[4],N_noisebf,nflow);
ChiDchi = Array{ComplexF64}(undef,1,iL[4],N_noise,nflow); ChiDchi = Array{ComplexF64}(undef,1,iL[4],N_noisebf,nflow);
ChiDchi_cfl = Array{ComplexF64}(undef,1,iL[4],N_noise,nflow); ChiDchi_cfl = Array{ComplexF64}(undef,1,iL[4],N_noisebf,nflow);
pp_corr_mc = Array{Float64}(undef,0,iL[4],N_noiseff); pp_corr_mc = Array{Float64}(undef,0,iL[4],N_noiseff);
ap_corr_mc = Array{ComplexF64}(undef,0,iL[4],N_noiseff); ap_corr_mc = Array{ComplexF64}(undef,0,iL[4],N_noiseff);
pphat_t_mc = Array{Float64}(undef,0,N_noiseff,nsteps+1); pphat_t_mc = Array{Float64}(undef,0,iL[4],N_noiseff,nsteps+1);
pptilde_t_mc = Array{ComplexF64}(undef,0,N_noiseff,nsteps+1); pptilde_t_mc = Array{ComplexF64}(undef,0,iL[4],N_noiseff,nsteps+1);
Eoft_mc = Array{Complex{Float64}}(undef,0,2+nsteps,iL[4]); Eoft_mc = Array{Complex{Float64}}(undef,0,2+nsteps,iL[4]);
pp_corr_t_mc = Array{Float64}(undef,0,iL[4],N_noiseff,nsteps+1); pp_corr_t_mc = Array{Float64}(undef,0,iL[4],N_noiseff,nsteps+1);
ap_corr_t_mc = Array{ComplexF64}(undef,0,iL[4],N_noiseff,nsteps+1); ap_corr_t_mc = Array{ComplexF64}(undef,0,iL[4],N_noiseff,nsteps+1);
...@@ -199,7 +199,7 @@ function uwff(file::String) ...@@ -199,7 +199,7 @@ function uwff(file::String)
T = size(pp_corr_mc)[2] T = size(pp_corr_mc)[2]
Nsff = size(pp_corr_mc)[3] Nsff = size(pp_corr_mc)[3]
nsteps = size(pp_corr_t_mc)[4] nsteps = size(pp_corr_t_mc)[4]-1
Nsbf = size(pp_corr_tfl_mc)[3] Nsbf = size(pp_corr_tfl_mc)[3]
Nfl = size(pp_corr_tfl_mc)[4] Nfl = size(pp_corr_tfl_mc)[4]
...@@ -212,7 +212,7 @@ function uwff(file::String) ...@@ -212,7 +212,7 @@ function uwff(file::String)
global ap_corr_t = [uwreal(real.(sum(ap_corr_t_mc,dims = 3)[:,i,1,k]./Nsff),runame) for i in 1:T,k in 1:nsteps+1] global ap_corr_t = [uwreal(real.(sum(ap_corr_t_mc,dims = 3)[:,i,1,k]./Nsff),runame) for i in 1:T,k in 1:nsteps+1]
global pphat_t = [uwreal(sum(pphat_t_mc,dims = 3)[:,i,1,k]./Nsff,runame) for i in 1:T, k in 1:nsteps+1] global pphat_t = [uwreal(sum(pphat_t_mc,dims = 3)[:,i,1,k]./Nsff,runame) for i in 1:T, k in 1:nsteps+1]
global pptilde_corr_t = [uwreal(real.(sum(pptilde_t_mc,dims = 3)[:,i,1,k]./Nsff),runame) for i in 1:T,k in 1:nsteps+1] global pptilde_t = [uwreal(real.(sum(pptilde_t_mc,dims = 3)[:,i,1,k]./Nsff),runame) for i in 1:T,k in 1:nsteps+1]
global pp_corr_tfl = [uwreal(sum(pp_corr_tfl_mc,dims = 3)[:,i,1,k]./Nsbf,runame) for i in 1:T, k in 1:Nfl] global pp_corr_tfl = [uwreal(sum(pp_corr_tfl_mc,dims = 3)[:,i,1,k]./Nsbf,runame) for i in 1:T, k in 1:Nfl]
global ap_corr_tfl = [uwreal(real.(sum(ap_corr_tfl_mc,dims = 3)[:,i,1,k]./Nsbf),runame) for i in 1:T,k in 1:Nfl] global ap_corr_tfl = [uwreal(real.(sum(ap_corr_tfl_mc,dims = 3)[:,i,1,k]./Nsbf),runame) for i in 1:T,k in 1:Nfl]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment