查询Que中是否有空闲的内存块。
1 | __aicore__ inline bool HasIdleBuffer() |
无
Atlas 训练系列产品
Atlas推理系列产品AI Core
Atlas推理系列产品Vector Core
Atlas A2训练系列产品/Atlas 800I A2推理产品
Atlas 200I/500 A2推理产品
无
1 2 3 4 5 6 7 8 9 10 11 12 13 | // 当前Que中已经分配了4块内存 AscendC::TPipe pipe; AscendC::TQueBind<AscendC::TPosition::VECOUT, AscendC::TPosition::GM, 4> que; int num = 4; int len = 1024; pipe.InitBuffer(que, num, len); bool ret = que.HasIdleBuffer(); // 没有AllocTensor的操作,返回值为true AscendC::LocalTensor<half> tensor1 = que.AllocTensor<half>(); ret = que.HasIdleBuffer(); // AllocTensor了一块内存,返回值为true AscendC::LocalTensor<half> tensor2 = que.AllocTensor<half>(); AscendC::LocalTensor<half> tensor3 = que.AllocTensor<half>(); AscendC::LocalTensor<half> tensor4 = que.AllocTensor<half>(); ret = que.HasIdleBuffer(); // AllocTensor了四块内存,当前无空闲内存,返回值为false,继续AllocTensor会报错 |