中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

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