Browse Source

fix reset8p pynative performance

tags/v1.6.0
baihuawei 4 years ago
parent
commit
e59d07899b
4 changed files with 8 additions and 4 deletions
  1. +2
    -0
      mindspore/ccsrc/backend/session/ascend_session.cc
  2. +3
    -3
      mindspore/ccsrc/runtime/device/ascend/ascend_stream_assign.cc
  3. +1
    -1
      mindspore/ccsrc/runtime/device/ascend/ascend_stream_assign.h
  4. +2
    -0
      tests/ut/cpp/stub/tasksink/ascend_stream_assign_stub.cc

+ 2
- 0
mindspore/ccsrc/backend/session/ascend_session.cc View File

@@ -1308,6 +1308,8 @@ void AscendSession::RunOpMemoryAllocNew(const std::vector<tensor::TensorPtr> &in

void AscendSession::RunOpGenKernelEvent(const KernelGraph *graph) const {
MS_EXCEPTION_IF_NULL(graph);
auto kernels = graph->execution_order();
device::ascend::AscendStreamAssign::GetInstance().AssignStreamForNonTaskSink(kernels);
auto runtime_instance = device::KernelRuntimeManager::Instance().GetKernelRuntime(kAscendDevice, device_id_);
MS_EXCEPTION_IF_NULL(runtime_instance);
runtime_instance->GenKernelEvents(*graph);


+ 3
- 3
mindspore/ccsrc/runtime/device/ascend/ascend_stream_assign.cc View File

@@ -214,8 +214,7 @@ void SetNodeStreamIDAttr(const NotNull<KernelGraphPtr> &graph_ptr) {
}
} // namespace

void AscendStreamAssign::AssignStreamForNonTaskSink(const NotNull<KernelGraphPtr> &graph_ptr) {
auto &kernels = graph_ptr->execution_order();
void AscendStreamAssign::AssignStreamForNonTaskSink(const std::vector<CNodePtr> &kernels) {
if (kernels.empty()) {
return;
}
@@ -255,7 +254,8 @@ void AscendStreamAssign::AssignStreamForNonTaskSink(const NotNull<KernelGraphPtr

void AscendStreamAssign::AssignStream(const NotNull<KernelGraphPtr> &graph_ptr) {
if (!IsTaskSink()) {
AssignStreamForNonTaskSink(graph_ptr);
auto kernels = graph_ptr->execution_order();
AssignStreamForNonTaskSink(kernels);
return;
}
if (!graph_ptr->is_dynamic_shape()) {


+ 1
- 1
mindspore/ccsrc/runtime/device/ascend/ascend_stream_assign.h View File

@@ -59,6 +59,7 @@ class AscendStreamAssign {
void AssignStream(const NotNull<KernelGraphPtr> &graph_ptr);
void GetHcomStreams(std::vector<uint32_t> *streams);
void GetWaitStreams(vector<uint32_t> *wait_active_stream_list);
void AssignStreamForNonTaskSink(const std::vector<CNodePtr> &kernels);
const std::vector<std::vector<uint32_t>> &get_stream_group() const { return stream_groups_; }
const std::map<CNodePtr, CNodePtr> &get_event_map() const { return event_map_; }

@@ -68,7 +69,6 @@ class AscendStreamAssign {
void Reset();
CNodePtr CreateSendApplyKernel(const NotNull<KernelGraphPtr> &graph_ptr, uint32_t event_id, uint32_t stream_id);
CNodePtr CreateRecvApplyKernel(const NotNull<KernelGraphPtr> &graph_ptr, uint32_t event_id, uint32_t stream_id);
void AssignStreamForNonTaskSink(const NotNull<KernelGraphPtr> &graph_ptr);
void CheckResourceAssign(const NotNull<KernelGraphPtr> &graph_ptr);
void CheckStreamAssign(const NotNull<KernelGraphPtr> &graph_ptr);
void CheckEventAssign(const NotNull<KernelGraphPtr> &graph_ptr);


+ 2
- 0
tests/ut/cpp/stub/tasksink/ascend_stream_assign_stub.cc View File

@@ -30,6 +30,8 @@ void AscendStreamAssign::AssignStream(const NotNull<KernelGraphPtr> &graph_ptr)
void AscendStreamAssign::GetWaitStreams(vector<uint32_t> *wait_active_stream_list) { return; }

void AscendStreamAssign::GetHcomStreams(std::vector<uint32_t> *streams) { return; }

void AscendStreamAssign::AssignStreamForNonTaskSink(const std::vector<CNodePtr> &kernels) { return; }
} // namespace ascend

void KernelAdjust::InsertDeviceLoopCtrl(const std::shared_ptr<session::KernelGraph> &kernel_graph_ptr) { return; }


Loading…
Cancel
Save