NVAPI 获取同步卡信息

#include "nvapi/nvapi.h"
int detectSync()
{
 // 初始化NVAPI
    if (NvAPI_Initialize() != NVAPI_OK) {
        std::cerr << "Failed to initialize NVAPI." << std::endl;
        return -1;
    }
    // 枚举所有物理GPU
    NvPhysicalGpuHandle gpuHandles[NVAPI_MAX_PHYSICAL_GPUS] = { 0 };
    NvU32 gpuCount = 0;
    if (NvAPI_EnumPhysicalGPUs(gpuHandles, &gpuCount) != NVAPI_OK) {
        std::cerr << "Failed to enumerate physical GPUs." << std::endl;
        NvAPI_Unload();
        return -1;
    }
     // 获取 NVAPI 版本号
    NvAPI_ShortString versionString;
    NvAPI_Status  status = NvAPI_GetInterfaceVersionString(versionString);
    if (status == NVAPI_OK) {
        std::cout << "NVAPI Version: " << versionString << std::endl;
    }
    else {
        NvAPI_ShortString errorMessage;
        NvAPI_GetErrorMessage(status, errorMessage);
        std::cerr << "Failed to get NVAPI version: " << errorMessage << std::endl;
    }
    NvGSyncDeviceHandle handle[4];
    NvU32 count;
    NvAPI_GSync_EnumSyncDevices(handle, &count);
   
    NV_GSYNC_STATUS gsync_status;
    gsync_status.version = MAKE_NVAPI_VERSION(NV_GSYNC_STATUS, 1);

    status = NvAPI_GSync_GetSyncStatus(handle[0], gpuHandles[0],&gsync_status);


    // 卸载NVAPI
    NvAPI_Unload();
}

你可能感兴趣的:(NVAPI)