-
Notifications
You must be signed in to change notification settings - Fork 139
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Correct app_error usage #4686
Correct app_error usage #4686
Conversation
Test this please |
@@ -327,9 +315,7 @@ void MPC::initBreakup() | |||
|
|||
std::unique_ptr<OperatorBase> MPC::makeClone(ParticleSet& qp, TrialWaveFunction& psi) | |||
{ | |||
// return new MPC(qp, Ecut); | |||
std::unique_ptr<MPC> newMPC = std::make_unique<MPC>(*this); | |||
newMPC->resetTargetParticleSet(qp); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why no longer needed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The current implementation is no-op at line 33
resetTargetParticleSet(qp) {}
and resetTargetParticleSet should go away eventually.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not use UniformCommunicateError?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As far as using myComm instead of thinking about the scope of error handling I'm not a big fan. I think the right place to catch these sort of errors is at the scope matching a particular communicator. i.e.
qmcapp.cpp 209-:
if (inputs.size() > 1)
validInput = qmc->parse(inputs[qmcComm->getGroupID()]);
else
validInput = qmc->parse(inputs[0]);
if (!validInput)
qmcComm->barrier_and_abort("main(). Input invalid.");
...
qmc.reset()
with
try
{
if (inputs.size() > 1)
qmc->parse(inputs[qmcComm->getGroupID()]);
else
qmc->parse(inputs[0]);
...
qmc.reset()
}
catch(const UniformCommunicateError& uce)
{
qmcComm->barrier_and_abort("main(). Input invalid.");
}
Proposed changes
Address #4681 in a few places.
a) bug fix in Concurrency/ParallelExecutorOPENMP.hpp
b) clean up the MPC class
c) Remove dead ECPComponentBuilder::createVrWithData
What type(s) of changes does this code introduce?
Does this introduce a breaking change?
What systems has this change been tested on?
epyc-server
Checklist