GE图模式API列表
本章介绍了GE图模式场景下功能配置可能涉及的Python API,接口列表如下。
torchair接口列表
| 接口名 | 接口说明 |
|---|---|
| CompilerConfig类 | 该类用于构造传入torch.compiler backend的配置。 |
| dynamo_export | 用于导出由TorchAir生成的离线图(air格式)。 |
| get_compiler | 获取能够在NPU上运行的图编译器。 |
| get_npu_backend | 获取能够在NPU上运行的图编译后端npu_backend,可作为backend参数传入torch.compile。 |
| use_internal_format_weight | 将模型中的权重weight转成TorchAir定义的内部私有格式。 |
| register_fx_node_ge_converter | 将自定义算子注册到TorchAir框架中。 |
| patch_for_hcom | 针对PyTorch 2.1版本中不支持入图的集合通信算子提供的补丁函数,实现部分集合通信算子入图。 |
| register_replacement | 将自定义算子融合规则注册到TorchAir中,在FX图编译后对图进行算子融合优化。 |
torchair.ge接口列表
| 接口名 | 接口说明 |
|---|---|
| DataType类 | 数据类型的枚举类,提供了GE的data type定义,方便实现converter函数时调用。 |
| Format类 | 数据格式的枚举类,提供了GE的data format定义,方便实现converter函数时调用。 |
| Tensor类 | 提供Tensor定义,用于算子入图的converter函数入参类型声明。 |
| TensorSpec类 | 提供TensorSpec定义,表示算子在Meta推导过程中得到的节点输出的描述信息,当前用于算子入图的converter函数入参类型声明。 |
| Const | 算子converter中的构图元素,表示一个Const节点,即图中的常量值。 |
| Cast | 算子converter中的构图元素,表示一个Cast节点,即图中Tensor的类型转换方法。 |
| Clone | 算子Converter中的构图元素,表示一个Clone节点,该节点可实现图上任意单个Tensor的拷贝。 |
| custom_op | 基于算子原型(IR)实现算子converter函数,完成PyTorch IR与GE IR的转换,方便自定义算子入图。 |
torchair.inference接口列表
| 接口名 | 接口说明 |
|---|---|
| cache_compile | 实现GE图模式场景下模型编译缓存,降低成图编译耗时。 |
| readable_cache | 实现GE图模式场景下模型编译缓存时,通过本接口读取封装后的func函数缓存文件compiled_module(格式不限,如py、txt)。 |
| set_dim_gears | 将一张图划分为不同档位,使一张图能支持多Batch,提升网络执行性能。 |
torchair.ops接口列表
| 接口名 | 接口说明 |
|---|---|
| npu_print | 图执行过程中,打印执行脚本中目标tensor值。 |
| npu_fused_infer_attention_score | 图模式场景下的FlashAttention算子,既可以支持全量计算场景(PromptFlashAttention),也可支持增量计算场景(IncreFlashAttention)。 |
| npu_fused_infer_attention_score_v2 | 图模式场景下的增强版FlashAttention算子,支持全量和增量计算场景。 |
| record | torchair.ops.record用于显式地在当前Stream上下发一个任务,其返回值可以被torchair.ops.wait等待。 |
| wait | 用于在多流间控制时序关系,torchair.ops.wait表示当前流需要在传入的tensor对应的节点执行结束后,再继续执行。 |
torchair.scope接口列表
| 接口名 | 接口说明 |
|---|---|
| npu_stream_switch | 图执行过程中,指定图内多个算子分发到不同stream进行并行计算。 |
| npu_wait_tensor | 图执行过程中,控制图内多stream并行计算时序。 |
| super_kernel | 图执行过程中,标记图内能融合为SuperKernel的上下文算子范围。 |
| limit_core_num | 图执行过程中,指定图范围内的算子执行时最大的AI Core数和Vector Core数。 |
| op_never_timeout | 针对GE图中算子添加_op_exec_never_timeout属性,即配置算子不超时,使其不参与超时检测。 |
| data_dump | 图执行过程中,dump指定图内范围内的算子输入输出信息。 |
torchair.llm_datadist接口列表
| 接口名 | 接口说明 |
|---|---|
| create_npu_tensors | 通过一串Device地址创建PyTorch在NPU上的Tensors。主要用于创建大模型中的KV Cache Tensors,所有KV Cache的shape和dtype都一致。 |