内存管理(昇腾310 AI处理器)
- 独立内存管理,根据需要单独申请所需的内存,内存不做拆分或者二次分配。
- 内存池管理内存,用户一次性申请一块较大内存,并在使用时从这块较大内存中二次分配所需内存。
在内存二次分配时,使用如下接口从内存池申请对应内存,由于接口对申请的内存地址、大小有约束,在内存池管理时,需要关注,否则容易出现内存越界。
内存管理的总体说明请参见总体说明。
接口 |
用途 |
输入内存/输出内存 |
---|---|---|
实现Host内、Host与Device之间、Device内、Device间的异步内存复制。 |
|
|
在Device上申请size大小的线性内存,通过*devPtr返回已分配内存的指针,同步接口。 |
||
该接口主要用于分配内存给Device侧媒体数据处理时使用,申请的大页内存满足数据处理的要求(例如,内存首地址128对齐),同步接口。调用该接口申请内存后,必须使用acldvppFree接口释放内存。 媒体数据处理各功能的详细介绍请参见媒体数据处理V1。 |
实现VPC功能时,输入/输出内存的要求如下:
|
|
实现JPEGD功能时:
|
||
实现JPEGE功能时:
|
||
实现VDEC功能时:
|
||
实现VENC功能时:
|
||
实现PNGD功能时:
|
||
应用在Host上运行时,调用该接口申请的是Host内存,由系统保证内存首地址64字节对齐。应用在Device上运行时,调用该接口申请的是Device内存,,且Device上的内存按普通页申请,如需首地址64字节对齐,需要用户自行处理对齐。同步接口。 |
|