check kernel type and do syncStream for hccl dynamic kernels

pull/8665/head
yanghaoran 4 years ago
parent 6ff9bb0bb5
commit 36a09b1565

@ -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";

@ -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>()) {

@ -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