!10584 Check parallel mode in PyNative mode

From: @jojobugfree
Reviewed-by: @chujinjin
Signed-off-by: @chujinjin
pull/10584/MERGE
mindspore-ci-bot 5 years ago committed by Gitee
commit 30069ebb56

@ -54,6 +54,7 @@
#include "pipeline/jit/resource.h"
#include "pipeline/jit/pipeline.h"
#include "pipeline/jit/pass.h"
#include "frontend/parallel/context.h"
#ifdef ENABLE_GE
#include "pipeline/pynative/pynative_execute_ge.h"
@ -523,7 +524,17 @@ PynativeExecutor::~PynativeExecutor() {
ClearRes();
}
void CheckPyNativeContext() {
auto context = parallel::ParallelContext::GetInstance();
MS_EXCEPTION_IF_NULL(context);
auto parallel_mode = context->parallel_mode();
if (parallel_mode != parallel::STAND_ALONE && parallel_mode != parallel::DATA_PARALLEL) {
MS_LOG(EXCEPTION) << "PyNative Only support STAND_ALONE and DATA_PARALLEL, but got:" << parallel_mode;
}
}
py::object RunOp(const py::args &args) {
CheckPyNativeContext();
auto executor = PynativeExecutor::GetInstance();
MS_EXCEPTION_IF_NULL(executor);
OpExecInfoPtr op_exec_info = executor->GenerateOpExecInfo(args);

Loading…
Cancel
Save