aclrtMemPoolTrimTo
须知:本接口为试验特性,后续版本可能会存在变更,不支持应用于商用产品中。
产品支持情况
产品 |
是否支持 |
|---|---|
Atlas 350 加速卡 |
☓ |
☓ |
|
√ |
|
☓ |
|
☓ |
|
☓ |
功能说明
收缩内存池,保留指定大小的内存。
在调用aclrtMemPoolFreeAsync接口释放内存时,内存仅归还给内存池,而不会实际释放物理内存,这可能导致内存持续被占用,进而使得aclrtMemPoolMallocAsync接口无法申请新的内存。此时,可以调用aclrtMemPoolTrimTo接口主动收缩内存池,释放未使用的物理内存,而不影响当前正在使用的物理内存。
函数原型
1 | aclError aclrtMemPoolTrimTo(aclrtMemPool memPool, size_t minBytesToKeep) |
参数说明
参数名 |
输入/输出 |
说明 |
|---|---|---|
memPool |
输入 |
内存池实例。类型定义请参见aclrtMemPool。 |
minBytesToKeep |
输入 |
收缩内存池后,内存池中要保留的物理内存大小,单位Byte。 |
返回值说明
返回0表示成功,返回其他值表示失败,请参见aclError。
父主题: Stream有序内存分配