---
title: aclopCreateKernel
description: "| 产品 | 是否支持 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendgraphapi/aclcppdevg_03_0259.html
sourcePath: /source/zh/canncommercial/900/API/ascendgraphapi/aclcppdevg_03_0259.html
indexId: 7546e5683731a86f310beeac117b873e775349441d78357a35775cce78dd7fbe72
---
# aclopCreateKernel

#### 产品支持情况

| 产品 | 是否支持 |
| --- | --- |
| Atlas 350 加速卡 | √ |
| Atlas A3 训练系列产品 / Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | √ |
| Atlas 200I/500 A2 推理产品 | √ |
| Atlas 推理系列产品 | √ |
| Atlas 训练系列产品 | √ |


#### 功能说明

动态Shape场景下，将算子注册到系统内部，运行算子时使用。


#### 函数原型

```
aclError aclopCreateKernel(const char *opType,
const char *kernelId,
const char *kernelName,
void *binData,
int binSize,
aclopEngineType enginetype,
aclDataDeallocator deallocator)
```


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| opType | 输入 | 算子类型的指针。 |
| kernelId | 输入 | 算子执行时要指定的Kernel ID的指针。 |
| kernelName | 输入 | 算子Kernel名称的指针，和算子二进制文件中的kernelName保持一致。 |
| binData | 输入 | 算子Kernel文件的内存地址指针。 |
| binSize | 输入 | 算子Kernel文件的内存大小，单位为Byte。 |
| enginetype | 输入 | 表示算子执行引擎。类型定义请参见aclopEngineType。 |
| deallocator | 输入 | 释放binData内存的回调函数，调用者根据binData的构造方法设置对应的释放函数。如果数据由调用者释放则设置为空。 函数原型为： typedef void (\*aclDataDeallocator)(void \*data, size\_t length); |


#### 返回值说明

返回0表示成功，返回其他值表示失败，请参见aclError。
