diff --git a/source/source_io/write_eig_occ.cpp b/source/source_io/write_eig_occ.cpp index e403448a4c..4b13d885b9 100644 --- a/source/source_io/write_eig_occ.cpp +++ b/source/source_io/write_eig_occ.cpp @@ -20,13 +20,6 @@ void ModuleIO::write_eig_iter(const ModuleBase::matrix &ekb,const ModuleBase::ma const int nspin = PARAM.inp.nspin; const int nks = kv.get_nks(); const int nkstot = kv.get_nkstot(); - - std::vector ngk_tot = kv.ngk; - -#ifdef __MPI - MPI_Allreduce(MPI_IN_PLACE, ngk_tot.data(), nks, MPI_INT, MPI_SUM, POOL_WORLD); -#endif - const int nk_fac = nspin == 2 ? 2 : 1; const int nks_np = nks / nk_fac; const int nkstot_np = nkstot / nk_fac; @@ -205,11 +198,10 @@ void ModuleIO::write_eig_file(const ModuleBase::matrix &ekb, { ModuleBase::WARNING_QUIT("ModuleIO::write_eig_file", "Eigenvalues are too large!"); } - std::vector ngk_tot = kv.ngk; - #ifdef __MPI - MPI_Allreduce(MPI_IN_PLACE, ngk_tot.data(), nks, MPI_INT, MPI_SUM, POOL_WORLD); + std::vector send_ngk_tot = kv.ngk; + MPI_Allreduce(send_ngk_tot.data(), ngk_tot.data(), nks, MPI_INT, MPI_SUM, POOL_WORLD); #endif // file name to store eigenvalues