From e18fc8248caf0fa0b0ecd5280a02ba1e15b0451b Mon Sep 17 00:00:00 2001 From: Thien Nguyen <nguyentm@ornl.gov> Date: Tue, 12 Oct 2021 09:15:54 -0400 Subject: [PATCH] Need to re-create a placeholder tensor in the self process group after dereplicate Signed-off-by: Thien Nguyen <nguyentm@ornl.gov> --- tnqvm/visitors/exatn-mps/ExaTnMpsVisitor.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tnqvm/visitors/exatn-mps/ExaTnMpsVisitor.cpp b/tnqvm/visitors/exatn-mps/ExaTnMpsVisitor.cpp index 50f5a36..8166a03 100644 --- a/tnqvm/visitors/exatn-mps/ExaTnMpsVisitor.cpp +++ b/tnqvm/visitors/exatn-mps/ExaTnMpsVisitor.cpp @@ -2110,9 +2110,14 @@ void ExatnMpsVisitor::applyTwoQubitGate(xacc::Instruction& in_gateInstruction) const bool checkRank = m_rightSharedProcessGroup->rankIsIn(m_rank + 1, &neighborRank); assert(checkRank); + const auto tensorShape = exatn::getTensor(qubitTensorName)->getShape(); const bool dereplicateTensorOk = exatn::dereplicateTensorSync( *m_rightSharedProcessGroup, qubitTensorName, neighborRank); assert(dereplicateTensorOk); + auto recreated = exatn::createTensorSync( + *m_selfProcessGroup, qubitTensorName, + exatn::TensorElementType::COMPLEX64, tensorShape); + assert(recreated); } } else if (indexInRange(qMax, m_qubitRange)) -- GitLab