|
产品 |
是否支持 |
|---|---|
|
|
√ |
|
|
√ |
|
|
√ |
|
|
√ |
|
|
x |
|
|
√ |
|
|
x |
从Que中分配Tensor,Tensor所占大小为InitBuffer时设置的每块内存长度。
1 2 |
template <typename T> __aicore__ inline LocalTensor<T> AllocTensor() |
1 2 |
template <typename T> __aicore__ inline void AllocTensor(LocalTensor<T>& tensor) |
|
参数名 |
说明 |
|---|---|
|
T |
Tensor的数据类型。 |
|
参数名称 |
输入/输出 |
含义 |
|---|---|---|
|
tensor |
输入 |
inplace接口需要传入LocalTensor作为内存管理的对象。 |
non-inplace接口返回值为LocalTensor对象,inplace接口没有返回值。
1 2 3 4 5 6 |
AscendC::TPipe pipe; AscendC::TQueBind<AscendC::TPosition::VECOUT, AscendC::TPosition::GM, 2> que; int num = 4; int len = 1024; pipe.InitBuffer(que, num, len); // InitBuffer分配内存块数为4,每块大小为1024Bytes AscendC::LocalTensor<half> tensor1 = que.AllocTensor<half>(); // AllocTensor分配Tensor长度为1024Bytes |
1 2 3 4 5 6 7 |
AscendC::TPipe pipe; AscendC::TQueBind<AscendC::TPosition::VECOUT, AscendC::TPosition::GM, 0> que; int num = 2; int len = 1024; pipe.InitBuffer(que, num, len); // InitBuffer分配内存块数为2,每块大小为1024Bytes AscendC::LocalTensor<half> tensor1; que.AllocTensor<half>(tensor1); // AllocTensor分配Tensor长度为1024Bytes |