diff --git a/mindspore/ccsrc/plugin/device/ascend/kernel/pyboost/aclnn_utils.h b/mindspore/ccsrc/plugin/device/ascend/kernel/pyboost/aclnn_utils.h index 70bd4cd3b2b2e088860edabfbe67858c391d1e2c..cbb678e59e169fff5134dad3592de825a6466b91 100644 --- a/mindspore/ccsrc/plugin/device/ascend/kernel/pyboost/aclnn_utils.h +++ b/mindspore/ccsrc/plugin/device/ascend/kernel/pyboost/aclnn_utils.h @@ -48,33 +48,28 @@ } \ } while (false) -#define LAUNCH_ACLNN_SYNC(aclnn_api, device_context, stream_id, ...) \ - [](const std::string &aclnn_name, const device::DeviceContext *device_context, size_t real_stream_id, \ - auto &... args) -> auto { \ - runtime::ProfilerRecorder aclnn_profiler(runtime::ProfilerModule::kPynative, \ - runtime::ProfilerEvent::kPyBoostLaunchAclnn, aclnn_name, false); \ - auto stream_ptr = device_context->device_res_manager_->GetStream(real_stream_id); \ - auto use_huge_pages = true; \ - auto return_values = GEN_EXECUTOR_CUST(aclnn_name, use_huge_pages, args...); \ - auto ws_size = std::get<0>(return_values); \ - auto executor_handle = std::get<1>(return_values); \ - if (ws_size == 0) { \ - LaunchKernel(aclnn_name, nullptr, 0, executor_handle, stream_ptr); \ - } else { \ - auto workspace_device_address = \ - runtime::DeviceAddressUtils::CreateWorkspaceAddress(device_context, real_stream_id, ws_size); \ - LaunchKernel(aclnn_name, workspace_device_address->GetMutablePtr(), ws_size, executor_handle, stream_ptr); \ - } \ - static auto sync = MsContext::GetInstance()->get_param(MS_CTX_ENABLE_PYNATIVE_SYNCHRONIZE); \ - if (sync) { \ - if (!device::ascend::AscendStreamMng::GetInstance().SyncAllStreams()) { \ - MS_LOG(EXCEPTION) << "SyncStream failed for op " << aclnn_name; \ - } \ - } else { \ - runtime::DeviceAddressUtils::ProcessCrossStreamAddress(aclnn_name, device_context, real_stream_id, args...); \ - } \ - return return_values; \ - } \ +#define LAUNCH_ACLNN_SYNC(aclnn_api, device_context, stream_id, ...) \ + [](const std::string &aclnn_name, const device::DeviceContext *device_context, size_t real_stream_id, \ + auto &... args) -> auto { \ + runtime::ProfilerRecorder aclnn_profiler(runtime::ProfilerModule::kPynative, \ + runtime::ProfilerEvent::kPyBoostLaunchAclnn, aclnn_name, false); \ + auto stream_ptr = device_context->device_res_manager_->GetStream(real_stream_id); \ + auto use_huge_pages = true; \ + auto return_values = GEN_EXECUTOR_CUST(aclnn_name, use_huge_pages, args...); \ + auto ws_size = std::get<0>(return_values); \ + auto executor_handle = std::get<1>(return_values); \ + if (ws_size == 0) { \ + LaunchKernel(aclnn_name, nullptr, 0, executor_handle, stream_ptr); \ + } else { \ + auto workspace_device_address = \ + runtime::DeviceAddressUtils::CreateWorkspaceAddress(device_context, real_stream_id, ws_size); \ + LaunchKernel(aclnn_name, workspace_device_address->GetMutablePtr(), ws_size, executor_handle, stream_ptr); \ + } \ + if (!device::ascend::AscendStreamMng::GetInstance().SyncAllStreams()) { \ + MS_LOG(EXCEPTION) << "SyncStream failed for op " << aclnn_name; \ + } \ + return return_values; \ + } \ (#aclnn_api, device_context, stream_id, __VA_ARGS__) namespace mindspore { namespace kernel {