!8665 check kernel type and do SyncStream for hccl dynamic kernels

From: @nicholas_yhr
Reviewed-by: @kisnwang,@jjfeing
Signed-off-by: @jjfeing
pull/8665/MERGE
mindspore-ci-bot 4 years ago committed by Gitee
commit d7e3b18b6f

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