---
title: CpuFeature
description: "- 设置HMPP支持的指令集："
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/240RC2/accel/kunpengaccel_hmpp_06_0039.html
sourcePath: /source/zh/kunpengboostkithistory/240RC2/accel/kunpengaccel_hmpp_06_0039.html
indexId: efa51e286066e2f41f0a49261f7f5818cd9543606e86639b6b42a24d7abfa62a77
---
# CpuFeature

- 设置HMPP支持的指令集：
  HmppResult HMPP_SetCpuFeatures (uint64_t cpuFeatures);


- 获取CPU支持的指令集：
  HmppResult HMPP_GetCpuFeatures (uint64_t* cpuFeatures);


- 获取HMPP当前支持的指令集：
  uint64_t HMPP_GetEnabledCpuFeatures()


#### 参数

| 参数名 | 描述 | 取值范围 | 输入/输出 |
| --- | --- | --- | --- |
| cpuFeatures | 要设置的HMPP库支持的指令集（SetCpuFeatures）。 | hmpp\_core.h头文件中提供的几种后缀为\_FM的宏。 | 输入 |
| cpuFeatures | 目标地址，指向地址存放CPU支持指令集标记数（GetCpuFeatures）。 | 非空。 | 输出 |


#### 返回值

HMPP_SetCpuFeatures

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

HMPP_GetCpuFeatures

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

HMPP_GetEnabledCpuFeatures

- 返回当前HMPP库支持指令集标记数。


#### 错误码

| 错误码 | 描述 |
| --- | --- |
| HMPP\_STS\_NULL\_PTR\_ERR | cpuFeatures指针为空指针。 |
| HMPP\_STS\_UNKNOWN\_FEATURE | 要设置的指令集不在支持的几种指令集中。 |


#### 注意

目前只支持NEON_FM（在hmppcore.h中定义）一种模式。


#### 示例

```
void  CpuFeature()
{
uint64_t cpuFeatures;
HmppResult result = HMPP_GetCpuFeatures(&cpuFeatures);
printf("%s\n", HMPP_GetStatusString(result));
printf("cpuFeatures = %016x\n", cpuFeatures);
result = HMPP_SetCpuFeatures(NEON_FM);
printf("%s\n", HMPP_GetStatusString(result));
printf("enabledCpuFeatures = %016x\n", HMPP_GetEnabledCpuFeatures());
}
```

运行结果：

```
No Error
cpuFeatures = 0000000000000001
No Error
enabledCpuFeatures = 0000000000000001
```
