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

#### 产品支持情况

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


#### 头文件/库文件

- 头文件：#include <ge/fusion/pass/fusion_pass_reg.h>
- 库文件：libge_compiler.so


#### 功能说明

创建融合Pass注册函数。


#### 函数原型

```
FusionPassRegistrationData &CreatePassFn(const CreateFusionPassFn &create_fusion_pass_fn)
```


#### 参数说明

| 参数名 | 输入/输出 | 说明 |
| --- | --- | --- |
| create\_fusion\_pass\_fn | 输入 | 创建自定义Pass的执行函数。 |


#### 返回值说明

FusionPassRegistrationData的引用，用于级联调用其成员函数。


#### 约束说明

无


#### 回调函数CreateFusionPassFn

用户自定义实现融合pass子类，调用注册宏：

```
REG_DECOMPOSE_PASS/
REG_FUSION_PASS
```

注册宏会自动生成构造融合pass子类对象的回调函数，即CreateFusionPassFn。该回调函数被用于在执行Pass之前，将Pass对象构造出来：

```
using CreateFusionPassFn = FusionBasePass *(*)();
```
