Beispiel #1
0
def vtDcgmIntrospectGetFieldsExecTime(dcgm_handle,
                                      introspectContext,
                                      versionTest,
                                      waitIfNoData=True):
    fn = dcgmFP("dcgmIntrospectGetFieldsExecTime")

    execTime = dcgm_structs.c_dcgmIntrospectFieldsExecTime_v1()
    execTime.version = dcgm_structs.make_dcgm_version(execTime, 1)
    logger.debug("Structure version: %d" % execTime.version)

    fullExecTime = dcgm_structs.c_dcgmIntrospectFullFieldsExecTime_v2()
    fullExecTime.version = dcgm_structs.make_dcgm_version(fullExecTime, 2)
    logger.debug("Structure version: %d" % fullExecTime.version)

    fullExecTime.version = versionTest
    execTime.version = versionTest

    introspectContext = dcgm_structs.c_dcgmIntrospectContext_v1()
    introspectContext.version = dcgm_structs.make_dcgm_version(
        introspectContext, 1)
    logger.debug("Structure version: %d" % introspectContext.version)

    introspectContext.version = versionTest

    ret = fn(dcgm_handle, byref(introspectContext), byref(execTime),
             waitIfNoData)
    dcgm_structs._dcgmCheckReturn(ret)
    return execTime
Beispiel #2
0
def vtDcgmConnect_v2(ip_address, connectParams, versionTest):
    connectParams = dcgm_structs.c_dcgmConnectV2Params_v1()
    connectParams.version = dcgm_structs.make_dcgm_version(connectParams, 1)
    logger.debug("Structure version: %d" % connectParams.version)
    connectParams.version = versionTest
    dcgm_handle = c_void_p()
    fn = dcgmFP("dcgmConnect_v2")
    ret = fn(ip_address, byref(connectParams), byref(dcgm_handle))
    dcgm_structs._dcgmCheckReturn(ret)
    return dcgm_handle
Beispiel #3
0
def vtDcgmGroupGetInfo(dcgm_handle, group_id, versionTest):
    fn = dcgmFP("dcgmGroupGetInfo")
    device_values = dcgm_structs.c_dcgmGroupInfo_v2()
    device_values.version = dcgm_structs.make_dcgm_version(device_values, 2)
    logger.debug("Structure version: %d" % device_values.version)

    device_values.version = versionTest
    ret = fn(dcgm_handle, group_id, byref(device_values))
    dcgm_structs._dcgmCheckReturn(ret)
    return device_values
Beispiel #4
0
def vtDcgmConfigSet(dcgm_handle, group_id, configToSet, status_handle,
                    versionTest):
    fn = dcgmFP("dcgmConfigSet")
    config_values = dcgm_structs.c_dcgmDeviceConfig_v1()
    config_values.version = dcgm_structs.make_dcgm_version(config_values, 1)
    logger.debug("Structure version: %d" % config_values.version)
    configToSet.version = versionTest
    ret = fn(dcgm_handle, group_id, byref(configToSet), status_handle)
    dcgm_structs._dcgmCheckReturn(ret)
    return ret
Beispiel #5
0
def vtDcgmHealthCheck(dcgm_handle, groupId, versionTest):
    c_results = dcgm_structs.c_dcgmHealthResponse_v4()
    c_results.version = dcgm_structs.make_dcgm_version(c_results, 4)
    logger.debug("Structure version: %d" % c_results.version)

    c_results.version = versionTest
    fn = dcgmFP("dcgmHealthCheck")
    ret = fn(dcgm_handle, groupId, byref(c_results))
    dcgm_structs._dcgmCheckReturn(ret)
    return c_results
Beispiel #6
0
def vtDcgmFieldGroupGetAll(dcgm_handle, versionTest):
    c_allGroupInfo = dcgm_structs.c_dcgmAllFieldGroup_v1()
    c_allGroupInfo.version = dcgm_structs.make_dcgm_version(c_allGroupInfo, 1)
    logger.debug("Structure version: %d" % c_allGroupInfo.version)

    c_allGroupInfo.version = versionTest
    fn = dcgmFP("dcgmFieldGroupGetAll")
    ret = fn(dcgm_handle, byref(c_allGroupInfo))
    dcgm_structs._dcgmCheckReturn(ret)
    return c_allGroupInfo
Beispiel #7
0
def vtDcgmGetDeviceAttributes(dcgm_handle, gpuId, versionTest):
    fn = dcgmFP("dcgmGetDeviceAttributes")
    device_values = dcgm_structs.c_dcgmDeviceAttributes_v1()
    device_values.version = dcgm_structs.make_dcgm_version(device_values, 1)
    logger.debug("Structure version: %d" % device_values.version)

    device_values.version = versionTest
    ret = fn(dcgm_handle, c_int(gpuId), byref(device_values))
    dcgm_structs._dcgmCheckReturn(ret)
    return device_values
Beispiel #8
0
def vtDcgmPolicyGet(dcgm_handle, group_id, count, status_handle, versionTest):
    fn = dcgmFP("dcgmPolicyGet")
    policy_array = count * dcgm_structs.c_dcgmPolicy_v1

    c_policy_values = policy_array()

    policy = dcgm_structs.c_dcgmPolicy_v1()
    policy.version = dcgm_structs.make_dcgm_version(policy, 1)
    logger.debug("Structure version: %d" % policy.version)

    policyCallback = dcgm_structs.c_dcgmPolicyCallbackResponse_v1()
    policyCallback.version = dcgm_structs.make_dcgm_version(policyCallback, 1)
    logger.debug("Structure version: %d" % policyCallback.version)

    for index in range(0, count):
        c_policy_values[index].version = versionTest

    ret = fn(dcgm_handle, group_id, count, c_policy_values, status_handle)
    dcgm_structs._dcgmCheckReturn(ret)
    return c_policy_values[0:count]
Beispiel #9
0
def vtDcgmJobGetStats(dcgm_handle, jobid, versionTest):
    fn = dcgmFP("dcgmJobGetStats")
    jobInfo = dcgm_structs.c_dcgmJobInfo_v3()
    jobInfo.version = dcgm_structs.make_dcgm_version(jobInfo, 3)
    logger.debug("Structure version: %d" % jobInfo.version)

    jobInfo.version = versionTest

    ret = fn(dcgm_handle, jobid, byref(jobInfo))
    dcgm_structs._dcgmCheckReturn(ret)
    return jobInfo
Beispiel #10
0
def vtDcgmFieldGroupGetInfo(dcgm_handle, fieldGroupId, versionTest):

    c_fieldGroupInfo = dcgm_structs.c_dcgmFieldGroupInfo_v1()
    c_fieldGroupInfo.version = dcgm_structs.make_dcgm_version(
        c_fieldGroupInfo, 1)
    logger.debug("Structure version: %d" % c_fieldGroupInfo.version)

    c_fieldGroupInfo.version = versionTest
    c_fieldGroupInfo.fieldGroupId = fieldGroupId
    fn = dcgmFP("dcgmFieldGroupGetInfo")
    ret = fn(dcgm_handle, byref(c_fieldGroupInfo))
    dcgm_structs._dcgmCheckReturn(ret)
    return c_fieldGroupInfo
Beispiel #11
0
def vtDcgmGetPidInfo(dcgm_handle, groupId, pid, versionTest):
    fn = dcgmFP("dcgmGetPidInfo")
    pidInfo = dcgm_structs.c_dcgmPidInfo_v2()
    pidInfo.version = dcgm_structs.make_dcgm_version(
        dcgm_structs.c_dcgmPidInfo_v2, 2)
    logger.debug("Structure version: %d" % pidInfo.version)

    pidInfo.version = versionTest
    pidInfo.pid = pid

    ret = fn(dcgm_handle, groupId, byref(pidInfo))
    dcgm_structs._dcgmCheckReturn(ret)
    return pidInfo
Beispiel #12
0
def vtDcgmIntrospectGetHostengineCpuUtilization(dcgm_handle,
                                                versionTest,
                                                waitIfNoData=True):
    fn = dcgmFP("dcgmIntrospectGetHostengineCpuUtilization")

    cpuUtil = dcgm_structs.c_dcgmIntrospectCpuUtil_v1()
    cpuUtil.version = dcgm_structs.make_dcgm_version(cpuUtil, 1)
    logger.debug("Structure version: %d" % cpuUtil.version)

    cpuUtil.version = versionTest

    ret = fn(dcgm_handle, byref(cpuUtil), waitIfNoData)
    dcgm_structs._dcgmCheckReturn(ret)
    return cpuUtil
Beispiel #13
0
def vtDcgmIntrospectGetHostengineMemoryUsage(dcgm_handle,
                                             versionTest,
                                             waitIfNoData=True):
    fn = dcgmFP("dcgmIntrospectGetHostengineMemoryUsage")

    memInfo = dcgm_structs.c_dcgmIntrospectMemory_v1()
    memInfo.version = dcgm_structs.make_dcgm_version(memInfo, 1)
    logger.debug("Structure version: %d" % memInfo.version)

    memInfo.version = versionTest

    ret = fn(dcgm_handle, byref(memInfo), waitIfNoData)
    dcgm_structs._dcgmCheckReturn(ret)
    return memInfo
Beispiel #14
0
def vtDcgmActionValidate_v2(dcgm_handle, runDiagInfo, versionTest):
    response = dcgm_structs.c_dcgmDiagResponse_v6()
    response.version = dcgm_structs.make_dcgm_version(response, 6)
    logger.debug("Structure version: %d" % response.version)

    runDiagInfo = dcgm_structs.c_dcgmRunDiag_v7()
    runDiagInfo.version = dcgm_structs.dcgmRunDiag_version7
    logger.debug("Structure version: %d" % runDiagInfo.version)

    runDiagInfo.version = versionTest
    response.version = versionTest
    fn = dcgmFP("dcgmActionValidate_v2")
    ret = fn(dcgm_handle, byref(runDiagInfo), byref(response))
    dcgm_structs._dcgmCheckReturn(ret)
    return response
Beispiel #15
0
def vtDcgmVgpuConfigGet(dcgm_handle, group_id, reqCfgType, count,
                        status_handle, versionTest):
    fn = dcgm_structs._dcgmGetFunctionPointer("dcgmVgpuConfigSet")

    vgpu_config_values_array = count * dcgm_structs.c_dcgmDeviceVgpuConfig_v1
    c_config_values = vgpu_config_values_array()

    vgpuConfig = dcgm_structs.c_dcgmDeviceVgpuConfig_v1()
    vgpuConfig.version = dcgm_structs.make_dcgm_version(vgpuConfig, 1)
    logger.debug("Structure version: %d" % vgpuConfig.version)

    for index in range(0, count):
        c_config_values[index].version = versionTest

    ret = fn(dcgm_handle, group_id, c_config_values, status_handle)
    dcgm_structs._dcgmCheckReturn(ret)
    return map(None, c_config_values[0:count])
Beispiel #16
0
def vtDcgmIntrospectGetFieldsMemoryUsage(dcgm_handle,
                                         introspectContext,
                                         versionTest,
                                         waitIfNoData=True):
    fn = dcgmFP("dcgmIntrospectGetFieldsMemoryUsage")

    memInfo = dcgm_structs.c_dcgmIntrospectFullMemory_v1()
    memInfo.version = dcgm_structs.make_dcgm_version(memInfo, 1)
    logger.debug("Structure version: %d" % memInfo.version)

    memInfo.version = versionTest

    introspectContext = dcgm_structs.c_dcgmIntrospectContext_v1()
    introspectContext.version = versionTest

    ret = fn(dcgm_handle, byref(introspectContext), byref(memInfo),
             waitIfNoData)
    dcgm_structs._dcgmCheckReturn(ret)
    return memInfo
Beispiel #17
0
        # version must always be first
        ('version', c_uint),
        ('a', c_uint)
    ]


class c_dcgmVersionTest_v2(dcgm_structs._PrintableStructure):
    _fields_ = [
        # version must always be first
        ('version', c_uint),
        ('a', c_uint),
        ('b', c_uint)
    ]


dcgmVersionTest_version1 = dcgm_structs.make_dcgm_version(
    c_dcgmVersionTest_v1, 1)
dcgmVersionTest_version2 = dcgm_structs.make_dcgm_version(
    c_dcgmVersionTest_v2, 2)
dcgmVersionTest_version3 = dcgm_structs.make_dcgm_version(
    c_dcgmVersionTest_v2, 3)

# Represents a command to save or load a JSON file to/from the DcgmCacheManager
_dcgmStatsFileType_t = c_uint
DCGM_STATS_FILE_TYPE_JSON = 0


class c_dcgmCacheManagerSave_v1(dcgm_structs._PrintableStructure):
    _fields_ = [
        # version must always be first
        ('version', c_uint),
        ('fileType', _dcgmStatsFileType_t),