产品 |
是否支持 |
|---|---|
√ |
|
√ |
|
√ |
|
☓ |
|
☓ |
|
☓ |
实现批量内存复制。
本接口中的Host内存支持锁页内存(例如通过aclrtMallocHost接口申请的内存)、非锁页内存(通过malloc接口申请的内存)。
1 | aclError aclrtMemcpyBatch(void **dsts, size_t *destMaxs, void **srcs, size_t *sizes, size_t numBatches, aclrtMemcpyBatchAttr *attrs, size_t *attrsIndexes, size_t numAttrs, size_t *failIndex) |
参数名 |
输入/输出 |
说明 |
|---|---|---|
dsts |
输入 |
目的内存地址数组。 |
destMaxs |
输入 |
内存复制最大长度数组,用于存放每一段要复制的内存的最大长度,单位Byte。 |
srcs |
输入 |
源内存地址数组。 |
sizes |
输入 |
内存复制长度数组,用于存放每一段要复制的内存大小,单位Byte。 |
numBatches |
输入 |
dsts、srcs和sizes数组的长度。 |
attrs |
输入 |
内存复制属性数组。类型定义请参见aclrtMemcpyBatchAttr。 |
attrsIndexes |
输入 |
内存复制属性索引数组,用于指定attrs数组中每个条目适用的复制范围。attrs[k]中指定的属性将应用于从attrsIndexes[k]到attrsIndexes[k+1] - 1的复制操作,同时attrs[numAttrs-1]将应用于从attrsIndexes[numAttrs-1]到numBatches - 1的复制操作。 |
numAttrs |
输入 |
attrs和attrsIndexes数组的长度。 |
failIndex |
输出 |
用于发生错误时指示出错的复制项下标(仅支持对内存属性和复制方向的校验)。若错误不涉及特定复制操作,该值将为SIZE_MAX。 |
返回0表示成功,返回其他值表示失败,请参见aclError。