---
title: 开启单入单出功能
description: "kvCacheCfg=K_CACHE_V_BYPASS，compressType=COMPRESS_TYPE_UNDEFINED"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendtb/ascendtb_01_0241.html
sourcePath: /source/zh/canncommercial/900/API/ascendtb/ascendtb_01_0241.html
indexId: 621216655c2dc5d532f37d715c44ebaa6015388ecae8bde9c8e0c9e89119535a64
---
# 开启单入单出功能

kvCacheCfg=K_CACHE_V_BYPASS，compressType=COMPRESS_TYPE_UNDEFINED

#### 输入

| 参数 | 维度 | 数据类型 | 格式 | 描述 |
| --- | --- | --- | --- | --- |
| key | [num\_tokens, num\_head, k\_head\_size] | float16/bf16 | ND | 当前step多个token的key。 |
| keyCache | [num\_blocks, block\_size, num\_head, k\_head\_size] | float16/bf16 | ND | 所有的key cache。 |
| slotMapping | [num\_tokens] | int32 | ND | 每个token key或value在cache中的存储偏移，即（block\_id \* block\_size + offset\_in\_block） 取值范围为[0, num\_blocks \* kv\_heads \* block\_size)，且不能存在重复值。即意味着num\_tokens <= num\_blocks\*block\_size。 |
| kStrides | [3] | int64 | ND | k tensor 步幅。kStrides最后一个元素等于1。默认NULL，跳转到k tensor的下一个元素的各个维度的步幅。维度数与输入tensor相同。 |
| kOffset | [1] | int64 | ND | 默认0，k tensor相对于内存首地址的偏移。 |


#### 输出

| 参数 | 维度 | 数据类型 | 格式 | 描述 |
| --- | --- | --- | --- | --- |
| keyCacheOut | [num\_blocks, block\_size, k\_num\_head, k\_head\_size] | float16/bf16 | ND | 所有的key cache。与输入keyCache为同一地址。 |
