接口版本说明
样例介绍
获取样例
单击pngd_sample获取样例
功能描述
该样例实现.png、.PNG图片的解码。
原理介绍
在该样例中,涉及的关键功能点,如下表所示。
| 初始化 | - 调用aclInit接口初始化AscendCL配置。 - 调用aclFinalize接口实现AscendCL去初始化。 |
|---|---|
| Device管理 | - 调用aclrtSetDevice接口指定用于运算的Device。 - 调用aclrtGetRunMode接口获取软件栈的运行模式,根据运行模式的不同,内部处理流程不同。 - 调用aclrtResetDevice接口复位当前运算的Device,回收Device上的资源。 |
| Context管理 | - 调用aclrtCreateContext接口创建Context。 - 调用aclrtDestroyContext接口销毁Context。 |
| 内存管理 | - 调用aclrtMallocHost接口/aclrtFreeHost接口申请/释放Host上内存。 - 执行媒体数据处理时,若需要申请Device上的内存存放输入或输出数据,需调用hi_mpi_dvpp_malloc接口/hi_mpi_dvpp_free接口申请/释放内存。 |
| 数据传输 | 如果在板端环境上运行应用,则无需进行数据传输。 |
| 媒体数据处理V2 | 参见PNGD图片解码功能中的接口。 |
目录结构
样例代码结构如下所示。
├── src //示例代码文件所在的目录
│ ├── sample_comm.h //声明解码函数的头文件
│ ├── sample_comm_pngd.cpp //解码函数的实现文件
│ ├── sample_pngd.cpp //解码函数的实现文件
├── CMakeLists.txt //编译脚本
父主题: 媒体数据处理V2(PNGD图片解码)
编译及运行应用
单击pngd_sample获取样例,查看该样例下的README。
父主题: 媒体数据处理V2(PNGD图片解码)
接口版本说明
V1.1.0为第一个AscendCL接口版本,根据AscendCL接口的变更,该版本号会随之改变,您可以调用aclrtGetVersion接口获取AscendCL接口版本号、再通过本章的接口列表查阅变更接口。
AscendCL接口版本号命名采用:A.B.C模式,其中:
- A表示有不兼容修改,从1开始,如果出现接口的不兼容变更时,加1;
- B表示新增接口,按照迭代周期,有新增接口时加1;
- C表示bug修复,从0开始,表示本版本仅仅解决了问题。在A、B不变的情况下,如果本版本修复了问题,则C加1;但A、B增加的时候,C一般为0。
:::note 说明 昇腾AI处理器对枚举值、数据类型及其操作接口的支持情况请参见枚举值及数据结构、数据类型及其操作接口。
接口的返回码说明请参见aclError,如果接口调用失败,则接口的出参无效,不可继续使用。
接口命名规则的说明请参见表达约定。 :::
父主题: 接口列表
V1.1.0及以上版本
各版本对AscendCL接口的支持情况如下所示,各标识的含义如下:
-
√:支持。
-
x:不支持。
-
废弃:后续版本待废弃,具体废弃接口说明请参见废弃接口/返回码列表。
一级节点 | 二级节点 | 三级节点 |
|---|---|---|
系统配置 | aclInit | |
aclFinalize | ||
aclrtGetVersion | ||
aclSetCompileopt | ||
aclrtGetSocName | ||
aclGetRecentErrMsg | ||
Device管理 | aclrtSetDevice | |
aclrtResetDevice | ||
aclrtGetDevice | ||
aclrtGetRunMode | ||
aclrtSetTsDevice | ||
aclrtGetDeviceCount | ||
Context管理 | aclrtCreateContext | |
aclrtDestroyContext | ||
aclrtSetCurrentContext | ||
aclrtGetCurrentContext | ||
算力Group查询与设置 | aclrtSetGroup | |
aclrtGetGroupCount | ||
aclrtCreateGroupInfo | ||
aclrtDestroyGroupInfo | ||
aclrtGetAllGroupInfo | ||
aclrtGetGroupInfoDetail | ||
Stream管理 | aclrtCreateStream | |
aclrtDestroyStream | ||
同步等待 | aclrtCreateEvent | |
aclrtCreateEventWithFlag | ||
aclrtDestroyEvent | ||
aclrtRecordEvent | ||
aclrtResetEvent | ||
aclrtQueryEvent | ||
aclrtQueryEventStatus | ||
aclrtQueryEventWaitStatus | ||
aclrtSynchronizeEvent | ||
aclrtEventElapsedTime | ||
aclrtStreamWaitEvent | ||
aclrtSynchronizeDevice | ||
aclrtSynchronizeStream | ||
aclrtSubscribeReport | ||
aclrtLaunchCallback | ||
aclrtProcessReport | ||
aclrtUnSubscribeReport | ||
aclrtSetExceptionInfoCallback | ||
aclrtGetTaskIdFromExceptionInfo | ||
aclrtGetStreamIdFromExceptionInfo | ||
aclrtGetThreadIdFromExceptionInfo | ||
aclrtGetDeviceIdFromExceptionInfo | ||
aclrtSetOpWaitTimeout | ||
内存管理 | aclrtMalloc | |
aclrtMallocCached | ||
aclrtMemFlush | ||
aclrtMemInvalidate | ||
aclrtFree | ||
aclrtMallocHost | ||
aclrtFreeHost | ||
aclrtMemset | ||
aclrtMemsetAsync | ||
aclrtMemcpy | ||
aclrtMemcpyAsync | ||
aclrtGetMemInfo | ||
aclrtDeviceCanAccessPeer | ||
aclrtDeviceEnablePeerAccess | ||
aclrtDeviceDisablePeerAccess | ||
aclrtMemcpy2d | ||
aclrtMemcpy2dAsync | ||
模型加载与执行 | aclmdlLoadFromFile | |
aclmdlLoadFromMem | ||
aclmdlLoadFromFileWithMem | ||
aclmdlLoadFromMemWithMem | ||
aclmdlLoadFromFileWithQ | ||
aclmdlLoadFromMemWithQ | ||
aclmdlExecute | ||
aclmdlExecuteAsync | ||
aclmdlUnload | ||
aclmdlQuerySize | ||
aclmdlQuerySizeFromMem | ||
aclmdlSetDynamicBatchSize | ||
aclmdlSetDynamicHWSize | ||
aclmdlSetInputAIPP | ||
aclmdlGetFirstAippInfo | ||
aclmdlGetAippType | ||
aclmdlSetAIPPByInputIndex | ||
aclmdlSetInputDynamicDims | ||
aclmdlCreateAndGetOpDesc | ||
aclmdlInitDump | ||
aclmdlSetDump | ||
aclmdlFinalizeDump | ||
aclmdlSetConfigOpt | ||
aclmdlLoadWithConfig | ||
算子编译 | aclopRegisterCompileFunc | |
aclopUnregisterCompileFunc | ||
aclopCreateKernel | ||
aclopSetKernelArgs | ||
aclopSetKernelWorkspaceSizes | ||
aclopUpdateParams | ||
aclopCompile | ||
aclopSetCompileFlag | ||
aclGenGraphAndDumpForOp | ||
算子加载与执行 | aclopSetModelDir | |
aclopLoad | ||
aclopExecute | ||
aclopExecuteV2 | ||
aclopCompileAndExecute | ||
aclopExecWithHandle | ||
aclopInferShape | ||
CBLAS接口 | aclblasGemvEx | |
aclblasCreateHandleForGemvEx | ||
aclblasHgemv | ||
aclblasCreateHandleForHgemv | ||
aclblasS8gemv | ||
aclblasCreateHandleForS8gemv | ||
aclblasGemmEx | ||
aclblasCreateHandleForGemmEx | ||
aclblasHgemm | ||
aclblasCreateHandleForHgemm | ||
aclblasS8gemm | ||
aclblasCreateHandleForS8gemm | ||
aclopCast | ||
aclopCreateHandleForCast | ||
媒体数据处理V1 | 内存申请与释放 | acldvppMalloc |
acldvppFree | ||
通道创建与释放 | acldvppCreateChannel | |
acldvppDestroyChannel | ||
aclvdecCreateChannel | ||
aclvdecDestroyChannel | ||
aclvencCreateChannel | ||
aclvencDestroyChannel | ||
VPC功能 | acldvppVpcResizeAsync | |
acldvppVpcCropAsync | ||
acldvppVpcCropResizeAsync | ||
acldvppVpcBatchCropAsync | ||
acldvppVpcBatchCropResizeAsync | ||
acldvppVpcCropAndPasteAsync | ||
acldvppVpcCropResizePasteAsync | ||
acldvppVpcBatchCropAndPasteAsync | ||
acldvppVpcBatchCropResizePasteAsync | ||
acldvppVpcBatchCropResizeMakeBorderAsync | ||
acldvppVpcConvertColorAsync | ||
acldvppVpcPyrDownAsync | ||
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 | ||
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 | ||
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 | ||
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 | ||
hi_vdec_get_pic_buf_size | ||
hi_vdec_get_tmv_buf_size | ||
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 | ||
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_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 | ||
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 | |
特征向量检索 | aclfvInit | |
aclfvRelease | ||
aclfvRepoAdd | ||
aclfvRepoDel | ||
aclfvDel | ||
aclfvModify | ||
aclfvSearch | ||
Profiling配置 | aclprofInit | |
aclprofStart | ||
aclprofStop | ||
aclprofFinalize | ||
aclprofCreateStamp | ||
aclprofSetStampTraceMessage | ||
aclprofMark | ||
aclprofPush | ||
aclprofPop | ||
aclprofRangeStart | ||
aclprofRangeStop | ||
aclprofDestroyStamp | ||
aclprofModelSubscribe | ||
aclprofModelUnSubscribe | ||
aclprofGetOpDescSize | ||
aclprofGetOpNum | ||
aclprofGetOpTypeLen | ||
aclprofGetOpType | ||
aclprofGetOpNameLen | ||
aclprofGetOpName | ||
aclprofGetOpStart | ||
aclprofGetOpEnd | ||
aclprofGetOpDuration | ||
aclprofGetModelId | ||
aclprofGetStepTimestamp | ||
Tensor数据传输接口 | acltdtCreateChannel | |
acltdtSendTensor | ||
acltdtReceiveTensor | ||
acltdtStopChannel | ||
acltdtDestroyChannel | ||
acltdtCreateChannelWithCapacity | ||
acltdtQueryChannelSize | ||
数据类型转换及获取数据大小 | aclDataTypeSize | |
aclFloat16ToFloat | ||
aclFloatToFloat16 | ||
扩展接口 | aclextProcessAicpuTask | |
共享队列管理 | acltdtCreateQueue | |
acltdtDestroyQueue | ||
acltdtEnqueueData | ||
acltdtDequeueData | ||
acltdtEnqueue | ||
acltdtDequeue | ||
acltdtBindQueueRoutes | ||
acltdtUnbindQueueRoutes | ||
acltdtQueryQueueRoutes | ||
acltdtGrantQueue | ||
acltdtAttachQueue | ||
共享Buffer管理 | acltdtAllocBuf | |
acltdtFreeBuf | ||
acltdtGetBufData |
父主题: 接口列表
V1.2.0及以上版本
在V1.1.0基础上,新增了如下接口。
各版本对AscendCL接口的支持情况如下所示,各标识的含义如下:
-
√:支持。
-
x:不支持。
-
废弃:后续版本待废弃,具体废弃接口说明请参见废弃接口/返回码列表。
| 一级节点 | 二级节点 | 三级节点 |
|---|---|---|
| 算子加载与执行 | aclopCompileAndExecuteV2 | |
| 媒体数据处理V2 | VDEC功能/JPEGD功能 | hi_mpi_vdec_set_jpegd_precision_mode |
| 媒体数据处理V2 | VPC功能 | hi_mpi_vpc_convert_color_v2 |
| 数据类型及其操作接口 | acltdtDataset | acltdtGetDatasetName |
| 模型加载与执行 | aclmdlLoadFromFileWithQ | |
| 模型加载与执行 | aclmdlLoadFromMemWithQ |
父主题: 接口列表
在线提单