@@ -199,8 +199,8 @@ void DiagoIterAssist<T, Device>::diagH_subspace_init(hamilt::Hamilt<T, Device>*
199199
200200 if (base_device::get_device_type (ctx) == base_device::GpuDevice)
201201 {
202- // psi::Psi<T, Device> psi_temp(1, 1, psi_nc, &evc.get_ngk(0), dmin, true);
203- psi::Psi<T, Device> psi_temp (1 , 1 , psi_nc, &evc.get_ngk (0 ));
202+ psi::Psi<T, Device> psi_temp (1 , 1 , psi_nc, &evc.get_ngk (0 ), dmin, true );
203+ // psi::Psi<T, Device> psi_temp(1, 1, psi_nc, &evc.get_ngk(0));
204204 T* ppsi = psi_temp.get_pointer ();
205205 // hpsi and spsi share the temp space
206206 T* temp = nullptr ;
@@ -247,8 +247,9 @@ void DiagoIterAssist<T, Device>::diagH_subspace_init(hamilt::Hamilt<T, Device>*
247247 }
248248 else if (base_device::get_device_type (ctx) == base_device::CpuDevice)
249249 {
250- // psi::Psi<T, Device> psi_temp(1, nstart, psi_nc, &evc.get_ngk(0), dmin, true);
251- psi::Psi<T, Device> psi_temp (1 , nstart, psi_nc, &evc.get_ngk (0 ));
250+ psi::Psi<T, Device> psi_temp (1 , nstart, psi_nc, &evc.get_ngk (0 ), dmin, true );
251+ // psi::Psi<T, Device> psi_temp(1, nstart, psi_nc, &evc.get_ngk(0));
252+
252253 T* ppsi = psi_temp.get_pointer ();
253254 syncmem_complex_op ()(ctx, ctx, ppsi, psi, psi_temp.size ());
254255 // hpsi and spsi share the temp space
@@ -266,7 +267,7 @@ void DiagoIterAssist<T, Device>::diagH_subspace_init(hamilt::Hamilt<T, Device>*
266267
267268 T* spsi = temp;
268269 // do sPsi for all bands
269- pHamilt->sPsi (ppsi, spsi, psi_temp.get_nbasis (), psi_temp.get_cur_effective_basis (), psi_temp.get_nbands ());
270+ pHamilt->sPsi (ppsi, spsi, psi_temp.get_nbasis (), psi_temp.get_nbasis (), psi_temp.get_nbands ());
270271
271272 gemm_op<T, Device>()(ctx, ' C' , ' N' , nstart, nstart, dmin, &one, ppsi, dmax, spsi, dmax, &zero, scc, nstart);
272273 delmem_complex_op ()(ctx, temp);
0 commit comments