From d4cf0ad3abf04970c20f5f4927fa9f8fb6034520 Mon Sep 17 00:00:00 2001 From: Paul Kent Date: Tue, 14 Feb 2023 12:07:21 -0500 Subject: [PATCH] Update python --- .../afqmctools/hamiltonian/kpoint.py | 36 +++++++++--------- .../afqmctools/hamiltonian/supercell.py | 38 +++++++++---------- 2 files changed, 37 insertions(+), 37 deletions(-) diff --git a/utils/afqmctools/afqmctools/hamiltonian/kpoint.py b/utils/afqmctools/afqmctools/hamiltonian/kpoint.py index 59783f25d2..34e7884866 100644 --- a/utils/afqmctools/afqmctools/hamiltonian/kpoint.py +++ b/utils/afqmctools/afqmctools/hamiltonian/kpoint.py @@ -50,7 +50,7 @@ def write_hamil_kpoints(comm, scf_data, hamil_file, chol_cut, verbose=True, cas=None, max_vecs=20, ortho_ao=False, exxdiv='ewald', nelec=None, phdf=False): - tstart = time.clock() + tstart = time.process_time()() # Unpack pyscf data. # 1. core (1-body) Hamiltonian. @@ -78,16 +78,16 @@ def write_hamil_kpoints(comm, scf_data, hamil_file, chol_cut, qk_to_k2, kminus, verbose=verbose, nelec=nelec) if comm.rank == 0 and verbose: - print(" # Time to reach Cholesky: {:13.8e} s.".format(time.clock()-tstart)) + print(" # Time to reach Cholesky: {:13.8e} s.".format(time.process_time()()-tstart)) sys.stdout.flush() - tstart = time.clock() + tstart = time.process_time()() solver = KPCholesky(comm, cell, kpts, max_vecs, nmo_pk, qk_to_k2, kminus, gtol_chol=chol_cut, verbose=verbose) solver.run(comm, X, h5file) if comm.rank == 0 and verbose: - print(" # Time to perform Cholesky: {:13.8e} s.".format(time.clock()-tstart)) + print(" # Time to perform Cholesky: {:13.8e} s.".format(time.process_time()()-tstart)) sys.stdout.flush() comm.barrier() @@ -121,7 +121,7 @@ def write_hamil_kpoints(comm, scf_data, hamil_file, chol_cut, def write_rhoG_kpoints(comm, scf_data, hdf_file, Gcut, verbose=True, ortho_ao=False, phdf=False): - tstart = time.clock() + tstart = time.process_time()() # Unpack pyscf data. # 1. core (1-body) Hamiltonian. @@ -302,7 +302,7 @@ def __init__(self, comm, cell, kpts, maxvecs, nmo_pk, QKToK2, kminus, "Cholesky solver.") sys.exit() self.df = df.FFTDF(cell,kpts) - tstart = time.clock() + tstart = time.process_time()() self.nmo_pk = nmo_pk self.gtol_chol = gtol_chol @@ -414,7 +414,7 @@ def run(self, comm, X, h5file): "time_k3k4", "time_comp_cholv", "time_buff"] for Q in range(nkpts): - t0 = time.clock() + t0 = time.process_time()() if Q > self.kminus[Q]: continue if comm.rank == 0 and self.verbose: @@ -422,7 +422,7 @@ def run(self, comm, X, h5file): print(" # Generating orbital products") sys.stdout.flush() - t1 = time.clock() + t1 = time.process_time()() maxresidual[:] = 0 done[:,:,:] = 0 @@ -442,7 +442,7 @@ def run(self, comm, X, h5file): k3, k4, i3, i4, vmax = self.find_k3k4(comm.size) done[k3,i3,i4] = 1 - tstart = time.clock() + tstart = time.process_time()() if comm.rank == 0: sys.stdout.flush() @@ -452,7 +452,7 @@ def run(self, comm, X, h5file): numv = 0 while more: - t0 = time.clock() + t0 = time.process_time()() # stop condition if comm.rank == 0 and self.verbose: if numv == 0: @@ -496,7 +496,7 @@ def run(self, comm, X, h5file): # add new Cholesky vector # 1. evaluate new column (ik|imax,kmax) - t1 = time.clock() + t1 = time.process_time()() tadd = 0.0 for k in range(part.nkk): k1 = k + part.kk0 @@ -504,7 +504,7 @@ def run(self, comm, X, h5file): if part.ij0 > nmo_pk[k1]*nmo_pk[k2]: continue if numpy.sum(abs(kpts[k2]-kpts[k1]+kpts[k3]-kpts[k4])) > 1e-9: - t_ = time.clock() + t_ = time.process_time()() q1 = kpts[k2]-kpts[k1]+kpts[k3]-kpts[k4] ip = -1 for ii in range(27): @@ -516,13 +516,13 @@ def run(self, comm, X, h5file): sys.exit() for ix in range(ngs): Xkl[ix] = Xkl0[self.gmap[ip,ix]] - tadd += time.clock() - t_ + tadd += time.process_time()() - t_ else: Xkl[0:ngs] = Xkl0[0:ngs] n_ = min(nmo_pk[k1]*nmo_pk[k2], part.ijN) - part.ij0 cholvecs[k,0:n_,numv] = numpy.dot(Xaoik[k,:,0:n_].T, Xkl.conj()) - t2 = time.clock() + t2 = time.process_time()() # 2. substract projection along previous components cholvecs[:,:,numv] -= numpy.dot(cholvecs[:,:,0:numv], @@ -552,7 +552,7 @@ def run(self, comm, X, h5file): i1max = (ij+part.ij0) // nmo_pk[k2] i2max = (ij+part.ij0) % nmo_pk[k2] - t3 = time.clock() + t3 = time.process_time()() # assemble full CV on head node buff = numpy.array([k1max,k2max,i1max,i2max,maxv], @@ -560,7 +560,7 @@ def run(self, comm, X, h5file): comm.Allgather(buff, self.maxres_buff) k3, k4, i3, i4, vmax = self.find_k3k4(comm.size) - t4 = time.clock() + t4 = time.process_time()() # only root keeps track of residual and I/O if comm.rank == 0: @@ -570,7 +570,7 @@ def run(self, comm, X, h5file): output = [vmax, t4-t0, t3-t2, t2-t1, t1-t0] if self.verbose: print("{:17d} ".format(numv)+format_fixed_width_floats(output)) - tstart = time.clock() + tstart = time.process_time()() if numv%100 == 0: sys.stdout.flush() @@ -586,7 +586,7 @@ def run(self, comm, X, h5file): sys.exit() done[k3,i3,i4] = 1 - t6 = time.clock() + t6 = time.process_time()() comm.barrier() num_cholvecs[Q] = numv diff --git a/utils/afqmctools/afqmctools/hamiltonian/supercell.py b/utils/afqmctools/afqmctools/hamiltonian/supercell.py index e0f0d69f35..2ac7f39440 100644 --- a/utils/afqmctools/afqmctools/hamiltonian/supercell.py +++ b/utils/afqmctools/afqmctools/hamiltonian/supercell.py @@ -26,7 +26,7 @@ def write_hamil_supercell(comm, scf_data, hamil_file, chol_cut, nproc = comm.size rank = comm.rank - tstart = time.clock() + tstart = time.process_time()() # Unpack pyscf data. # 1. core (1-body) Hamiltonian. @@ -63,9 +63,9 @@ def write_hamil_supercell(comm, scf_data, hamil_file, chol_cut, numv = 0 if rank == 0 and verbose: - print(" # Time to reach cholesky: {:.2e} s".format(time.clock()-tstart)) + print(" # Time to reach cholesky: {:.2e} s".format(time.process_time()()-tstart)) sys.stdout.flush() - tstart = time.clock() + tstart = time.process_time()() # Setup parallel partition of work. part = Partition(comm, maxvecs, nmo_tot, nmo_max, nkpts) @@ -86,10 +86,10 @@ def write_hamil_supercell(comm, scf_data, hamil_file, chol_cut, sys.stdout.flush() # Left and right pair densities. Only left contains Coulomb kernel. - t0 = time.clock() + t0 = time.process_time()() Xaoik, Xaolj = gen_orbital_products(cell, mydf, X, nmo_pk, ngs, part, kpts, nmo_max) - t1 = time.clock() + t1 = time.process_time()() if part.rank == 0 and verbose: print(" # Time to generate orbital products: {:.2e} s".format(t1-t0)) sys.stdout.flush() @@ -118,7 +118,7 @@ def write_rhoG_supercell(comm, scf_data, hdf_file, Gcut, nproc = comm.size rank = comm.rank - tstart = time.clock() + tstart = time.process_time()() # Unpack pyscf data. # 1. Rotation matrix to orthogonalised basis. @@ -475,7 +475,7 @@ def gen_orbital_products(cell, mydf, X, nmo_pk, ngs, part, kpts, nmo_max): Xaolj[k,:,:] = Xaoik[k,:,:] coulG = tools.get_coulG(cell, kpts[k2]-kpts[k1], mesh=mydf.mesh) Xaoik[k,:,:] *= (coulG*cell.vol/ngs**2).reshape(-1,1) - t1 = time.clock() + t1 = time.process_time()() return Xaoik, Xaolj @@ -536,11 +536,11 @@ def run(self, comm, Xaoik, Xaolj, part, kpts, nmo_pk, nmo_max, Qi, gmap): # Setup residual matrix. ngs = Xaoik.shape[1] nkpts = len(kpts) - t0 = time.clock() + t0 = time.process_time()() residual, k1max, k2max, i1max, i2max, maxv = ( self.generate_diagonal(Xaoik, Xaolj, part, nmo_pk) ) - t1 = time.clock() + t1 = time.process_time()() if part.rank == 0 and self.verbose: print(" # Time to generate diagonal (initial residual):" " {:.2e}".format(t1-t0)) @@ -562,7 +562,7 @@ def run(self, comm, Xaoik, Xaolj, part, kpts, nmo_pk, nmo_max, Qi, gmap): "Cholesky solver.") done[k3,k4,i3,i4] = 1 - tstart = time.clock() + tstart = time.process_time()() if comm.rank == 0: sys.stdout.flush() @@ -574,7 +574,7 @@ def run(self, comm, Xaoik, Xaolj, part, kpts, nmo_pk, nmo_max, Qi, gmap): if self.verbose: print(format_fixed_width_strings(header)) while more: - t0 = time.clock() + t0 = time.process_time()() # stop condition if numv >= part.maxvecs: print(" Too many vectors needed to converge. Increase maximum " @@ -612,7 +612,7 @@ def run(self, comm, Xaoik, Xaolj, part, kpts, nmo_pk, nmo_max, Qi, gmap): # add new Cholesky vector # 1. evaluate new column (ik|imax,kmax) - t1 = time.clock() + t1 = time.process_time()() tadd = 0.0 for k in range(part.nkk): @@ -621,7 +621,7 @@ def run(self, comm, Xaoik, Xaolj, part, kpts, nmo_pk, nmo_max, Qi, gmap): if k3 == self.kconserv[k1,k2,k4]: q1 = kpts[k2] - kpts[k1] + kpts[k3] - kpts[k4] if numpy.sum(abs(q1)) > 1e-9: - t_ = time.clock() + t_ = time.process_time()() ip = -1 for ii in range(27): if numpy.sum(numpy.linalg.norm(q1-Qi[ii,:])) < 1e-12: @@ -632,14 +632,14 @@ def run(self, comm, Xaoik, Xaolj, part, kpts, nmo_pk, nmo_max, Qi, gmap): sys.exit() for ix in range(ngs): Xkl[ix] = Xkl0[gmap[ip,ix]] - tadd += time.clock() - t_ + tadd += time.process_time()() - t_ else: Xkl[0:ngs] = Xkl0[0:ngs] n_ = min(nmo_pk[k1]*nmo_pk[k2], part.ijN) - part.ij0 cholvecs[k,0:n_,numv] = numpy.dot(Xaoik[k,:,0:n_].T, Xkl.conj()) - t2 = time.clock() + t2 = time.process_time()() # 2. subtract projection along previous components cholvecs[:,:,numv] -= numpy.dot(cholvecs[:,:,0:numv], @@ -663,14 +663,14 @@ def run(self, comm, Xaoik, Xaolj, part, kpts, nmo_pk, nmo_max, Qi, gmap): i1max = (ij+part.ij0) // nmo_pk[k2] i2max = (ij+part.ij0) % nmo_pk[k2] - t3 = time.clock() + t3 = time.process_time()() # assemble full CV on head node comm.Allgather(numpy.array([k1max,k2max,i1max,i2max,maxv], dtype=numpy.float64), self.maxres_buff) k3, k4, i3, i4, vmax = self.find_k3k4(comm.size) - t4 = time.clock() + t4 = time.process_time()() # only root keeps track of residual and I/O if part.rank == 0: @@ -682,7 +682,7 @@ def run(self, comm, Xaoik, Xaolj, part, kpts, nmo_pk, nmo_max, Qi, gmap): if self.verbose: print("{:17d} ".format(numv)+format_fixed_width_floats(output)) # print("{:8d} {:13.8e}".format(numv, vmax)) - tstart = time.clock() + tstart = time.process_time()() if numv%100 == 0: sys.stdout.flush() @@ -697,7 +697,7 @@ def run(self, comm, Xaoik, Xaolj, part, kpts, nmo_pk, nmo_max, Qi, gmap): sys.exit() done[k3,k4,i3,i4]=1 - t6 = time.clock() + t6 = time.process_time()() return cholvecs[:,:,:numv] def write_h1(h5grp, intgs, npk, ik2n, gtol=1e-6):