---
title: kv tensorlist格式输入
description: "支持以tensorlist，即二级指针结构的形式而非整个tensor作为cacheK与cacheV的输入。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendtb/ascendtb_01_0280.html
sourcePath: /source/zh/canncommercial/900/API/ascendtb/ascendtb_01_0280.html
indexId: 5e6dae2ead45acae42f8f3b9484fca86da7ab48794500112fd57f62293ca4dec64
---
# kv tensorlist格式输入

#### 功能说明

支持以tensorlist，即二级指针结构的形式而非整个tensor作为cacheK与cacheV的输入。


#### 开启方式

如何构造该场景中的variantPack:

atb Tensor定义：

```
struct Tensor {
    //! \brief Tensor描述信息
    TensorDesc desc;
    //! \brief TensorNPU内存地址。
    void *deviceData = nullptr;
    //! \brief TensorCPU内存地址。
    void *hostData = nullptr;
    //! \brief “deviceData”或“hostData”指向内容的内存大小。
    uint64_t dataSize = 0;
};
```

variantPack中的输入tensors，在需要使能tensor list时，将对应tensor的deviceData置为nullptr，将hostData指向构造的tensorList即可。


#### 约束说明

此功能只在开启kv-bypass功能（即参数“kvcacheCfg”置为K_BYPASS_V_BYPASS），且“calcType”为DECODER时生效。
