---
title: SetSimtGridDim
description: "设置SIMT线程格的维度，即参与计算的Vector运算单元的线程格内部的线程块数量，用Dim3结构体表示。Dim3是包含了x、y、z三个uint32的字段的结构体，表示一个Grid线程格在x、y、z三个维度上的线程块数量。"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/maintenref/basicdataapi/atlasopapi_07_00803.html
sourcePath: /source/zh/canncommercial/900/maintenref/basicdataapi/atlasopapi_07_00803.html
indexId: 461a1ddbe7397c08212a11d39ad9f3934e1bee3b2a94c85279be858aada1e97978
---
# SetSimtGridDim

#### 函数功能

设置SIMT线程格的维度，即参与计算的Vector运算单元的线程格内部的线程块数量，用Dim3结构体表示。Dim3是包含了x、y、z三个uint32的字段的结构体，表示一个Grid线程格在x、y、z三个维度上的线程块数量。

例如：block_dim.x、block_dim.y、block_dim.z分别表示线程格在x、y、z三个维度上的线程块数量。


#### 函数原型

```
ge::graphStatus SetSimtGridDim(const Dim3 &grid_dim)
```


#### 参数说明

| 参数 | 输入/输出 | 说明 |
| --- | --- | --- |
| grid\_dim | 输入 | 线程格的维度；Dim3是包含了x、y、z三个uint32的字段的结构体，表示一个Grid线程格在x、y、z三个维度上的线程块数量。 |


Dim3结构体定义如下：

```
struct Dim3 {
uint32_t x, y, z;
Dim3(const uint32_t dim3_x, const uint32_t dim3_y = 1, const uint32_t dim3_z = 1) : x(dim3_x), y(dim3_y), z(dim3_z) {
}
};
```

说明：Dim3是包含了x、y、z三个uint32字段的结构体。在SIMT中，可以表示一个Block线程块在x、y、z三个维度上的线程数量；也可以表示一个Grid线程格在x、y、z三个维度上的线程块数量。


#### 返回值说明

设置成功时返回“ge::GRAPH_SUCCESS”。

关于graphStatus的定义，请参见ge::graphStatus。


#### 约束说明

无


#### 调用示例

```
gert::Dim3 grid_dim(2, 3);
ge::graphStatus Tiling4XXX(TilingContext* context) {
  auto ret = context->SetSimtGridDim(grid_dim);
  // ...
}
```
