aclrtAllocatorGetByStream
产品支持情况
| 产品 | 是否支持 |
|---|---|
| Atlas A3 训练系列产品/Atlas A3 推理系列产品 | √ |
| Atlas A2 训练系列产品/Atlas A2 推理系列产品 | √ |
功能说明
根据Stream查询用户注册的Allocator信息。
函数原型
aclError aclrtAllocatorGetByStream(aclrtStream stream, aclrtAllocatorDesc *allocatorDesc, aclrtAllocator *allocator, aclrtAllocatorAllocFunc *allocFunc, aclrtAllocatorFreeFunc *freeFunc, aclrtAllocatorAllocAdviseFunc *allocAdviseFunc, aclrtAllocatorGetAddrFromBlockFunc *getAddrFromBlockFunc)
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| stream | 输入 | 注册的类型,按照不同的子模块区分。 |
| allocatorDesc | 输出 | Allocator描述符指针。 |
| allocator | 输出 | 用户提供的Allocator对象指针。 |
| allocFunc | 输出 | 申请内存block的回调函数。 回调函数定义如下: typedef void *(*aclrtAllocatorAllocFunc)(aclrtAllocator allocator, size_t size); |
| freeFunc | 输出 | 释放内存block的回调函数。 回调函数定义如下: typedef void (*aclrtAllocatorFreeFunc)(aclrtAllocator allocator, aclrtAllocatorBlock block); |
| allocAdviseFunc | 输出 | 根据建议地址申请内存block的回调函数。 回调函数定义如下: typedef void *(*aclrtAllocatorAllocAdviseFunc)(aclrtAllocator allocator, size_t size, aclrtAllocatorAddr addr); |
| getAddrFromBlockFunc | 输出 | 根据申请来的block获取device内存地址的回调函数。 回调函数定义如下: typedef void *(*aclrtAllocatorGetAddrFromBlockFunc)(aclrtAllocatorBlock block); |
返回值说明
返回0表示成功,返回其他值表示失败,请参见aclError。