aclskScopeEnd

Applicable Products

  • Ascend 950PR/Ascend 950DT: not supported
  • Atlas A3 training products/Atlas A3 inference products: supported
  • Atlas A2 training products/Atlas A2 inference products: not supported
  • Atlas 200I/500 A2 inference products: not supported
  • Atlas inference products: not supported
  • Atlas training products: not supported

Header File

#include <super_kernel/super_kernel.h>

Function Usage

Marks the end of a Super Kernel scope. After this API is called, a scope_begin kernel and a placeholder kernel are delivered to the specified Stream. These kernels serve as boundary markers to identify the end of a group of operators that are to be fused and executed together.

Prototype

1
aclError aclskScopeEnd(const char* scopeName, aclrtStream stream)

Parameters

Parameter

Input/Output

Description

scopeName

Input

Name of the Super Kernel scope, which uniquely identifies a fusion scope.

If nullptr is passed, fusion is not performed.

stream

Input

ACL runtime stream specified. The scope marker kernels will be executed on this stream.

Returns

0 on success; else, failure. For details, see aclError.

ACL_ERROR_INVALID_PARAM indicates that the parameter is invalid (scopeName is an empty string array or contains more than 255 characters).

Restrictions

  • This parameter is used in pairs with aclskScopeBegin. The scopeName passed to this API must be identical to the one passed to aclskScopeBegin.
  • The scope name cannot exceed 256 bytes. (Note: The input parameter type of scopeName is char, and the actual valid name length of scopeName cannot exceed 255 bytes.)
  • A maximum of 256 scope names (different) are supported globally.