KVCacheOperation
功能
KVCache处理。当前仅支持
定义
struct KVCacheParam {};
输入
参数 |
维度 |
数据类型 |
格式 |
描述 |
---|---|---|---|---|
new_kv |
[ntokens, hiddenSize] |
float16/int8 |
ND/NZ |
待被cache的key或value。 |
layerId |
[1] |
int32 |
ND |
指定cache的位置。 |
past |
[layer, batch, maxSeqLen, hiddenSize] |
float16/int8 |
ND/NZ |
已经被cache的历史key或value。 |
tokenOffset |
[batch] |
int32 |
ND |
每batch上token的偏移。 |
seqlen |
[batch] |
int32 |
ND |
每batch上的序列长度。 |
输出
参数 |
维度 |
数据类型 |
格式 |
描述 |
---|---|---|---|---|
present |
[layer, batch, maxSeqLen, hiddenSize] |
float16/int8 |
ND |
cache后的key或value,作为输出。 输出present与输入past指向同一地址,即进行原地修改。 |