跳到主要内容

废弃接口/返回码列表

接口列表,Atlas 200/500 A2推理产品

针对Atlas 200/500 A2推理产品,在V1.5.0版本第一次发布。

Atlas 200/500 A2推理产品对AscendCL接口的支持情况如下所示,各标识的含义如下:

一级节点

二级节点

三级节点

Atlas 200/500 A2推理产品

系统配置

aclInit

  

aclFinalize

  

aclrtGetVersion

  

aclSetCompileopt

  

aclGetCompileopt

  

aclGetCompileoptSize

  

aclrtGetSocName

  

aclGetRecentErrMsg

  

aclrtSetDeviceSatMode

  

x

aclrtGetDeviceSatMode

  

x

Device管理

该章节下的所有接口

  

Context管理

该章节下的所有接口

  

算力Group查询与设置

该章节下的所有接口

  

x

Stream管理

aclrtCreateStream

  

aclrtCreateStreamWithConfig

  

aclrtDestroyStream

  

aclrtDestroyStreamForce

  

aclrtSetStreamOverflowSwitch

  

x

aclrtGetStreamOverflowSwitch

  

x

aclrtSetStreamFailureMode

  

同步等待

aclrtCreateEvent

  

aclrtCreateEventWithFlag

  

aclrtDestroyEvent

  

aclrtRecordEvent

  

aclrtResetEvent

  

aclrtQueryEvent

  

废弃

aclrtQueryEventStatus

  

aclrtQueryEventWaitStatus

  

aclrtSynchronizeEvent

  

aclrtSynchronizeEventWithTimeout

  

aclrtEventElapsedTime

  

aclrtStreamWaitEvent

  

aclrtSynchronizeDevice

  

aclrtSynchronizeStream

  

aclrtSubscribeReport

  

aclrtLaunchCallback

  

aclrtProcessReport

  

aclrtUnSubscribeReport

  

aclrtSetExceptionInfoCallback

  

aclrtGetTaskIdFromExceptionInfo

  

aclrtGetStreamIdFromExceptionInfo

  

aclrtGetThreadIdFromExceptionInfo

  

aclrtGetDeviceIdFromExceptionInfo

  

aclrtGetErrorCodeFromExceptionInfo

  

aclrtSetOpWaitTimeout

  

内存管理

aclrtMalloc

  

aclrtMallocCached

  

aclrtMemFlush

  

aclrtMemInvalidate

  

aclrtFree

  

aclrtMallocHost

  

aclrtFreeHost

  

aclrtMemset

  

aclrtMemsetAsync

  

aclrtMemcpy

  

aclrtMemcpyAsync

  

aclrtGetMemInfo

  

aclrtDeviceCanAccessPeer

  

x

aclrtDeviceEnablePeerAccess

  

x

aclrtDeviceDisablePeerAccess

  

x

aclrtMemcpy2d

  

RC形态不支持调用本接口。

aclrtMemcpy2dAsync

  

RC形态不支持调用本接口。

模型加载与执行

该章节下的所有接口

  

算子编译

该章节下的所有接口

  

算子加载与执行

aclopSetModelDir

  

aclopLoad

  

aclopExecute

  

废弃

aclopExecuteV2

  

aclopCompileAndExecute

  

aclopCompileAndExecuteV2

  

aclopExecWithHandle

  

aclopInferShape

  

aclrtSetOpExecuteTimeOut

  

CBLAS接口

该章节下的所有接口

  

媒体数据处理V1

内存申请与释放

acldvppMalloc

acldvppFree

通道创建与释放

acldvppCreateChannel

acldvppDestroyChannel

aclvdecCreateChannel

aclvdecDestroyChannel

aclvencCreateChannel

aclvencDestroyChannel

VPC功能

acldvppVpcResizeAsync

acldvppVpcCropAsync

acldvppVpcCropResizeAsync

acldvppVpcBatchCropAsync

acldvppVpcBatchCropResizeAsync

acldvppVpcCropAndPasteAsync

acldvppVpcCropResizePasteAsync

acldvppVpcBatchCropAndPasteAsync

acldvppVpcBatchCropResizePasteAsync

acldvppVpcBatchCropResizeMakeBorderAsync

acldvppVpcConvertColorAsync

acldvppVpcPyrDownAsync

x

acldvppVpcEqualizeHistAsync

acldvppVpcMakeBorderAsync

acldvppVpcCalcHistAsync

JPEGD功能

acldvppJpegDecodeAsync

acldvppJpegGetImageInfo

acldvppJpegGetImageInfoV2

acldvppJpegPredictDecSize

JPEGE功能

acldvppJpegEncodeAsync

acldvppJpegPredictEncSize

PNGD功能

acldvppPngDecodeAsync

acldvppPngGetImageInfo

acldvppPngPredictDecSize

VDEC功能

aclvdecSendFrame

aclvdecSendSkippedFrame

aclvdecCallback

VENC功能

aclvencSendFrame

aclvencCallback

媒体数据处理V2

公共接口

hi_mpi_sys_init

hi_mpi_sys_exit

hi_mpi_dvpp_malloc

hi_mpi_dvpp_free

hi_mpi_dvpp_get_image_info

hi_mpi_dvpp_get_version

hi_mpi_sys_create_epoll

hi_mpi_sys_ctl_epoll

hi_mpi_sys_wait_epoll

hi_mpi_sys_close_epoll

hi_mpi_sys_set_chn_csc_matrix

hi_mpi_sys_get_chn_csc_matrix

hi_mpi_sys_get_image_align_info

hi_mpi_sys_bind

hi_mpi_sys_unbind

AI音频输入/AO音频输出

该章节下的所有接口

AENC音频编码/ADEC音频解码

该章节下的所有接口

音量调节

ISP系统控制及3A算法注册

该章节下的命令字

该章节下的所有接口

MIPI Rx ioctl命令字

该章节下的命令字

VI视频输入功能

该章节下的所有接口

Region区域管理

该章节下的所有接口

VPSS视频处理功能

该章节下的所有接口

VO视频输出功能

该章节下的所有接口

TDE图形绘制功能

该章节下的所有接口

HIFB叠加图形层管理功能

该章节下的所有接口

HDMI外设

该章节下的所有接口

VPC功能

hi_mpi_vpc_create_chn

hi_mpi_vpc_destroy_chn

hi_mpi_vpc_resize

hi_mpi_vpc_crop

hi_mpi_vpc_crop_resize

hi_mpi_vpc_crop_resize_paste

hi_mpi_vpc_convert_color

hi_mpi_vpc_convert_color_to_yuv420

hi_mpi_vpc_copy_make_border

hi_mpi_vpc_pyrdown

hi_mpi_vpc_calc_hist

hi_mpi_vpc_equalize_hist

hi_mpi_vpc_crop_resize_make_border

hi_mpi_vpc_batch_crop_resize_paste

hi_mpi_vpc_batch_crop_resize_make_border

hi_mpi_vpc_get_process_result

hi_mpi_vpc_sys_create_chn

hi_mpi_vpc_set_roundview_stitching_param

x

hi_mpi_vpc_get_roundview_stitching_param

x

hi_mpi_vpc_roundview_stitching

x

hi_vpc_crop_resize_resize_paste

x

hi_mpi_vpc_set_chn_workspace

hi_mpi_vpc_get_lut_mem_size

hi_mpi_vpc_get_affine_lut

hi_mpi_vpc_get_perspective_lut

hi_mpi_vpc_get_remap_lut

hi_mpi_vpc_lut_remap

hi_mpi_vpc_median_blur

hi_mpi_vpc_erode

hi_mpi_vpc_dilate

hi_mpi_vpc_blur

hi_mpi_vpc_gaussian_blur

hi_mpi_vpc_filter2d

hi_mpi_vpc_rotate

hi_mpi_vpc_draw_mosaic

hi_mpi_vpc_draw_cover

hi_mpi_vpc_draw_line

hi_mpi_vpc_draw_osd

hi_mpi_vpc_get_affine_transform

hi_mpi_vpc_get_rotation_matrix

hi_mpi_vpc_warp_affine

hi_mpi_vpc_flip

VDEC功能/JPEGD功能

hi_mpi_vdec_create_chn

hi_mpi_vdec_destroy_chn

hi_mpi_vdec_get_chn_attr

hi_mpi_vdec_set_chn_attr

hi_mpi_vdec_start_recv_stream

hi_mpi_vdec_stop_recv_stream

hi_mpi_vdec_query_status

hi_mpi_vdec_reset_chn

hi_mpi_vdec_set_chn_param

hi_mpi_vdec_get_chn_param

hi_mpi_vdec_set_protocol_param

x

hi_mpi_vdec_get_protocol_param

hi_mpi_vdec_send_stream

hi_mpi_vdec_get_frame

hi_mpi_vdec_release_frame

hi_mpi_vdec_get_fd

hi_mpi_vdec_close_fd

x

hi_vdec_get_pic_buf_size

hi_vdec_get_tmv_buf_size

hi_mpi_vdec_set_jpegd_precision_mode

hi_mpi_vdec_get_jpegd_output_info

VENC功能/JPEGE功能

hi_mpi_venc_create_chn

hi_mpi_venc_destroy_chn

hi_mpi_venc_start_chn

hi_mpi_venc_stop_chn

hi_mpi_venc_query_status

hi_mpi_venc_get_stream

hi_mpi_venc_release_stream

hi_mpi_venc_send_frame

hi_mpi_venc_set_mod_param

hi_mpi_venc_get_mod_param

hi_mpi_venc_request_idr

hi_mpi_venc_get_fd

hi_mpi_venc_close_fd

x

hi_mpi_venc_set_jpeg_param

hi_mpi_venc_get_jpeg_param

hi_mpi_venc_set_chn_param

hi_mpi_venc_set_scene_mode

hi_mpi_venc_get_scene_mode

hi_mpi_venc_set_rc_param

hi_mpi_venc_get_rc_param

hi_mpi_venc_set_jpeg_huffman_param

hi_mpi_venc_get_jpeg_huffman_param

hi_mpi_venc_compact_jpeg_tables

hi_mpi_venc_send_jpege_frame

hi_mpi_venc_get_jpege_predicted_size

hi_mpi_venc_set_roi_attr

hi_mpi_venc_get_roi_attr

hi_mpi_venc_set_ref_param

hi_mpi_venc_get_ref_param

hi_mpi_venc_set_h264_vui

hi_mpi_venc_get_h264_vui

hi_mpi_venc_set_h265_vui

hi_mpi_venc_get_h265_vui

hi_mpi_venc_set_cu_pred

hi_mpi_venc_get_cu_pred

hi_mpi_venc_set_intra_refresh

hi_mpi_venc_get_intra_refresh

PNGD功能

hi_mpi_pngd_create_chn

hi_mpi_pngd_destroy_chn

hi_mpi_pngd_send_stream

hi_mpi_pngd_get_image_data

hi_mpi_png_get_image_info

日志管理

aclAppLog

  

特征向量检索

该章节下的所有接口

  

x

Profiling数据采集

该章节下的所有接口

  

Tensor数据传输接口

该章节下的所有接口

  

x

数据类型转换及获取数据大小

aclDataTypeSize

  

aclFloat16ToFloat

  

aclFloatToFloat16

  

共享队列管理

acltdtCreateQueue

  

acltdtDestroyQueue

  

acltdtEnqueueData

  

acltdtDequeueData

  

acltdtEnqueue

  

x

acltdtDequeue

  

x

acltdtBindQueueRoutes

  

acltdtUnbindQueueRoutes

  

acltdtQueryQueueRoutes

  

acltdtGrantQueue

  

x

acltdtAttachQueue

  

x

共享Buffer管理

acltdtAllocBuf

  

acltdtFreeBuf

  

acltdtGetBufData

  

acltdtSetBufUserData

  

acltdtGetBufUserData

  

acltdtSetBufDataLen

  

acltdtGetBufDataLen

  

acltdtCopyBufRef

  

acltdtAppendBufChain

  

acltdtGetBufChainNum

  

acltdtGetBufFromChain

  

父主题: V1.5.0及以上版本

接口列表,\Atlas 200/500 A2推理产品

针对Atlas 200/300/500 推理产品、Atlas 200/500 A2推理产品,在V1.5.0基础上,新增了如下接口。

各版本对AscendCL接口的支持情况如下所示,各标识的含义如下:

一级节点

二级节点

三级节点

Atlas 200/500 A2推理产品

媒体数据处理V2

VDEC视频解码功能/JPEGD图片解码功能

hi_mpi_vdec_set_display_mode

hi_mpi_vdec_get_display_mode

AI音频输入/AO音频输出

该章节下的所有接口

音量调节

该章节下的所有接口

AENC音频编码/ADEC音频解码

该章节下的所有接口

Region区域管理

该章节下的所有接口

VO视频输出功能

该章节下的所有接口

TDE图形绘制功能

该章节下的所有接口

HIFB叠加图形层管理功能

该章节下的所有接口

HDMI外设

该章节下的所有接口

VENC视频编码功能/JPEGE图片编码功能

hi_mpi_venc_set_chn_attr

hi_mpi_venc_get_chn_attr

VI视频输入功能

hi_mpi_vi_set_pipe_attr

hi_mpi_vi_get_pipe_attr

hi_mpi_vi_set_pipe_vc_number

hi_mpi_vi_get_pipe_vc_number

hi_mpi_vi_set_chn_low_delay_attr

hi_mpi_vi_get_chn_low_delay_attr

hi_mpi_vi_set_vi_vpss_mode

hi_mpi_vi_get_vi_vpss_mode

hi_mpi_vi_set_pipe_pre_be_crop

hi_mpi_vi_set_pipe_bind_strobe

VO视频输出功能

hi_mpi_vo_set_chn_param

hi_mpi_vo_set_chn_frame_rate

hi_mpi_vo_pause_chn

hi_mpi_vo_resume_chn

hi_mpi_vo_hide_chn

hi_mpi_vo_show_chn

hi_mpi_vo_bind_layer

hi_mpi_vo_unbind_layer

算子加载与执行

aclrtSetOpExecuteTimeOut

  

系统配置

aclGetCompileopt

  

aclGetCompileoptSize

  

Stream管理

aclrtSetStreamFailureMode

  

aclrtSetStreamConfigOpt

  

x

aclrtCreateStreamV2

  

x

同步等待

aclrtSynchronizeEventWithTimeout

  

模型加载与执行

aclmdlSetExecConfigOpt

  

aclmdlExecuteV2

  

aclmdlExecuteAsyncV2

  

内存管理

aclrtAllocatorRegister

  

x

aclrtAllocatorUnregister

  

x

aclrtMallocAlign32

  

Context管理

aclrtCtxSetSysParamOpt

  

aclrtCtxGetSysParamOpt

  

aclrtGetOverflowStatus

  

aclrtResetOverflowStatus

  

Device管理

aclrtGetDeviceUtilizationRate

  

单算子API执行

公共接口(AscendCL meta)

定义算子时依赖的一些AscendCL元接口,通过这些元接口可以构建所需的数据结构,如aclTensor、aclScalar、aclIntArray等。

  

NN类算子接口(aclnn)

aclnn提供的核心功能接口,包括张量基础计算(加/减/乘/除等)以及NN相关的如卷积、池化、激活函数等操作。

该章节下的所有接口

x

父主题: V1.6.0及以上版本

V1.7.0及以上版本

针对Atlas 200/300/500 推理产品、Atlas 200/500 A2推理产品,在V1.6.0基础上,新增了如下接口。

各版本对AscendCL接口的支持情况如下所示,各标识的含义如下:

一级节点

二级节点

三级节点

Atlas 200/500 A2推理产品

算子加载与执行

aclopStartDumpArgs

  

x

aclopStopDumpArgs

  

x

同步等待

aclrtSubscribeHostFunc

  

x

aclrtProcessHostFunc

  

x

aclrtUnSubscribeHostFunc

  

x

单算子API执行

DVPP类算子接口

acldvppNormalize

x

acldvppDecodeJpeg

x

acldvppResize

x

acldvppImgToTensor

x

acldvppAdjustBrightness

x

acldvppAdjustHue

x

acldvppAdjustSaturation

x

acldvppAdjustContrast

x

融合类算子接口

aclnnPromptFlashAttention

x

aclnnIncreFlashAttention

x

aclnnFlashAttentionScore

x

aclnnFlashAttentionScoreGrad

x

aclnnMoeFFN

x

媒体数据处理V2

VPC图像处理功能

hi_mpi_vpc_set_chn_opt_attr

x

Stream管理

aclrtStreamQuery

  

内存管理

aclrtReserveMemAddress

  

aclrtReleaseMemAddress

  

aclrtMallocPhysical

  

aclrtFreePhysical

  

aclrtMapMem

  

aclrtUnmapMem

  

Device管理

aclrtQueryDeviceStatus

  

父主题: 接口列表

废弃接口/返回码列表

接口

返回码

父主题: AscendCL API参考

aclInit

函数功能

AscendCL初始化函数,同步接口。

约束说明

  • 一个进程内只能调用一次aclInit接口。
  • 使用AscendCL接口开发应用时,必须先调用aclInit接口,否则可能会导致后续系统内部资源初始化出错,进而导致其它业务异常。

函数原型

aclError aclInit(const char *configPath)

参数说明

参数名输入/输出说明
configPath输入配置文件所在路径的指针,包含文件名,配置文件内容为json格式(json文件内的“{”的层级最多为10,“[”的层级最多为10)。如果以下的默认配置已满足需求,无需修改,可向aclInit接口中传入NULL,或者可将配置文件配置为空json串(即配置文件中只有{})。 配置文件格式为json格式,当前支持以下配置:
- Dump信息配置,包括以下配置:
- 模型Dump配置(用于导出模型中每一层算子输入和输出数据)、单算子Dump配置(用于导出单个算子的输入和输出数据),导出的数据用于与指定模型或算子进行比对,定位精度问题,配置示例、说明及约束请参见《精度比对工具使用指南》。默认不启用该dump配置。
- 溢出算子Dump配置(用于导出模型中溢出算子的输入和输出数据),导出的数据用于分析溢出原因,定位模型精度的问题,配置示例、说明及约束请参见配置文件示例(溢出算子Dump配置)。默认不启用该dump配置。预留功能,暂不支持
- Profiling采集信息配置,示例、配置说明及约束请参见《性能分析工具使用指南》。默认不启用Profiling采集信息配置。
- 算子缓存信息老化配置,为节约内存和平衡调用性能,可通过max_opqueue_num参数配置“算子类型-单算子模型”映射队列的最大长度,如果长度达到最大,则会先删除长期未使用的映射信息以及缓存中的单算子模型,再加载最新的映射信息以及对应的单算子模型。如果不配置映射队列的最大长度,则默认最大长度为20000。示例及约束说明请参见配置文件示例(算子缓存信息老化配置)
建议不要同时配置dump信息和Profiling采集信息,否则dump操作会影响系统性能,导致Profiling采集的性能数据指标不准确。

返回值说明

返回0表示成功,返回其它值表示失败。

配置文件示例(溢出算子Dump配置)

溢出算子Dump配置的相关约束说明如下:

  • 将dump_debug配置为on表示开启溢出算子配置,不配置dump_debug或将dump_debug配置为off表示不开启溢出算子配置。

  • 若开启溢出算子配置,则dump_path必须配置,表示导出数据文件的存储路径。

    支持配置绝对路径或相对路径:

    • 绝对路径配置以“/”开头,例如:/home。
    • 相对路径配置直接以目录名开始,例如:output。

    获取导出的数据文件后,如何解析请参见溢出算子数据采集及分析

  • 溢出算子Dump配置,不能与模型Dump配置或单算子Dump配置同时开启,否则会返回报错。

配置文件中的示例内容如下:

{
"dump":{
"dump_path":"output",
"dump_debug":"on"
}
}

配置文件示例(算子缓存信息老化配置)

算子缓存信息老化配置的相关约束说明如下:

  • 对于静态加载的算子,调用aclopSetModelDir接口加载指定目录下的单算子模型或调用aclopLoad接口加载指定单算子模型时,老化配置无效,不会对该部分的算子信息做老化。

  • 在线编译算子的场景下,调用aclopCompile接口编译算子或调用aclopCompileAndExecute接口编译执行算子时,接口内部会按照入参加载单算子模型,老化配置有效。

    如果用户调用aclopCompile接口编译算子、调用aclopExecuteV2接口执行算子,则在编译算子后需及时执行算子,否则可能导致执行算子时,算子信息已被老化,需要重新编译。建议调用aclopCompileAndExecuteV2接口编译执行算子。

  • AscendCL内部分开维护固定Shape和动态Shape算子的映射队列,最大长度都为max_opqueue_num参数值。

  • max_opqueue_num参数值为静态加载算子的单算子模型个数和在线编译算子的单算子模型个数的总和,因此max_opqueue_num参数值应大于当前进程中可用的、静态加载算子的单算子模型个数,否则会导致在线编译算子的信息无法老化。

配置文件中的示例内容如下:

{
"max_opqueue_num": "10000"
}

相关接口

AscendCL还提供了其它使能Dump或Profiling的接口,如下,与aclInit不同的是,以下这些接口相对灵活,可以在一个进程内调用多次接口,每次调用接口时可以基于不同的Dump配置或Profiling配置。

参考资源

接口调用示例,参见AscendCL初始化与去初始化

父主题: 系统配置

aclFinalize

函数功能

AscendCL去初始化函数,用于释放进程内的AscendCL相关资源,同步接口。

约束说明

应用的进程退出前,应显式调用该接口实现AscendCL去初始化,否则可能会导致异常,例如应用进程退出时有异常报错。

不建议在析构函数中调用aclFinalize接口,否则在进程退出时可能由于单例析构顺序未知而导致进程异常退出的问题。

函数原型

aclError aclFinalize()

参数说明

返回值说明

返回0表示成功,返回其它值表示失败。

参考资源

接口调用示例,参见AscendCL初始化与去初始化

父主题: 系统配置

aclrtGetVersion

函数功能

查询接口版本号,AscendCL接口版本号命名采用:A.B.C模式,其中,A表示有不兼容修改,B表示新增接口,C表示bug修复。同步接口。

函数原型

aclError aclrtGetVersion(int32_t *majorVersion, int32_t *minorVersion, int32_t *patchVersion)

参数说明

参数名输入/输出说明
majorVersion输出主版本号的指针,从1开始,如果出现接口的不兼容变更时,加1。
minorVersion输出次版本号的指针,从0开始,按照迭代周期,有新增接口时加1。
patchVersion输出补丁版本号的指针,从0开始,表示本版本仅仅解决了问题,在majorVersion、minorVersion不变的情况下加1;但majorVersion、minorVersion增加的时候,patchVersion一般为0。

返回值说明

返回0表示成功,返回其它值表示失败。

父主题: 系统配置

在线提单