Skip to content

Commit

Permalink
bug in disjoin and adjoin with 1 MPI
Browse files Browse the repository at this point in the history
  • Loading branch information
gitpeterwind committed Aug 24, 2023
1 parent f607fe1 commit 615c947
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions src/qmfunctions/orbital_utils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -332,7 +332,7 @@ OrbitalVector orbital::param_copy(const OrbitalVector &Phi) {
OrbitalVector orbital::adjoin(OrbitalVector &Phi_a, OrbitalVector &Phi_b) {
OrbitalVector out;
for (auto &phi : Phi_a) {
if (phi.getRank() != out.size()) {
if (phi.getRank() % mrcpp::mpi::wrk_size != out.size() % mrcpp::mpi::wrk_size) {
// need to send orbital from owner to new owner
if (mrcpp::mpi::my_orb(phi)) { mrcpp::mpi::send_function(phi, out.size() % mrcpp::mpi::wrk_size, phi.getRank(), mrcpp::mpi::comm_wrk); }
if (mrcpp::mpi::my_orb(out.size())) { mrcpp::mpi::recv_function(phi, phi.getRank() % mrcpp::mpi::wrk_size, phi.getRank(), mrcpp::mpi::comm_wrk); }
Expand All @@ -341,7 +341,7 @@ OrbitalVector orbital::adjoin(OrbitalVector &Phi_a, OrbitalVector &Phi_b) {
out.push_back(phi);
}
for (auto &phi : Phi_b) {
if (phi.getRank() != out.size()) {
if (phi.getRank() % mrcpp::mpi::wrk_size != out.size() % mrcpp::mpi::wrk_size) {
// need to send orbital from owner to new owner
if (mrcpp::mpi::my_orb(phi)) { mrcpp::mpi::send_function(phi, out.size() % mrcpp::mpi::wrk_size, phi.getRank(), mrcpp::mpi::comm_wrk); }
if (mrcpp::mpi::my_orb(out.size())) { mrcpp::mpi::recv_function(phi, phi.getRank() % mrcpp::mpi::wrk_size, phi.getRank(), mrcpp::mpi::comm_wrk); }
Expand All @@ -366,15 +366,15 @@ OrbitalVector orbital::disjoin(OrbitalVector &Phi, int spin) {
OrbitalVector tmp;
for (auto &i : Phi) {
if (i.spin() == spin) {
if (i.getRank() != out.size()) {
if (i.getRank() % mrcpp::mpi::wrk_size != out.size() % mrcpp::mpi::wrk_size) {
// need to send orbital from owner to new owner
if (mrcpp::mpi::my_orb(i)) { mrcpp::mpi::send_function(i, out.size() % mrcpp::mpi::wrk_size, i.getRank(), mrcpp::mpi::comm_wrk); }
if (mrcpp::mpi::my_orb(out.size())) { mrcpp::mpi::recv_function(i, i.getRank() % mrcpp::mpi::wrk_size, i.getRank(), mrcpp::mpi::comm_wrk); }
}
i.setRank(out.size());
out.push_back(i);
} else {
if (i.getRank() != tmp.size()) {
if (i.getRank() % mrcpp::mpi::wrk_size != tmp.size() % mrcpp::mpi::wrk_size) {
// need to send orbital from owner to new owner
if (mrcpp::mpi::my_orb(i)) { mrcpp::mpi::send_function(i, tmp.size() % mrcpp::mpi::wrk_size, i.getRank(), mrcpp::mpi::comm_wrk); }
if (mrcpp::mpi::my_orb(tmp.size())) { mrcpp::mpi::recv_function(i, i.getRank() % mrcpp::mpi::wrk_size, i.getRank(), mrcpp::mpi::comm_wrk); }
Expand Down

0 comments on commit 615c947

Please sign in to comment.