MxbsMalloc
Memset
函数功能
内存设置函数。
函数原型
static APP_ERROR Memset(MemoryData& data, int32_t value, size_t count);
static APP_ERROR Memset(MemoryData& data, int32_t value, size_t count, AscendStream &stream);
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| data | 输入 | 待设置的内存数据。“data.size”取值范围为[1, 4294967296]。 |
| value | 输入 | 设置的值。 |
| count | 输入 | 设置的数据长度。长度不可大于内存实际长度,否则可能会导致出现coredump情况。 |
| stream | 输入 | AscendStream类型,当参数值为“AscendStream::DefaultStream()”时,接口为同步操作,其他情况下,接口为异步操作。 |
返回参数说明
| 数据结构 | 说明 |
|---|---|
| APP_ERROR | 程序执行返回的错误码,请参考APP_ERROR说明。 |
父主题: MemoryHelper
Memcpy
函数功能
内存复制函数,根据MemoryData中指定的内存位置在Host侧和Device侧之间进行复制。
函数原型
static APP_ERROR Memcpy(MemoryData& dest, const MemoryData& src, size_t count);
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| dest | 输入 | 待复制的目标内存。 “dest.ptrData”不能为空指针。 |
| src | 输入 | 待复制的源内存。 “src.ptrData”不能为空指针。 |
| count | 输入 | 复制的数据长度。长度的设置应参考目标内存及源内存长度,错误的设置可能会导致出现coredump情况。 |
返回参数说明
| 数据结构 | 说明 |
|---|---|
| APP_ERROR | 程序执行返回的错误码,请参考APP_ERROR说明。 |
父主题: MemoryHelper
MxbsMalloc
函数功能
内存分配函数,通过给MemoryData结构体type赋值,确定内存是Host、Device或者DVPP。通过MemoryData中size,指定内存大小。通过MemoryData中deviceId,指定Device内存ID。需要销毁申请的内存时,用户自行搭配MxbsFree函数进行销毁。
:::note 说明 由于Malloc和系统函数重名,建议优先使用MxbsMalloc函数。 :::
函数原型
static APP_ERROR MxbsMalloc(MemoryData& data);
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| data | 输入 | 待分配的内存数据。其输入是内存的类型和大小,分别赋值到data.type , data.size,输出是分配的内存指针,赋值到data.ptrData。 “data.size”取值范围为[1, 4294967296]。 |
返回参数说明
| 数据结构 | 说明 |
|---|---|
| APP_ERROR | 程序执行返回的错误码,请参考APP_ERROR说明。 |
父主题: MemoryHelper
MxbsFree
备注
须知
当采用该API进行内存销毁时,需要确保待销毁的内存未被手动执行free等销毁函数,否则可能出现double free的情况。
函数功能
释放指定内存。
:::note 说明 由于Free和系统函数重名,建议优先使用MxbsFree函数。 :::
函数原型
static APP_ERROR MxbsFree(MemoryData& data);
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| data | 输入 | 待释放的内存数据。 |
返回参数说明
| 数据结构 | 说明 |
|---|---|
| APP_ERROR | 程序执行返回的错误码,请参考APP_ERROR说明。 |
父主题: MemoryHelper
MxbsMemset
函数功能
内存设置函数。
:::note 说明 由于Memset和系统函数重名,建议优先使用MxbsMemset函数。 :::
函数原型
static APP_ERROR MxbsMemset(MemoryData& data, int32_t value, size_t count);
static APP_ERROR MxbsMemset(MemoryData& data, int32_t value, size_t count, AscendStream &stream);
参数说明
| 参数名 | 输入/输出 | 说明 |
|---|---|---|
| data | 输入 | 待设置的内存数据。“data.size”取值范围为[1, 4294967296]。 |
| value | 输入 | 设置的值。 |
| count | 输入 | 设置的数据长度。长度不可大于内存实际长度,否则可能会导致出现coredump情况。 |
| stream | 输入 | AscendStream类型,当参数值为“AscendStream::DefaultStream()”时,接口为同步操作,其他情况下,接口为异步操作。 |
返回参数说明
| 数据结构 | 说明 |
|---|---|
| APP_ERROR | 程序执行返回的错误码,请参考APP_ERROR说明。 |
父主题: MemoryHelper
在线提单