forked from mindspore-Ecosystem/mindspore
!8665 check kernel type and do SyncStream for hccl dynamic kernels
From: @nicholas_yhr Reviewed-by: @kisnwang,@jjfeing Signed-off-by: @jjfeing
This commit is contained in:
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…
Reference in New Issue