---
title: aclrtLaunchKernelAttrValue
description: "```"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/runtimeapi/aclcppdevg_03_1814.html
sourcePath: /source/zh/canncommercial/900/API/runtimeapi/aclcppdevg_03_1814.html
indexId: 0183fcf3ce1cac271f79aaa87fdf7eb504af3280e8f19e5bfbb40cdf12c27d0868
---
# aclrtLaunchKernelAttrValue

```
typedef union aclrtLaunchKernelAttrValue {
    uint8_t schemMode;
    uint32_t dynUBufSize;
    aclrtEngineType engineType; 
    uint32_t blockDimOffset; 
    uint8_t isBlockTaskPrefetch; 
    uint8_t isDataDump; 
    uint16_t timeout;
    aclrtTimeoutUs timeoutUs;
    uint32_t rsv[4];
} aclrtLaunchKernelAttrValue;
```

| 成员名称 | 描述 |
| --- | --- |
| schemMode | 调度模式。 取值如下： 0：普通调度模式，有空闲的核，就启动算子执行。例如，当numBlocks为8时，表示算子核函数将会在8个核上执行，这时如果指定普通调度模式，则表示只要有1个核空闲了，就启动算子执行。 1：batch调度模式，必须所有所需的核都空闲了，才启动算子执行。例如，当numBlocks为8时，表示算子核函数将会在8个核上执行，这时如果指定batch调度模式，则表示必须等8个核都空闲了，才启动算子执行。 |
| dynUBufSize | 用于指定SIMT（Single Instruction Multiple Thread）算子执行时需要的UB（Unified Buffer，统一缓冲区）动态内存大小，单位Byte。纯SIMD算子该参数仅支持设置为0。 仅Atlas 350 加速卡支持该参数。其它产品型号当前不支持该参数，配置该参数不生效。 |
| engineType | 算子执行引擎。类型定义请参见aclrtEngineType。 仅 Atlas 推理系列产品 支持该参数。 以下产品型号，不支持配置该参数，配置不生效： Atlas 350 加速卡 Atlas A3 训练系列产品 / Atlas A3 推理系列产品 Atlas A2 训练系列产品 / Atlas A2 推理系列产品 Atlas 200I/500 A2 推理产品 Atlas 训练系列产品 |
| blockDimOffset | numBlocks偏移量。 如果numBlocks ≤ AI Core核数，则无需使用Vector Core上计算，可将engineType配置为ACL\_RT\_ENGINE\_TYPE\_AIC（表示在AI Core上计算），则此处的blockDimOffset配置为0。 如果numBlocks > AI Core核数，则需： 在一个Stream上下发任务，将engineType配置为ACL\_RT\_ENGINE\_TYPE\_AIC（表示在AI Core上计算），此处的blockDimOffset配置为0。 在另一个Stream上下发任务，将engineType配置为ACL\_RT\_ENGINE\_TYPE\_AIV（表示在Vector Core上计算），此处的blockDimOffset配置为aicorenumBlocks，aicorenumBlocks的计算公式如下： numBlocks ≤ AI Core核数+Vector Core核数时，aicorenumBlocks = AI Core核数 否则，aicorenumBlocks = 向上取整 ( numBlocks \* ( AI Core核数 ) / ( AI Core核数 + Vector Core核数 )) 仅 Atlas 推理系列产品 支持该参数。 以下产品型号，不支持配置该参数，配置不生效： Atlas 350 加速卡 Atlas A3 训练系列产品 / Atlas A3 推理系列产品 Atlas A2 训练系列产品 / Atlas A2 推理系列产品 Atlas 200I/500 A2 推理产品 Atlas 训练系列产品 |
| isBlockTaskPrefetch | 任务下发时，是否阻止硬件预取本任务的信息。 取值如下： 0：不阻止 1：阻止 |
| isDataDump | 是否开启Dump。 取值如下： 0：不开启 1：开启 |
| timeout | 任务调度器等待任务执行的超时时间。仅适用于执行AI CPU或AI Core算子的场景。 取值如下： 0：表示永久等待； >0：配置具体的超时时间，单位是秒。 |
| timeoutUs | 任务调度器等待任务执行的超时时间，单位微秒。类型定义请参见aclrtTimeoutUs。 若aclrtTimeoutUs结构体中，timeoutLow和timeoutHigh均被配置为0，则表示永久等待。 对于同一个Launch Kernel任务，不能同时配置timeoutUs和timeout参数，否则返回报错。 |
| rsv | 预留参数。当前固定配置为0。 |
