aclskScopeEnd
Applicable Products
Ascend 950PR /Ascend 950DT : not supportedAtlas A3 training products /Atlas A3 inference products : supportedAtlas A2 training products /Atlas A2 inference products : not supportedAtlas 200I/500 A2 inference products : not supportedAtlas inference products : not supportedAtlas 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.