Demo:获取SoC名称

代码示例

#include "acl/acl.h"
#include <iostream>

int32_t deviceId = 0;

void InitResource()
{
    aclError ret = aclInit(nullptr);
    if (ret != ACL_SUCCESS) {
        std::cerr << "aclInit failed, ret = " << ret << std::endl;
        exit(1);
    }
    ret = aclrtSetDevice(deviceId);
    if (ret != ACL_SUCCESS) {
        std::cerr << "aclrtSetDevice failed, ret = " << ret << std::endl;
        exit(1);
    }
}
void DestroyResource()
{
    aclError ret = aclrtResetDevice(deviceId);
    aclFinalize();
}

int main()
{
    InitResource();
     std::cout << "ACL resources initialized successfully." << std::endl;

    const char* socName = aclrtGetSocName();
    if (socName != nullptr) {
        std::cout << "SoC Name: " << socName << std::endl;
    } else {
        std::cout << "Failed to get SoC name (returned nullptr)." << std::endl;
    }

    DestroyResource();
     std::cout << "ACL resources released successfully." << std::endl;
    return 0;
}

编译

g++ get_soc_name.cpp -o get_soc_name -I /usr/local/Ascend/ascend-toolkit/latest/aarch64-linux/include -L /usr/local/Ascend/ascend-toolkit/latest/aarch64-linux/lib64 -lascendcl

运行示例

./get_soc_name