Browse Source

check kernel type and do syncStream for hccl dynamic kernels

tags/v1.1.0
yanghaoran 5 years ago
parent
commit
36a09b1565
3 changed files with 4 additions and 1 deletions
  1. +1
    -1
      mindspore/ccsrc/runtime/device/ascend/ascend_kernel_runtime.cc
  2. +2
    -0
      mindspore/ccsrc/runtime/device/executor/dynamic_kernel.cc
  3. +1
    -0
      mindspore/ccsrc/runtime/device/executor/dynamic_kernel.h

+ 1
- 1
mindspore/ccsrc/runtime/device/ascend/ascend_kernel_runtime.cc View File

@@ -606,7 +606,7 @@ bool AscendKernelRuntime::RunDynamicKernelAsync(const session::KernelGraph *grap

auto dynamic_kernels = iter->second;
for (const auto &dynamic_kernel : dynamic_kernels) {
if (dynamic_kernel->have_depends()) {
if (dynamic_kernel->have_depends() || dynamic_kernel->GetKernelType() == KernelType::HCCL_KERNEL) {
MS_LOG(INFO) << "Match Dynamic Kernel, Start SyncStream";
if (!SyncStream()) {
MS_LOG(ERROR) << "SyncStream failed";


+ 2
- 0
mindspore/ccsrc/runtime/device/executor/dynamic_kernel.cc View File

@@ -49,6 +49,8 @@ void DynamicKernel::Initialize() {
MS_LOG(INFO) << "Init End";
}

int DynamicKernel::GetKernelType() { return AnfAlgo::GetKernelType(cnode_ptr_); }

bool IsTupleGetItem(const AnfNodePtr &anf_node) {
MS_EXCEPTION_IF_NULL(anf_node);
if (!anf_node->isa<CNode>()) {


+ 1
- 0
mindspore/ccsrc/runtime/device/executor/dynamic_kernel.h View File

@@ -47,6 +47,7 @@ class DynamicKernel {
bool have_depends() const { return !depend_list_.empty(); }
virtual void Initialize();
std::string GetKernelName() { return cnode_ptr_->fullname_with_scope(); }
int GetKernelType();

protected:
void RebuildDependTensor();


Loading…
Cancel
Save