---
title: BNSD维度输入
description: "针对X1场景，使PA Op支持BNSD数据排布（原有的数据排布格式为BSND）。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/ascendtb/ascendtb_01_0211.html
sourcePath: /source/zh/canncommercial/900/API/ascendtb/ascendtb_01_0211.html
indexId: a9c7d1a89b7dbac9b0bac6a20c232fd07a995d733890218432ae9568149d36ed64
---
# BNSD维度输入

#### 功能说明

针对X1场景，使PA Op支持BNSD数据排布（原有的数据排布格式为BSND）。


#### 开启方式

将参数“inputLayout”置为infer::inputLayout::TYPE_BNSD时开启BNSD功能。该参数默认值为infer::inputLayout::TYPE_BSND，表示默认数据排布格式为BSND。

若干tensor的规格发生了改变，改变的tensor如下表所示：

| 参数 | 维度 | 数据类型 | 格式 | cpu or npu |
| --- | --- | --- | --- | --- |
| q | [num\_tokens, num\_head, head\_dim] | float16/bf16 | ND | npu |
| kCache | [num\_blocks, kv\_head\_num, block\_size, head\_size] | float16/bf16 | ND | npu |
| vCache | [num\_blocks, kv\_head\_num, block\_size, head\_size] | float16/bf16 | ND | npu |
| out | [num\_tokens, num\_head, head\_dim] | float16/bf16 | ND | npu |


num_tokens = batch * qseqlen，当前qseqlen = 1。

其余tensor未发生改变。


#### 约束说明

无
