aclrtLaunchKernelAttrId/aclrtLaunchKernelAttrValue

Data Format

Description

ACL_RT_LAUNCH_KERNEL_ATTR_SCHEM_MODE = 1

Scheduling mode.

The options are as follows:

  • 0: common scheduling mode. If there is an idle core, the operator execution is started. For example, if blockDim is set to 8, the operator kernel function will be executed on eight cores. If the common scheduling mode is specified, the operator execution is started as long as one core is idle.
  • 1: batch scheduling mode. The operator execution is started only when all required cores are idle. For example, if blockDim is set to 8, the operator kernel function will be executed on eight cores. If the batch scheduling mode is specified, the operator execution is started only when all the eight cores are idle.

ACL_RT_LAUNCH_KERNEL_ATTR_DYN_UBUF_SIZE = 2

Size of the internal UB buffer of the Vector Core required for executing the Single Instruction Multiple Thread (SIMT) operator, in bytes.

: Only Atlas 350 Accelerator Card supports this parameter. : This parameter is not supported by other product models and does not take effect.

ACL_RT_LAUNCH_KERNEL_ATTR_ENGINE_TYPE = 3

Operator execution engine. For details about the value, see aclrtEngineType.

Only Atlas inference product supports this parameter.

The following product models do not support this parameter and the configuration does not take effect:

  • Atlas 350 Accelerator Card
  • Atlas A3 training product/Atlas A3 inference product
  • Atlas A2 training product/Atlas A2 inference product
  • Atlas 200I/500 A2 inference product
  • Atlas training product

ACL_RT_LAUNCH_KERNEL_ATTR_BLOCKDIM_OFFSET

numBlocks offset.

  • If numBlocks is less than or equal to the number of AI Core cores, the computation does not need to be performed on the Vector Core. In this case, set engineType to ACL_RT_ENGINE_TYPE_AIC (indicating that the computation is performed on the AI Core), and set blockDimOffset to 0.
  • If numBlocks > Number of AI Core cores:
    • Deliver a task in a stream, set engineType to ACL_RT_ENGINE_TYPE_AIC (indicating computation on the AI Core), and set blockDimOffset to 0.
    • Deliver a task on another stream, set engineType to ACL_RT_ENGINE_TYPE_AIV (indicating that the calculation is performed on the Vector Core), and set blockDimOffset to aicorenumBlocks. The formula for calculating aicorenumBlocks is as follows:
      • numBlocks ≤ Number of AI Core cores + Number of Vector Core cores: aicorenumBlocks = Number of AI Core cores
      • Otherwise, aicorenumBlocks = Roundup (numBlocks x (Number of AI Core cores) / (Number of AI Core cores + Number of Vector Core cores))

Only Atlas inference product supports this parameter.

The following product models do not support this parameter and the configuration does not take effect:

  • Atlas 350 Accelerator Card
  • Atlas A3 training product/Atlas A3 inference product
  • Atlas A2 training product/Atlas A2 inference product
  • Atlas 200I/500 A2 inference product
  • Atlas training product

ACL_RT_LAUNCH_KERNEL_ATTR_BLOCK_TASK_PREFETCH

Whether to prevent hardware from prefetching information about a task when the task is delivered.

The options are as follows:

  • 0: Do not block.
  • 1: Block.

ACL_RT_LAUNCH_KERNEL_ATTR_DATA_DUMP

Whether to enable dump.

The options are as follows:

  • 0: Disable.
  • 1: Enable.

ACL_RT_LAUNCH_KERNEL_ATTR_TIMEOUT

Timeout interval for the task scheduler to wait for task execution. This option applies only to AI CPU or AI Core operators.

The options are as follows:

  • 0: forever;
  • > 0: Specific timeout interval, in seconds.