---
title: FFTThread
description: "- 设置多线程数上限："
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/251RC1/accel/kunpengaccel_hmpp_06_0282.html
sourcePath: /source/zh/kunpengboostkithistory/251RC1/accel/kunpengaccel_hmpp_06_0282.html
indexId: 71cb4ca2cd53e58f9717fd1335276d63c99ad36440ff87d0c42254ced8b7776e77
---
# FFTThread

- 设置多线程数上限：
  HmppResult HMPPS_SetFFTNumberThreads(int32_t fftNumberThreads);


- 获取当前的线程数：
  HmppResult HMPPS_GetFFTNumberThreads(int32_t* fftNumberThreads);


#### 参数

| 参数名 | 描述 | 取值范围 | 输入/输出 |
| --- | --- | --- | --- |
| fftNumberThreads | 要限定的线程数上限（SetFFTNumberThreads）。 | 大于0 | 输入 |
| fftNumberThreads | 目标地址，指向内存存放当前线程数（GetFFTNumberThreads）。 | 非空 | 输出 |


#### 返回值

- 成功：返回HMPP_STS_NO_ERR。
- 失败：返回错误码。


#### 错误码

| 错误码 | 描述 |
| --- | --- |
| HMPP\_STS\_NULL\_PTR\_ERR | 传入指针是空指针。 |
| HMPP\_STS\_BAD\_ARG\_ERR | 入参fftNumberThreads不合法。 |


#### 示例

```
#define NUMBER_THREAD_FFT 4
void FFT_Thread_Example()
{
int curNum = 0;
HMPP_GetNumberThreads(&curNum);
printf("curNum = %d\n", curNum);
HMPP_SetFFTNumberThreads(NUMBER_THREAD_FFT);
int num = 0;
HMPP_GetNumberThreads(&num);
printf("num = %d\n", num);
}
```

运行结果：
```
curNum = 8
num = 4
```

- HMPP默认设置FFT多线程数为8，可通过本节提供的HMPP_SetFFTNumberThreads函数设置本次任务执行时使用的FFT线程数，非永久有效。
- 同时可通过环境变量HMPP_FFT_THREAD_NUM设置FFT线程数。
