跳到主要内容

MTML 2.3 API 参考

API 概览​

MTML 2.3 C API 可用于发现、监控和管理摩尔线程 GPU 设备。本文档介绍 API 函数、参数、返回值、数据类型、数据结构、字段、兼容性宏和已弃用 API。

基本调用流程​

  1. 使用 mtmlLibraryInit 初始化库。
  2. 发现设备并获取设备句柄。
  3. 查询所需的系统、设备、字段值或 MtLink 信息。
  4. 必要时,使用 mtmlErrorString 将返回的错误转换为可读文本。
  5. 使用 mtmlLibraryShutDown 释放库资源。

您可以按 API 模块查找接口,也可以通过数据类型、数据结构、字段、兼容性宏和已弃用 API 索引定位具体条目。

查找 API​


API 模块​


常量定义​

  • 该组引入了常量定义。

枚举​

MtmlReturn​

说明

  • MTML API 调用的返回值。

枚举值

值初始值说明
MTML_SUCCESS= 0操作成功。
MTML_ERROR_DRIVER_NOT_LOADED= 1Moore Threads 驱动程序未加载。
MTML_ERROR_DRIVER_FAILURE= 2访问驱动程序失败。
MTML_ERROR_INVALID_ARGUMENT= 3提供的一个或多个参数无效。
MTML_ERROR_NOT_SUPPORTED= 4请求的操作在目标设备上不可用。
MTML_ERROR_NO_PERMISSION= 5当前用户没有操作权限。
MTML_ERROR_INSUFFICIENT_SIZE= 6用户分配的空间不足以容纳所请求的数据。
MTML_ERROR_NOT_FOUND= 7查找资源的查询失败。
MTML_ERROR_INSUFFICIENT_MEMORY= 8系统内存不足,无法完成操作。
MTML_ERROR_DRIVER_TOO_OLD= 9由于安装的驱动程序太旧,操作失败。
MTML_ERROR_DRIVER_TOO_NEW= 10由于安装的驱动程序太新,导致操作失败。
MTML_ERROR_TIMEOUT= 11用户提供的超时已过。
MTML_ERROR_RESOURCE_IS_BUSY= 12当前启动无效并被忽略。
MTML_ERROR_INVALID_STATE= 13资源未处于执行所请求操作的正确状态。
MTML_ERROR_UNKNOWN= 999发生内部未指定错误。
MtmlBrandType​

说明

  • 设备的品牌。

枚举值

值初始值说明
MTML_BRAND_MTT= 0MTT系列。
MTML_BRAND_UNKNOWN= 1未知品牌。
MTML_BRAND_COUNT= 2品牌数量。
MtmlMemoryType​

说明

  • 内存类型。

枚举值

值初始值说明
MTML_MEM_TYPE_LPDDR4= 0
MTML_MEM_TYPE_GDDR6= 1
MtmlCodecType​

说明

  • 视频编解码器类型。

枚举值

值初始值说明
MTML_CODEC_TYPE_AVC= 0
MTML_CODEC_TYPE_VC1= 1
MTML_CODEC_TYPE_MPEG2= 2
MTML_CODEC_TYPE_MPEG4= 3
MTML_CODEC_TYPE_H263= 4
MTML_CODEC_TYPE_DIV3= 5
MTML_CODEC_TYPE_RV= 6
MTML_CODEC_TYPE_AVS= 7
MTML_CODEC_TYPE_RSVD1= 8无效值。
MTML_CODEC_TYPE_THO= 9
MTML_CODEC_TYPE_VP3= 10
MTML_CODEC_TYPE_VP8= 11
MTML_CODEC_TYPE_HEVC= 12
MTML_CODEC_TYPE_VP9= 13
MTML_CODEC_TYPE_AVS2= 14
MTML_CODEC_TYPE_RSVD2= 15无效值。
MTML_CODEC_TYPE_AV1= 16
MTML_CODEC_TYPE_COUNT= 17
MtmlCodecSessionState​

说明

  • 视频编解码器会话状态。

枚举值

值初始值说明
MTML_CODEC_SESSION_STATE_UNKNOWN= -1
MTML_CODEC_SESSION_STATE_IDLE= 0
MTML_CODEC_SESSION_STATE_ACTIVE= 1
MTML_CODEC_SESSION_STATE_COUNT= 2
MtmlVirtCapability​

说明

  • 虚拟化能力。

枚举值

值初始值说明
MTML_DEVICE_NOT_SUPPORT_VIRTUALIZATION= 0该设备不支持虚拟化。
MTML_DEVICE_SUPPORT_VIRTUALIZATION= 1该设备支持虚拟化。
MtmlVirtRole​

说明

  • 虚拟设备的作用。

枚举值

值初始值说明
MTML_VIRT_ROLE_NONE= 0该设备不是虚拟设备或其虚拟化角色未知。
MTML_VIRT_ROLE_HOST_VIRTDEVICE= 1该设备是在主机操作系统上可见的虚拟设备。
MTML_VIRT_ROLE_GUEST_VIRTDEVICE= 2物理设备的类型。此角色仅在主机操作系统中报告。该设备是在来宾操作系统上可见的虚拟设备
MTML_VIRT_ROLE_COUNT= 3虚拟化角色的数量。
MtmlDeviceTopologyLevel​

枚举值

值初始值说明
MTML_TOPOLOGY_INTERNAL= 0内部创建的拓扑路径,例如单个 S2000 卡上的 2 个设备。
MTML_TOPOLOGY_SINGLE= 1最多包含一个 PCIe 交换机/桥的拓扑路径。
MTML_TOPOLOGY_MULTIPLE= 2包含多个 PCIe 交换机/桥(但没有主桥)的拓扑路径。
MTML_TOPOLOGY_HOSTBRIDGE= 3包含 PCIe 交换机/桥以及单个主桥的拓扑路径。
MTML_TOPOLOGY_NODE= 4包含 PCIe 交换机/桥以及 NUMA 节点内的多个主机桥的拓扑路径。
MTML_TOPOLOGY_SYSTEM= 5包含 PCIe 交换机/桥以及跨 NUMA 节点的多个主机桥的拓扑路径。
MtmlLogLevel​

说明

  • 所有支持的日志级别。

枚举值

值初始值说明
MTML_LOG_LEVEL_OFF= 0所有级别的日志均已禁用。
MTML_LOG_LEVEL_FATAL= 1非常严重的错误事件,可能会导致应用程序中止。
MTML_LOG_LEVEL_ERROR= 2错误信息但会继续应用程序继续运行。
MTML_LOG_LEVEL_WARNING= 3表示应用程序中出现错误的信息,但应用程序将继续运行。
MTML_LOG_LEVEL_INFO= 4主要用于表示当前应用程序的进度。
MtmlMpcMode​

说明

  • MPC 模式。

枚举值

值初始值说明
MTML_DEVICE_MPC_DISABLE= 0禁用多主核心模式。
MTML_DEVICE_MPC_ENABLE= 1启用多主核心模式。
MtmlMpcCapability​

说明

  • MPC 能力。

枚举值

值初始值说明
MTML_DEVICE_NOT_SUPPORT_MPC= 0该设备不具备 MPC 能力。
MTML_DEVICE_SUPPORT_MPC= 1该设备具有 MPC 能力。
MtmlMpcType​

说明

  • mpc 设备的作用。

枚举值

值初始值说明
MTML_MPC_TYPE_NONE= 0不支持或已禁用 MPC 功能的设备。
MTML_MPC_TYPE_PARENT= 1可以从中创建 MPC 实例的设备。
MTML_MPC_TYPE_INSTANCE= 2MPC 实例设备。

宏​

MTML_LIBRARY_VERSION_BUFFER_SIZE​
  • 初始值:32

说明

  • 建议的缓冲区大小(以字节为单位)保证足以容纳 MTML 库版本字符串(包括空终止符)。
MTML_DRIVER_VERSION_BUFFER_SIZE​
  • 初始值:80

说明

  • 建议的缓冲区大小(以字节为单位)保证足以容纳驱动程序版本字符串(包括空终止符)。
MTML_DEVICE_NAME_BUFFER_SIZE​
  • 初始值:32

说明

  • 建议的缓冲区大小(以字节为单位)保证足以容纳设备名称字符串(包含 null 终止符)。
MTML_DEVICE_UUID_BUFFER_SIZE​
  • 初始值:48

说明

  • 建议的缓冲区大小(以字节为单位)保证足以容纳设备的 UUID 字符串(包括空终止符)。
MTML_DEVICE_MTBIOS_VERSION_BUFFER_SIZE​
  • 初始值:64

说明

  • 建议的缓冲区大小(以字节为单位)保证足以容纳 MTBIOS 版本字符串(包括空终止符)。
MTML_DEVICE_VBIOS_VERSION_BUFFER_SIZE​
  • 初始值:MTML_DEVICE_MTBIOS_VERSION_BUFFER_SIZE

注

MTML_DEVICE_PATH_BUFFER_SIZE​
  • 初始值:64

说明

  • 建议的缓冲区大小(以字节为单位)保证足以容纳设备路径字符串(包括空终止符)。
MTML_DEVICE_PCI_SBDF_BUFFER_SIZE​
  • 初始值:32

说明

  • 建议的缓冲区大小(以字节为单位)保证足以容纳设备的 PCI SBDF 字符串(包含 null 终止符)。
MTML_VIRT_TYPE_ID_BUFFER_SIZE​
  • 初始值:16

说明

  • 建议的缓冲区大小(以字节为单位)保证足以容纳虚拟化类型的 ID 字符串(包括空终止符)。
MTML_VIRT_TYPE_CLASS_BUFFER_SIZE​
  • 初始值:32

说明

  • 建议的缓冲区大小(以字节为单位)保证足以容纳虚拟化类型的类字符串(包括空终止符)。
MTML_VIRT_TYPE_NAME_BUFFER_SIZE​
  • 初始值:32

说明

  • 建议的缓冲区大小(以字节为单位)保证足以容纳虚拟化类型的名称字符串(包括空终止符)。
MTML_VIRT_TYPE_API_BUFFER_SIZE​
  • 初始值:16

说明

  • 建议的缓冲区大小(以字节为单位)保证足以容纳虚拟化类型的 API 字符串(包括空终止符)。
MTML_DEVICE_PCI_BUS_ID_FMT​
  • 初始值:"%08X:%02X:%02X.0"

说明

  • PCI 总线 ID 的格式字符串。
MTML_LOG_FILE_PATH_BUFFER_SIZE​
  • 初始值:200

说明

  • 建议的缓冲区大小(以字节为单位)保证足以容纳文件路径的名称字符串(包含 null 终止符)。
MTML_MPC_PROFILE_NAME_BUFFER_SIZE​
  • 初始值:32

说明

  • 建议的缓冲区大小(以字节为单位)保证足以容纳配置文件名称的名称字符串(包括空终止符)。
MTML_MPC_CONF_NAME_BUFFER_SIZE​
  • 初始值:32

说明

  • 建议的缓冲区大小(以字节为单位)保证足以容纳配置名称的名称字符串(包括空终止符)。
MTML_MPC_CONF_MAX_PROF_NUM​
  • 初始值:16

说明

  • 指示当前配置中可以容纳的最大配置文件数量。
MTML_DEVICE_SLOT_NAME_BUFFER_SIZE​
  • 初始值:32

说明

  • 建议的缓冲区大小(以字节为单位)保证足以容纳设备插槽名称的名称字符串(包括空终止符)。
MTML_MEMORY_VENDOR_BUFFER_SIZE​
  • 初始值:64

说明

  • 建议的缓冲区大小(以字节为单位)保证足以容纳内存供应商的名称字符串(包括空终止符)。
MTML_DEVICE_SERIAL_NUMBER_BUFFER_SIZE​
  • 初始值:64

说明

  • 建议的缓冲区大小(以字节为单位)保证足以容纳设备序列号的名称字符串(包括空终止符)。

功能结构定义​

  • 本组介绍功能结构。

数据结构​

枚举​

MtmlDeviceP2PStatus​

枚举值

值初始值说明
MTML_P2P_STATUS_OK= 0
MTML_P2P_STATUS_CHIPSET_NOT_SUPPORTED= 1
MTML_P2P_STATUS_GPU_NOT_SUPPORTED= 2
MTML_P2P_STATUS_UNKNOWN= 3
MtmlDeviceP2PCaps​

枚举值

值初始值说明
MTML_P2P_CAPS_READ= 0
MTML_P2P_CAPS_WRITE= 1
MtmlMtLinkState​

说明

  • MtLink 连接的可能状态。

枚举值

值初始值说明
MTML_MTLINK_STATE_DOWN= 0该链路处于非活动状态。
MTML_MTLINK_STATE_UP= 1该链路处于活动状态。
MTML_MTLINK_STATE_DOWNGRADE= 2该链路已降级。
MtmlMtLinkCap​

说明

  • MtLink 连接的能力。

枚举值

值初始值说明
MTML_MTLINK_CAP_P2P_ACCESS= 0点对点设备访问。
MTML_MTLINK_CAP_P2P_ATOMICS= 1支持 P2P 原子。
MTML_MTLINK_CAP_COUNT= 2
MtmlMtLinkCapStatus​

说明

  • MtLink 能力的状态。

枚举值

值初始值说明
MTML_MTLINK_CAP_STATUS_NOT_SUPPORTED= 0
MTML_MTLINK_CAP_STATUS_OK= 1
MtmlMtLinkCapability​

说明

  • MtLink 设备的能力。

枚举值

值初始值说明
MTML_DEVICE_NOT_SUPPORT_MTLINK= 0该设备不支持 MtLink 能力。
MTML_DEVICE_SUPPORT_MTLINK= 1该设备支持 MtLink 能力。
MtmlDispIntfType​

枚举值

值初始值说明
MTML_DISP_INTF_TYPE_DP= 0
MTML_DISP_INTF_TYPE_EDP= 1
MTML_DISP_INTF_TYPE_VGA= 2
MTML_DISP_INTF_TYPE_HDMI= 3
MTML_DISP_INTF_TYPE_LVDS= 4
MTML_DISP_INTF_TYPE_MAX= 5
MtmlGpuEngine​

说明

  • GPU 引擎。

枚举值

值初始值说明
MTML_GPU_ENGINE_GEOMETRY= 0
MTML_GPU_ENGINE_2D= 1
MTML_GPU_ENGINE_3D= 2
MTML_GPU_ENGINE_COMPUTE= 3
MTML_GPU_ENGINE_COPY= 4
MTML_GPU_ENGINE_MAX= 5
MtmlEccMode​

说明

  • ECC 模式。

枚举值

值初始值说明
MTML_MEMORY_ECC_DISABLE= 0禁用内存 ECC 模式。
MTML_MEMORY_ECC_ENABLE= 1启用内存 ECC 模式。
MtmlPageRetirementCause​

说明

  • 页面停用的原因

枚举值

值初始值说明
MTML_PAGE_RETIREMENT_CAUSE_MULTIPLE_SINGLE_BIT_ECC_ERRORS= 0由于多个单比特 ECC 错误,页面已停用。
MTML_PAGE_RETIREMENT_CAUSE_DOUBLE_BIT_ECC_ERROR= 1由于双比特 ECC 错误,页面已停用。
MTML_PAGE_RETIREMENT_CAUSE_MAX= 2
MtmlRetiredPagesPendingState​

说明

  • 停用页面待处理状态枚举。

枚举值

值初始值说明
MTML_RETIRED_PAGES_PENDING_STATE_FALSE= 0
MTML_RETIRED_PAGES_PENDING_STATE_TRUE= 1
MtmlEccCounterType​

说明

  • ECC 计数器类型。
  • 注意:每次驱动程序加载时,易失性计数都会重置。在 Windows 上,每次启动都会执行一次。在 Linux 上,这种情况可能更频繁。开启持久化模式后,聚合计数会持续存在。

枚举值

值初始值说明
MTML_VOLATILE_ECC= 0每次驱动程序加载时,易失性计数都会重置。
MTML_AGGREGATE_ECC= 1重新启动后聚合计数仍然存在(即在设备的生命周期内)
MTML_ECC_COUNTER_TYPE_COUNT= 2内存计数器类型的数量。
MtmlMemoryErrorType​

说明

  • 内存错误类型

枚举值

值初始值说明
MTML_MEMORY_ERROR_TYPE_CORRECTED= 0已更正的内存错误 对于 ECC 错误,这些是单比特错误
MTML_MEMORY_ERROR_TYPE_UNCORRECTED= 1未纠正的内存错误 对于 ECC 错误,这些是双比特错误
MTML_MEMORY_ERROR_TYPE_COUNT= 2内存错误类型的数量。
MtmlMemoryLocation​

说明

枚举值

值初始值说明
MTML_MEMORY_LOCATION_DRAM= 0x1动态随机存储器。

不透明数据结构定义​

  • 该组引入了不透明数据结构。

类型别名​

MtmlGpu​
typedef struct MtmlGpu MtmlGpu

说明

  • GPU 不透明数据结构。
MtmlMemory​
typedef struct MtmlMemory MtmlMemory

说明

  • 内存不透明数据结构。
MtmlVpu​
typedef struct MtmlVpu MtmlVpu

说明

  • VPU 不透明数据结构。
MtmlDevice​
typedef struct MtmlDevice MtmlDevice

说明

  • 设备不透明数据结构。
MtmlSystem​
typedef struct MtmlSystem MtmlSystem

说明

  • 系统不透明数据结构。
MtmlLibrary​
typedef struct MtmlLibrary MtmlLibrary

说明

  • 库不透明数据结构。

库函数​

  • 本组介绍库函数。

mtmlLibraryInit​

MtmlReturn MTML_API mtmlLibraryInit(MtmlLibrary **lib)

说明

  • 初始化库不透明对象并准备资源。成功后,初始化的对象可用于进一步访问其他功能。库不透明对象是顶层入口点,用户代码可以通过该入口点访问 MTML 库提供的其他函数。
  • 适用于所有产品。
  • 输出数据由MTML 库内部分配。当不再需要时,使用mtmlLibraryShutDown()释放其资源。如果通过多次调用此 API 来初始化多个 MtmlLibrary 指针,则在使用这些指针进行相应次数的 mtmlLibraryShutDown() 调用之前,库不会关闭。使用 mtmlLibraryShutDown() API 释放 MtmlLibrary 指针的顺序不一定必须与使用 API 初始化它们的顺序匹配。

参数

  • lib (MtmlLibrary **): [out] 指向已分配和初始化的库不透明对象的双指针。

mtmlLibraryShutDown​

MtmlReturn MTML_API mtmlLibraryShutDown(MtmlLibrary *lib)

说明

  • 关闭先前由 mtmlLibraryInit() 初始化的库不透明对象并释放其资源。该函数返回后,lib 指针将无法再使用。
  • 适用于所有产品。
  • 内部资源由全局所有库不透明对象共享。因此,要彻底关闭库,通过先前的 mtmlLibraryInit() API 调用返回的所有库不透明对象应分别传递给此 API。

参数

  • lib (MtmlLibrary *): [in] 指向需要关闭的库不透明对象的指针。

mtmlLibraryGetVersion​

MtmlReturn MTML_API mtmlLibraryGetVersion(const MtmlLibrary *lib, char *version, unsigned int length)

说明

  • 检索指定 MtmlLibrary 不透明数据的版本。
  • 适用于所有产品。
  • 版本标识符是字母数字字符串并保证为空终止符。

参数

  • lib (const MtmlLibrary *): [in] 指向库不透明数据的指针。
  • version (char *): [out] 返回版本标识符的引用。
  • length (unsigned int): [in] version 指向的缓冲区的长度。请参阅MTML_LIBRARY_VERSION_BUFFER_SIZE

mtmlLibraryInitSystem​

MtmlReturn MTML_API mtmlLibraryInitSystem(const MtmlLibrary *lib, MtmlSystem **sys)

说明

  • 初始化绑定到库不透明对象的 MtmlSystem 不透明指针。
  • 适用于所有产品。
  • 初始化的MtmlSystem不透明对象可以与系统相关的函数一起使用。

参数

  • lib (const MtmlLibrary *): [in] 指向库不透明数据的指针。
  • sys (MtmlSystem **): [out] 指向应分配和初始化的系统不透明数据的双指针。

mtmlLibraryFreeSystem​

MtmlReturn MTML_API mtmlLibraryFreeSystem(MtmlSystem *sys)

说明

  • 适用于所有产品。

参数

  • sys (MtmlSystem *): [in] 指向应释放的系统不透明对象的指针。

注

  • 已弃用:释放 MtmlSystem 不透明对象管理的资源并使其不可用。

mtmlLibraryCountDevice​

MtmlReturn MTML_API mtmlLibraryCountDevice(const MtmlLibrary *lib, unsigned int *count)

说明

  • 检索库不透明对象可以访问的设备数量。

参数

  • lib (const MtmlLibrary *): [in] 指向库不透明对象的指针。
  • count (unsigned int *): [out] 返回可访问设备数量的引用。

mtmlLibraryInitDeviceByIndex​

MtmlReturn MTML_API mtmlLibraryInitDeviceByIndex(const MtmlLibrary *lib, unsigned int index, MtmlDevice **dev)

说明

  • 初始化一个设备不透明对象来表示由其索引指定的设备。索引范围从 (0) 到 (deviceCount - 1),其中 deviceCount 是从 mtmlLibraryCountDevice() 检索的。
  • 适用于所有产品。
  • 初始化的设备不透明对象可以与设备相关的函数一起使用。

参数

  • lib (const MtmlLibrary *): [in] 指向库不透明对象的指针。
  • index (unsigned int): [in] 目标设备的索引。
  • dev (MtmlDevice **): [out] 指向应分配和初始化的设备不透明对象的双指针。

另请参阅

mtmlLibraryInitDeviceByUuid​

MtmlReturn MTML_API mtmlLibraryInitDeviceByUuid(const MtmlLibrary *library, const char *uuid, MtmlDevice **dev)

说明

  • 初始化一个设备不透明对象来表示由其 UUID 指定的设备。有关设备 UUID 的更多信息,请参阅 mtmlDeviceGetUUID()。
  • 适用于所有产品。
  • 初始化的设备不透明对象可以与设备相关的函数一起使用。

参数

  • library(const MtmlLibrary *):[in] 指向库不透明对象的指针。
  • uuid (const char *): [in] 目标设备的 UUID。
  • dev (MtmlDevice **): [out] 指向应分配和初始化的设备不透明对象的双指针。

mtmlLibraryInitDeviceByPciSbdf​

MtmlReturn MTML_API mtmlLibraryInitDeviceByPciSbdf(const MtmlLibrary *lib, const char *pciSbdf, MtmlDevice **dev)

说明

  • 初始化一个设备不透明对象来表示由其 PCI Sbdf 指定的设备。 PCI Sbdf 格式如 00000000:3a:00.0,请参阅 MtmlPciInfo::sbdf。
  • 适用于所有产品。

参数

  • lib (const MtmlLibrary *): [in] 指向库不透明对象的指针。
  • pciSbdf (const char *): [in] 目标设备的 PCI 总线 ID。
  • dev(MtmlDevice **):[out] 用于返回设备句柄的引用。

mtmlLibrarySetMpcConfigurationInBatch​

MtmlReturn MTML_API mtmlLibrarySetMpcConfigurationInBatch(const MtmlLibrary *lib, unsigned int count, MtmlDevice **devices, unsigned int *mpcConfigIds)

说明

  • 一次性为多个设备设置 MPC 配置。如果在任何支持的设备上禁用 MPC 模式,则此功能将在应用配置之前启用它。此函数可能需要相对较长的时间才能成功返回,在此期间任何其他并发操作都可能会遇到失败或未定义的行为。因此,建议在调用此函数之前暂停任何其他 API 调用。如果批量中的任何设备配置 MPC 模式失败,此函数将尝试将之前的设备回滚到 MPC 禁用状态。
  • 重要: 调用此函数后,库分配的所有不透明指针(MtmlDevice、MtmlGpu 等,但不包括 MtmlLibrary 指针本身)将变得无效。继续使用这些指针是未定义的行为。
  • 适用于 CHUNXIAO 或较新的完全支持的设备。仅在 Linux 中受支持。

参数

  • lib (const MtmlLibrary *): [in] 指向库不透明对象的指针。
  • count (unsigned int): [in] 设备的大小。
  • devices (MtmlDevice **): [in] 目标设备的标识符。
  • mpcConfigIds (unsigned int *): [in] 设备 的 MPC 配置 ID。

mtmlLibraryFreeDevice​

MtmlReturn MTML_API mtmlLibraryFreeDevice(MtmlDevice *dev)

说明

  • 适用于所有产品。

参数

  • dev (MtmlDevice *): [in] 指向应释放的设备不透明对象的指针。

注

  • 已弃用:释放设备不透明对象管理的资源并使其不可用。

系统函数​

  • 本组介绍系统功能。

mtmlSystemGetDriverVersion​

MtmlReturn MTML_API mtmlSystemGetDriverVersion(const MtmlSystem *sys, char *version, unsigned int length)

说明

  • 检索当前平台上安装的驱动程序的版本。
  • 适用于所有产品。
  • 版本标识符是字母数字字符串。

参数

  • sys (const MtmlSystem *): [in] 指向系统不透明对象的指针。
  • version (char *): [out] 返回版本标识符的引用。
  • length (unsigned int): [in] version 指向的缓冲区大小。请参阅MTML_DRIVER_VERSION_BUFFER_SIZE。

设备函数​

  • 本组介绍设备功能。

mtmlDeviceInitGpu​

MtmlReturn MTML_API mtmlDeviceInitGpu(const MtmlDevice *dev, MtmlGpu **gpu)

说明

  • 初始化 GPU 不透明对象来表示目标设备上由其索引指定的特定图形核心。
  • 适用于所有产品。
  • 初始化的GPU不透明对象可以与GPU相关的函数一起使用。

参数

  • dev (const MtmlDevice *): [in] 指向设备不透明对象的指针。
  • gpu (MtmlGpu **): [out] 指向应分配和初始化的 GPU 不透明对象的双指针。

mtmlDeviceFreeGpu​

MtmlReturn MTML_API mtmlDeviceFreeGpu(MtmlGpu *gpu)

参数

  • gpu (MtmlGpu *): [in] 指向应释放的 GPU 不透明对象的指针。

注

  • 已弃用:由 GPU 不透明对象管理的资源并使其不可用。

mtmlDeviceInitMemory​

MtmlReturn MTML_API mtmlDeviceInitMemory(const MtmlDevice *dev, MtmlMemory **mem)

说明

  • 初始化一个内存不透明对象来表示目标设备上的内存。
  • 适用于所有产品。
  • 初始化的内存不透明对象可以与内存相关的函数一起使用。

参数

  • dev (const MtmlDevice *): [in] 指向设备不透明对象的指针。
  • mem (MtmlMemory **): [out] 指向应分配和初始化的内存不透明对象的双指针。

mtmlDeviceFreeMemory​

MtmlReturn MTML_API mtmlDeviceFreeMemory(MtmlMemory *mem)

说明

  • 适用于所有产品。

参数

  • mem (MtmlMemory *): [in] 指向应释放的内存不透明对象的指针。

注

  • 已弃用:由内存不透明对象管理的资源并使其不可用。

mtmlDeviceInitVpu​

MtmlReturn MTML_API mtmlDeviceInitVpu(const MtmlDevice *dev, MtmlVpu **vpu)

说明

  • 初始化 VPU 不透明对象来表示目标设备上的视频编解码器。
  • 适用于所有产品。
  • 初始化的VPU不透明对象可以与编解码器相关的函数一起使用。

参数

  • dev (const MtmlDevice *): [in] 指向设备不透明对象的指针。
  • vpu (MtmlVpu **): [out] 指向应分配和初始化的内存不透明对象的双指针。

mtmlDeviceFreeVpu​

MtmlReturn MTML_API mtmlDeviceFreeVpu(MtmlVpu *vpu)

说明

  • 适用于所有产品。

参数

  • vpu (MtmlVpu *): [in] 指向应释放的 VPU 不透明对象的指针。

注

  • 已弃用:由 VPU 不透明对象管理的资源并使其不可用。

mtmlDeviceGetIndex​

MtmlReturn MTML_API mtmlDeviceGetIndex(const MtmlDevice *dev, unsigned int *index)

说明

  • 检索与指定设备关联的索引。
  • 适用于所有产品。

参数

  • dev (const MtmlDevice *): [in] 指向设备不透明对象的指针。
  • index (unsigned int *): [out] 目标设备的索引。

mtmlDeviceGetUUID​

MtmlReturn MTML_API mtmlDeviceGetUUID(const MtmlDevice *dev, char *uuid, unsigned int length)

说明

  • 检索指定设备的 UUID。 UUID 是一个十六进制字符串,格式为 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx,其中每个“x”是代表十六进制数字的 ASCII 字符。 UUID 对于每个设备来说都是全局唯一的,因此可用于物理上识别不同的设备。
  • 适用于所有产品。

参数

  • dev (const MtmlDevice *): [in] 目标设备的标识符。
  • uuid (char *): [out] 返回 UUID 的引用。
  • length (unsigned int): [in] uuid 指向的缓冲区的大小。请参阅MTML_DEVICE_UUID_BUFFER_SIZE。

mtmlDeviceGetBrand​

MtmlReturn MTML_API mtmlDeviceGetBrand(const MtmlDevice *dev, MtmlBrandType *type)

说明

  • 检索设备的品牌。
  • 适用于所有产品。

参数

mtmlDeviceGetName​

MtmlReturn MTML_API mtmlDeviceGetName(const MtmlDevice *dev, char *name, unsigned int length)

说明

  • 检索设备的名称。

参数

  • dev (const MtmlDevice *): [in] 指向目标设备的指针。
  • name (char *): [out] 返回产品名称的引用。
  • length (unsigned int): [in] name 指向的缓冲区的大小。请参阅MTML_DEVICE_NAME_BUFFER_SIZE。

mtmlDeviceGetPciInfo​

MtmlReturn MTML_API mtmlDeviceGetPciInfo(const MtmlDevice *dev, MtmlPciInfo *pci)

说明

  • 检索设备的 PCI 属性。
  • 适用于所有产品。
  • 有关可用 PCI 信息的详细信息,请参阅 MtmlPciInfo。

参数

  • dev (const MtmlDevice *): [in] 指向目标设备的指针。
  • pci (MtmlPciInfo *): [out] 返回 PCI 信息的引用。

mtmlDeviceGetPowerUsage​

MtmlReturn MTML_API mtmlDeviceGetPowerUsage(const MtmlDevice *dev, unsigned int *power)

说明

  • 检索设备的用电量(以毫瓦为单位)(mW) 及其相关电路。

参数

  • dev (const MtmlDevice *): [in] 指向目标设备的指针。
  • power (unsigned int *): [out] 返回电量使用信息的引用。

mtmlDeviceGetGpuPath​

MtmlReturn MTML_API mtmlDeviceGetGpuPath(const MtmlDevice *dev, char *path, unsigned int length)

说明

  • 检索设备的 GPU 路径。
  • 适用于所有产品。

参数

  • dev (const MtmlDevice *): [in] 指向目标设备的指针。
  • path (char *): [out] 返回目标设备路径的引用。
  • length (unsigned int): [in] path 指向的缓冲区的大小。请参阅MTML_DEVICE_PATH_BUFFER_SIZE。

mtmlDeviceGetPrimaryPath​

MtmlReturn MTML_API mtmlDeviceGetPrimaryPath(const MtmlDevice *dev, char *path, unsigned int length)

说明

  • 检索设备的主路径。
  • 适用于所有产品。

参数

  • dev (const MtmlDevice *): [in] 指向目标设备的指针。
  • path (char *): [out] 返回目标设备路径的引用。
  • length (unsigned int): [in] path 指向的缓冲区的大小。请参阅MTML_DEVICE_PATH_BUFFER_SIZE。

mtmlDeviceGetRenderPath​

MtmlReturn MTML_API mtmlDeviceGetRenderPath(const MtmlDevice *dev, char *path, unsigned int length)

说明

  • 检索设备的渲染路径。
  • 适用于所有产品。

参数

  • dev (const MtmlDevice *): [in] 指向目标设备的指针。
  • path (char *): [out] 返回目标设备路径的引用。
  • length (unsigned int): [in] path 指向的缓冲区的大小。请参阅MTML_DEVICE_PATH_BUFFER_SIZE。

mtmlDeviceGetVbiosVersion​

MtmlReturn MTML_API mtmlDeviceGetVbiosVersion(const MtmlDevice *dev, char *version, unsigned int length)

说明

  • 检索设备 VBIOS 的版本。
  • 适用于所有产品。
  • 版本标识符是字母数字字符串。

参数

  • dev (const MtmlDevice *): [in] 指向目标设备的指针。
  • version (char *): [out] 返回版本标识符的引用。
  • length (unsigned int): [in] version 指向的缓冲区的大小。请参阅MTML_DEVICE_VBIOS_VERSION_BUFFER_SIZE。

注

mtmlDeviceGetMtBiosVersion​

MtmlReturn MTML_API mtmlDeviceGetMtBiosVersion(const MtmlDevice *dev, char *version, unsigned int length)

说明

  • 检索设备的 MTBIOS 固件版本。
  • 适用于所有产品。
  • 版本标识符是字母数字字符串。

参数

mtmlDeviceGetProperty​

MtmlReturn MTML_API mtmlDeviceGetProperty(const MtmlDevice *dev, MtmlDeviceProperty *prop)

说明

  • 检索设备的属性。
  • 适用于所有产品。

参数

mtmlDeviceCountFan​

MtmlReturn MTML_API mtmlDeviceCountFan(const MtmlDevice *dev, unsigned int *count)

参数

  • dev (const MtmlDevice *): [in] 目标设备的指针。
  • count (unsigned int *): [out] 返回风扇数量的引用。

注

  • 返回的值是设备上风扇控制通道的数量。

mtmlDeviceGetFanSpeed​

MtmlReturn MTML_API mtmlDeviceGetFanSpeed(const MtmlDevice *dev, unsigned int index, unsigned int *speed)

说明

  • 检索设备指定风扇的预期运行速度。报告的速度是预期的风扇速度。如果风扇被物理堵塞并且无法旋转,则输出将与实际风扇速度不匹配。
  • 适用于所有带有专用风扇的分立产品。
  • 风扇速度以产品最大噪声容限风扇速度的百分比表示。在某些情况下,该值可能会超过 100%。

参数

  • dev (const MtmlDevice *): [in] 目标设备的指针。
  • index (unsigned int): [in] 目标风扇的索引,零索引。
  • speed (unsigned int *): [out] 返回风扇速度百分比的引用。

mtmlDeviceGetFanRpm​

MtmlReturn MTML_API mtmlDeviceGetFanRpm(const MtmlDevice *dev, unsigned int fanIndex, unsigned int *fanRpm)

说明

  • 检索设备指定风扇的预期运行速度。报告的速度是预期的风扇速度。如果风扇被物理堵塞并且无法旋转,则输出将与实际风扇速度不匹配。
  • 适用于所有带有专用风扇的分立产品。
  • 风扇速度是实时速度值,表示每分钟转数(rpm)。

参数

  • dev (const MtmlDevice *): [in] 目标设备的指针。
  • fanIndex (unsigned int): [in] 目标风扇的索引,零索引。
  • fanRpm (unsigned int *): [out] 返回风扇实际速度的引用。

mtmlDeviceGetPcieSlotInfo​

MtmlReturn MTML_API mtmlDeviceGetPcieSlotInfo(const MtmlDevice *dev, MtmlPciSlotInfo *slotInfo)

说明

  • 检索指定设备所连接的 PCIe 接口的物理插槽信息。

参数

  • dev (const MtmlDevice *): [in] 指向设备不透明数据的指针。
  • slotInfo (MtmlPciSlotInfo *): [out] 返回插槽信息的引用。

mtmlDeviceGetPcieBar2MemoryInfo​

MtmlReturn MTML_API mtmlDeviceGetPcieBar2MemoryInfo(const MtmlDevice *dev, MtmlPcieBar2MemoryInfo *bar2MemInfo)

说明

  • 获取 BAR2 内存的可用字节数、总字节数和已用字节数。 BAR2用于映射FB(设备内存),以便CPU或第3方设备(PCIE总线上的点对点)可以直接访问它。
  • 适用于所有产品。

参数

mtmlDeviceCountDisplayInterface​

MtmlReturn MTML_API mtmlDeviceCountDisplayInterface(const MtmlDevice *device, unsigned int *count)

说明

  • 检索指定设备的显示接口数量。
  • 适用于所有产品。

参数

  • device (const MtmlDevice *): [in] 指向设备不透明数据的指针。
  • count (unsigned int *): [out] 返回数字的引用。

mtmlDeviceGetDisplayInterfaceSpec​

MtmlReturn MTML_API mtmlDeviceGetDisplayInterfaceSpec(const MtmlDevice *device, unsigned int intfIndex, MtmlDispIntfSpec *dispIntfSpec)

说明

  • 检索设备指定显示接口的规格数据。
  • 适用于所有产品。

参数

  • device (const MtmlDevice *): [in] 指向设备不透明数据的指针。
  • intfIndex (unsigned int): [in] 要查询的显示接口的索引。
  • dispIntfSpec (MtmlDispIntfSpec *): [out] 返回规范数据的引用。

mtmlDeviceGetSerialNumber​

MtmlReturn MTML_API mtmlDeviceGetSerialNumber(const MtmlDevice *device, unsigned int length, char *serialNumber)

说明

  • 检索指定设备的序列号。
  • 适用于所有产品。

参数

  • device (const MtmlDevice *): [in] 指向设备不透明数据的指针。
  • length (unsigned int): [in] serial 数字缓冲区的大小(以字节为单位)。请参阅MTML_DEVICE_SERIAL_NUMBER_BUFFER_SIZE。
  • serialNumber (char *): [out] 返回序列号的引用。

mtmlDeviceCountGpuCores​

MtmlReturn MTML_API mtmlDeviceCountGpuCores(const MtmlDevice *device, unsigned int *numCores)

说明

  • 获取设备的核心数量。

参数

  • device (const MtmlDevice *): [in] 目标设备的标识符。
  • numCores (unsigned int *): [out] 指定设备的核心数量。

设备虚拟化函数​

  • 本组介绍设备虚拟化功能。

mtmlDeviceCountSupportedVirtTypes​

MtmlReturn MTML_API mtmlDeviceCountSupportedVirtTypes(const MtmlDevice *dev, unsigned int *count)

说明

  • 获取虚拟化设备支持的所有虚拟化类型的数量。该功能仅适用于支持虚拟化的设备。请参阅*MtmlDeviceProperty.virtCap*来确定设备是否可虚拟化。
  • 适用于所有产品。

参数

  • dev (const MtmlDevice *): [in] 指向目标设备的指针。
  • count (unsigned int *): [out] 返回支持的虚拟化类型数量的引用。

mtmlDeviceGetSupportedVirtTypes​

MtmlReturn MTML_API mtmlDeviceGetSupportedVirtTypes(const MtmlDevice *dev, MtmlVirtType *types, unsigned int count)

说明

  • 获取可虚拟化设备支持的虚拟化类型列表。该功能仅适用于支持虚拟化的设备。请参阅*MtmlDeviceProperty.virtCap*来确定设备是否可虚拟化。
  • 适用于所有产品。

参数

  • dev (const MtmlDevice *): [in] 指向目标设备的指针。
  • types (MtmlVirtType *): [out] 返回支持的虚拟化类型的引用。
  • count (unsigned int): [in] types 指向的数组的大小。

mtmlDeviceCountAvailVirtTypes​

MtmlReturn MTML_API mtmlDeviceCountAvailVirtTypes(const MtmlDevice *dev, unsigned int *count)

说明

  • 获取可虚拟化设备的虚拟化类型数量,可以从中创建虚拟设备。该功能仅适用于支持虚拟化的设备。请参阅*MtmlDeviceProperty.virtCap*来确定设备是否可虚拟化。
  • 适用于所有产品。

参数

  • dev (const MtmlDevice *): [in] 指向目标设备的指针。
  • count (unsigned int *): [out] 返回可用虚拟化类型数量的引用。

mtmlDeviceGetAvailVirtTypes​

MtmlReturn MTML_API mtmlDeviceGetAvailVirtTypes(const MtmlDevice *dev, MtmlVirtType *types, unsigned int count)

说明

  • 获取可虚拟化设备的虚拟化类型列表,可以从中创建虚拟设备。该功能仅适用于支持虚拟化的设备。请参阅*MtmlDeviceProperty.virtCap*来确定设备是否可虚拟化。
  • 适用于所有产品。

参数

  • dev (const MtmlDevice *): [in] 指向目标设备的指针。
  • types (MtmlVirtType *): [out] 返回可用虚拟化类型的引用。
  • count (unsigned int): [in] types 指向的数组的大小。

mtmlDeviceCountAvailVirtDevices​

MtmlReturn MTML_API mtmlDeviceCountAvailVirtDevices(const MtmlDevice *dev, const MtmlVirtType *type, unsigned int *count)

说明

  • 获取可从虚拟化设备支持的指定虚拟化类型创建的虚拟设备的数量。该功能仅适用于支持虚拟化的设备。请参阅*MtmlDeviceProperty.virtCap*来确定设备是否可虚拟化。
  • 适用于所有产品。

参数

  • dev (const MtmlDevice *): [in] 指向目标设备的指针。
  • type (const MtmlVirtType *): [in] 指定的虚拟化类型。
  • count (unsigned int *): [out] 返回可用虚拟化类型数量的引用。

mtmlDeviceCountActiveVirtDevices​

MtmlReturn MTML_API mtmlDeviceCountActiveVirtDevices(const MtmlDevice *dev, unsigned int *count)

说明

  • 获取在可虚拟设备上创建的活动虚拟设备的数量。如果虚拟设备已根据其虚拟化类型分配了资源,则该虚拟设备处于活动状态。该功能仅适用于支持虚拟化的设备。请参阅*MtmlDeviceProperty.virtCap*来确定设备是否可虚拟化。
  • 适用于所有产品。

参数

  • dev (const MtmlDevice *): [in] 指向目标设备的指针。
  • count (unsigned int *): [out] 返回活动虚拟设备数量的引用。

mtmlDeviceGetActiveVirtDeviceUuids​

MtmlReturn MTML_API mtmlDeviceGetActiveVirtDeviceUuids(const MtmlDevice *dev, char *uuids, unsigned int entryLength, unsigned int entryCount)

说明

  • 获取在可虚拟设备上创建的所有活动虚拟设备的 UUIDs 列表。UUID 字符串在 uuids 参数中输出,该参数应指向一个连续内存块,其大小足以容纳所有内容。内存块由一系列首尾相接的缓冲区(条目)组成,每个缓冲区大小为 entryLength 字节。缓冲区数量由 entryCount 定义,因此 uuids 指向的内存块总大小应大于或等于 entryLength * entryCount。每个缓冲区用于保存一个以空字符结尾的 UUID 字符串;调用方必须确保缓冲区数量足以保存所有 UUID 字符串,且每个缓冲区大小足以保存一个 UUID 字符串。若 entryCount 大于活动虚拟设备的实际数量,多余条目将填充空字符串。虚拟设备按其虚拟化类型分配资源后即处于活动状态。该功能仅适用于支持虚拟化的设备。请参阅 MtmlDeviceProperty.virtCap 确定设备是否可虚拟化。
  • 适用于所有产品。

参数

  • dev (const MtmlDevice *): [in] 指向目标设备的指针。
  • uuids (char *): [out] 指向保存所有输出 UUID 字符串的内存块的指针。
  • entryLength (unsigned int): [in] uuids 中每个条目(每个缓冲区)的大小。
  • entryCount (unsigned int): [in] uuids 中的条目数量。

mtmlDeviceCountMaxVirtDevices​

MtmlReturn MTML_API mtmlDeviceCountMaxVirtDevices(const MtmlDevice *dev, const MtmlVirtType *type, unsigned int *virtDevicesCount)

说明

  • 检索给定 vGPU 类型的设备上可创建的 vGPU 设备的最大数量。
  • 适用于所有产品。

参数

  • dev (const MtmlDevice *): [in] 目标设备的标识符。
  • type (const MtmlVirtType *): [in] vGPU 类型句柄。
  • virtDevicesCount (unsigned int *): [out] 获取 vGPU 实例最大数量的指针,可以在给定 vgpuTypeId 的设备上创建该实例。

mtmlDeviceInitVirtDevice​

MtmlReturn MTML_API mtmlDeviceInitVirtDevice(const MtmlDevice *dev, const char *uuid, MtmlDevice **virtDev)

说明

  • 初始化可由 UUID 从可虚拟设备指定的活动虚拟设备。如果虚拟设备已根据其虚拟化类型分配了资源,则该虚拟设备处于活动状态。该功能仅适用于支持虚拟化的设备。请参阅*MtmlDeviceProperty.virtCap*来确定设备是否可虚拟化。
  • 适用于所有产品。

参数

  • dev (const MtmlDevice *): [in] 指向目标设备的指针。
  • uuid (const char *): [in] 虚拟设备的 UUID 字符串。
  • virtDev (MtmlDevice **): [out] 指向应分配和初始化的内存不透明对象的双指针。

mtmlDeviceFreeVirtDevice​

MtmlReturn MTML_API mtmlDeviceFreeVirtDevice(MtmlDevice *virtDev)

说明

  • 适用于所有产品。

参数

  • virtDev (MtmlDevice *): [in] 指向应释放的设备不透明对象的指针。

注

  • 已弃用:由虚拟设备的不透明对象管理的资源并使其不可用。该功能仅适用于支持虚拟化的设备。请参阅*MtmlDeviceProperty.virtCap*来确定设备是否可虚拟化。

mtmlDeviceGetVirtType​

MtmlReturn MTML_API mtmlDeviceGetVirtType(const MtmlDevice *virtDev, MtmlVirtType *type)

说明

参数

  • virtDev (const MtmlDevice *): [in] 指向目标虚拟设备的指针。
  • type (MtmlVirtType *): [out] 返回虚拟化类型的引用。

mtmlDeviceGetPhyDeviceUuid​

MtmlReturn MTML_API mtmlDeviceGetPhyDeviceUuid(const MtmlDevice *virtDev, char *uuid, unsigned int length)

说明

参数

  • virtDev (const MtmlDevice *): [in] 指向目标虚拟设备的指针。
  • uuid (char *): [out] 返回物理设备的 UUID 的引用。
  • length (unsigned int): [in] uuid 指向的缓冲区的大小,以字节为单位。

P2P 函数​

  • 本组介绍 P2P 函数。

mtmlDeviceGetTopologyLevel​

MtmlReturn MTML_API mtmlDeviceGetTopologyLevel(const MtmlDevice *dev1, const MtmlDevice *dev2, MtmlDeviceTopologyLevel *level)

说明

  • 检索给定设备对之间的拓扑级别。对于所有产品。仅在 Linux 上受支持。

参数

mtmlDeviceCountDeviceByTopologyLevel​

MtmlReturn MTML_API mtmlDeviceCountDeviceByTopologyLevel(const MtmlDevice *dev, MtmlDeviceTopologyLevel level, unsigned int *count)

说明

  • 检索在特定互连级别上最接近给定设备的设备数量集。对于所有产品。仅在 Linux 上受支持。

参数

mtmlDeviceGetDeviceByTopologyLevel​

MtmlReturn MTML_API mtmlDeviceGetDeviceByTopologyLevel(const MtmlDevice *dev, MtmlDeviceTopologyLevel level, unsigned int count, MtmlDevice **deviceArray)

说明

  • 检索在特定互连级别上最接近给定设备的设备集。
  • 适用于所有产品。仅在 Linux 上受支持。

参数

mtmlDeviceGetP2PStatus​

MtmlReturn MTML_API mtmlDeviceGetP2PStatus(const MtmlDevice *dev1, const MtmlDevice *dev2, MtmlDeviceP2PCaps p2pCap, MtmlDeviceP2PStatus *p2pStatus)

说明

  • 检索给定设备对之间给定 p2p 能力的状态。

参数


GPU 函数​

  • 本组介绍 GPU 函数。

mtmlGpuGetUtilization​

MtmlReturn MTML_API mtmlGpuGetUtilization(const MtmlGpu *gpu, unsigned int *utilization)

说明

  • 检索设备图形核心的当前利用率。
  • 适用于所有产品。

参数

  • gpu (const MtmlGpu *): [in] 指向 GPU 不透明对象的指针。
  • utilization (unsigned int *): [out] 返回利用率信息的引用。

mtmlGpuGetTemperature​

MtmlReturn MTML_API mtmlGpuGetTemperature(const MtmlGpu *gpu, int *temp)

说明

  • 检索设备图形核心的当前温度读数(以摄氏度为单位)。

参数

  • gpu (const MtmlGpu *): [in] 指向 GPU 不透明对象的指针。
  • temp (int *): [out] 返回温度读数的引用。

mtmlGpuGetClock​

MtmlReturn MTML_API mtmlGpuGetClock(const MtmlGpu *gpu, unsigned int *clockMhz)

说明

  • 检索设备图形核心的当前时钟速度。
  • 适用于所有产品。

参数

  • gpu (const MtmlGpu *): [in] 指向 GPU 不透明对象的指针。
  • clockMhz (unsigned int *): [out] 返回时钟速度(以 MHz 为单位)的引用。

mtmlGpuGetMaxClock​

MtmlReturn MTML_API mtmlGpuGetMaxClock(const MtmlGpu *gpu, unsigned int *clockMhz)

说明

  • 检索设备图形核心支持的最大时钟速度。
  • 适用于除 S3000E 之外的所有产品。

参数

  • gpu (const MtmlGpu *): [in] 指向 GPU 不透明对象的指针。
  • clockMhz (unsigned int *): [out] 返回时钟速度(以 MHz 为单位)的引用。

mtmlGpuGetEngineUtilization​

MtmlReturn MTML_API mtmlGpuGetEngineUtilization(const MtmlGpu *gpu, MtmlGpuEngine engine, unsigned int *utilization)

说明

  • 检索设备图形核心的当前引擎利用率。
  • 适用于所有产品。仅在 Linux 上受支持。

参数

  • gpu (const MtmlGpu *): [in] 指向 GPU 不透明对象的指针。
  • engine (MtmlGpuEngine): [in] gpu 引擎值的类型。请参阅 MtmlGpuEngine。
  • utilization (unsigned int *): [out] 返回利用率信息的引用。

内存函数​

  • 本组介绍内存函数。

mtmlMemoryGetTotal​

MtmlReturn MTML_API mtmlMemoryGetTotal(const MtmlMemory *mem, unsigned long long *total)

说明

  • 检索设备上可用的总内存量(以字节为单位)。
  • 适用于所有产品。

参数

  • mem (const MtmlMemory *): [in] 指向内存不透明对象的指针。
  • total (unsigned long long *): [out] 返回总内存大小的引用。

mtmlMemoryGetUsed​

MtmlReturn MTML_API mtmlMemoryGetUsed(const MtmlMemory *mem, unsigned long long *used)

说明

  • 检索设备上已使用的内存量(以字节为单位)。
  • 适用于所有产品。

参数

  • mem (const MtmlMemory *): [in] 指向内存不透明对象的指针。
  • used (unsigned long long *): [out] 返回已用内存大小的引用。

mtmlMemoryGetUsedSystem​

MtmlReturn MTML_API mtmlMemoryGetUsedSystem(const MtmlMemory *mem, unsigned long long *used)

说明

  • 检索设备上使用的系统共享内存量(以字节为单位)。
  • 适用于所有产品。

参数

  • mem (const MtmlMemory *): [in] 指向内存不透明对象的指针。
  • used (unsigned long long *): [out] 返回系统共享内存使用大小的引用。

mtmlMemoryGetUtilization​

MtmlReturn MTML_API mtmlMemoryGetUtilization(const MtmlMemory *mem, unsigned int *utilization)

说明

  • 检索设备的当前内存利用率。
  • 适用于所有产品。

参数

  • mem (const MtmlMemory *): [in] 指向内存不透明对象的指针。
  • utilization (unsigned int *): [out] 返回利用率信息的引用。

mtmlMemoryGetClock​

MtmlReturn MTML_API mtmlMemoryGetClock(const MtmlMemory *mem, unsigned int *clockMhz)

说明

  • 检索设备内存的当前时钟速度。
  • 适用于所有产品。

参数

  • mem (const MtmlMemory *): [in] 指向内存不透明对象的指针。
  • clockMhz (unsigned int *): [out] 返回时钟速度(以 MHz 为单位)的引用。

mtmlMemoryGetMaxClock​

MtmlReturn MTML_API mtmlMemoryGetMaxClock(const MtmlMemory *mem, unsigned int *clockMhz)

说明

  • 检索设备内存支持的最大时钟速度。
  • 适用于除 S3000E 之外的所有产品。

参数

  • mem (const MtmlMemory *): [in] 指向内存不透明对象的指针。
  • clockMhz (unsigned int *): [out] 返回时钟速度(以 MHz 为单位)的引用。

mtmlMemoryGetBusWidth​

MtmlReturn MTML_API mtmlMemoryGetBusWidth(const MtmlMemory *mem, unsigned int *busWidth)

说明

  • 检索设备的内存总线宽度。
  • 适用于所有产品。

参数

  • mem (const MtmlMemory *): [in] 目标设备的标识符。
  • busWidth (unsigned int *): [out] 设备的内存总线宽度。

mtmlMemoryGetBandwidth​

MtmlReturn MTML_API mtmlMemoryGetBandwidth(const MtmlMemory *mem, unsigned int *bandwidth)

说明

  • 检索指定设备的总内存带宽。带宽以 GBps 表示。

参数

  • mem (const MtmlMemory *): [in] 指向内存不透明数据的指针。
  • bandwidth (unsigned int *): [out] 返回带宽的引用。

mtmlMemoryGetSpeed​

MtmlReturn MTML_API mtmlMemoryGetSpeed(const MtmlMemory *mem, unsigned int *speed)

说明

  • 检索指定设备的内存速度。内存速度以 Mbps 表示。

参数

  • mem (const MtmlMemory *): [in] 指向内存不透明数据的指针。
  • speed (unsigned int *): [out] 返回速度的引用。

mtmlMemoryGetVendor​

MtmlReturn MTML_API mtmlMemoryGetVendor(const MtmlMemory *mem, unsigned int length, char *vendor)

说明

  • 检索设备的内存芯片供应商名称。

参数

  • mem (const MtmlMemory *): [in] 指向内存不透明数据的指针。
  • length (unsigned int): [in] vendor 缓冲区的大小(以字节为单位)。请参阅MTML_MEMORY_VENDOR_BUFFER_SIZE。
  • vendor (char *): [out] 返回名称的引用。

mtmlMemoryGetType​

MtmlReturn MTML_API mtmlMemoryGetType(const MtmlMemory *mem, MtmlMemoryType *type)

说明

  • 检索设备的内存类型。

参数

  • mem (const MtmlMemory *): [in] 指向内存不透明数据的指针。
  • type (MtmlMemoryType *): [out] 返回类型的引用。

VPU 函数​

  • 本组介绍 VPU 函数。

mtmlVpuGetUtilization​

MtmlReturn MTML_API mtmlVpuGetUtilization(const MtmlVpu *vpu, MtmlCodecUtil *utilization)

说明

  • 检索指定 VPU 的当前利用率。
  • 适用于所有产品。

参数

  • vpu (const MtmlVpu *): [in] 指向 VPU 不透明对象的指针。
  • utilization (MtmlCodecUtil *): [out] 返回使用信息的引用。

mtmlVpuGetClock​

MtmlReturn MTML_API mtmlVpuGetClock(const MtmlVpu *vpu, unsigned int *clockMhz)

说明

  • 检索指定 VPU 的当前时钟速度。
  • 适用于所有产品。

参数

  • vpu (const MtmlVpu *): [in] 指向 VPU 不透明对象的指针。
  • clockMhz (unsigned int *): [out] 返回时钟速度(以 MHz 为单位)的引用。

mtmlVpuGetMaxClock​

MtmlReturn MTML_API mtmlVpuGetMaxClock(const MtmlVpu *vpu, unsigned int *clockMhz)

说明

  • 检索指定 VPU 支持的最大时钟速度。
  • 适用于除 S3000E 之外的所有产品。

参数

  • vpu (const MtmlVpu *): [in] 指向 VPU 不透明对象的指针。
  • clockMhz (unsigned int *): [out] 返回时钟速度(以 MHz 为单位)的引用。

mtmlVpuGetCodecCapacity​

MtmlReturn MTML_API mtmlVpuGetCodecCapacity(const MtmlVpu *vpu, unsigned int *encodeCapacity, unsigned int *decodeCapacity)

说明

  • 检索指定VPU的容量,即支持的并发编解码器会话的最大数量。编解码会话是对独立视频流的处理,可以分为编码器会话和解码器会话。编码器会话是指视频编码处理,而解码器会话表示解码处理。
  • 编码器会话可以通过其 ID (会话 ID) 引用,范围从 0 到 encodeCapacity - 1。解码器会话可以通过其 ID (会话 ID) 引用,范围从 0 到 decodeCapacity - 1。
  • 适用于所有产品。

参数

  • vpu (const MtmlVpu *): [in] 指向 VPU 不透明对象的指针。
  • encodeCapacity (unsigned int *): [out] 返回编码并发会话容量的引用。
  • decodeCapacity (unsigned int *): [out] 返回解码并发会话容量的引用。

mtmlVpuGetEncoderSessionStates​

MtmlReturn MTML_API mtmlVpuGetEncoderSessionStates(const MtmlVpu *vpu, MtmlCodecSessionState *states, unsigned int length)

说明

  • 检索指定 VPU 上每个编码器会话的状态。输出 states 是一个 MtmlCodecSessionState 数组,其中每个元素代表单个编码器会话的状态。编码器会话的状态填充在数组索引等于会话 ID 的位置,即 states[x] 将是编码器会话 x 的状态。如果 states 数组 N 的大小小于编码器会话容量,则将返回前 N 个(即,会话 ID 范围从 0 到 N-1)会话的状态。否则,如果 N 大于编码器会话容量,则 states 数组的额外空间将用 MTML_CODEC_SESSION_STATE_UNKNOWN 填充。 VPU 的编码器会话容量可以从 mtmlVpuGetCodecCapacity() 中检索,它可以用作 states 数组的适当大小来保存所有编码器会话的状态。
  • 适用于所有产品。

参数

  • vpu (const MtmlVpu *): [in] 指向 VPU 不透明对象的指针。
  • states (MtmlCodecSessionState *): [out] 返回编码器会话状态的引用。
  • length (unsigned int): [in] state 数组的大小。

mtmlVpuGetEncoderSessionMetrics​

MtmlReturn MTML_API mtmlVpuGetEncoderSessionMetrics(const MtmlVpu *vpu, unsigned int sessionId, MtmlCodecSessionMetrics *metrics)

说明

  • 检索指定编码器会话的指标。如果会话不活动(没有附加到会话的系统进程),则输出 metrics 结构体的 pid 字段将设置为零。否则,会话被视为活动会话,并且输出 metrics 结构会填充有效数据。

参数

  • vpu (const MtmlVpu *): [in] 指向 VPU 不透明对象的指针。
  • sessionId (unsigned int): [in] 要查询其指标的会话的 ID。
  • metrics (MtmlCodecSessionMetrics *): [out] 指向保存会话指标的输出结构体的指针。

注

  • 对于此版本,输出结构体中的延迟字段始终为 0。
  • 如果 vpu 参数是虚拟 VPU,则此版本的输出结构体中的 pid 字段始终为 0。

mtmlVpuGetDecoderSessionStates​

MtmlReturn MTML_API mtmlVpuGetDecoderSessionStates(const MtmlVpu *vpu, MtmlCodecSessionState *states, unsigned int length)

说明

  • 检索指定 VPU 上每个解码器会话的状态。输出 states 是一个 MtmlCodecSessionState 数组,其中每个元素代表单个解码器会话的状态。解码器会话的状态填充在数组索引等于会话 ID 的位置,即 states[x] 将是解码器会话 x 的状态。如果 states 数组 N 的大小小于解码器会话容量,则将返回前 N 个(即,会话 ID 范围从 0 到 N-1)会话的状态。否则,如果 N 大于解码器会话容量,则 states 数组的额外空间将用 MTML_CODEC_SESSION_STATE_UNKNOWN 填充。 VPU 的解码器会话容量可以从 mtmlVpuGetCodecCapacity() 中检索,它可以用作 states 数组的适当大小来保存所有解码器会话的状态。
  • 适用于所有产品。

参数

  • vpu (const MtmlVpu *): [in] 指向 VPU 不透明对象的指针。
  • states (MtmlCodecSessionState *): [out] 返回解码器会话状态的引用。
  • length (unsigned int): [in] state 数组的大小。

mtmlVpuGetDecoderSessionMetrics​

MtmlReturn MTML_API mtmlVpuGetDecoderSessionMetrics(const MtmlVpu *vpu, unsigned int sessionId, MtmlCodecSessionMetrics *metrics)

说明

  • 检索指定解码器会话的指标。如果会话不活动(没有附加到会话的系统进程),则输出 metrics 结构的 pid 字段将设置为零。否则,会话被视为活动会话,并且输出 metrics 结构会填充有效数据。

参数

  • vpu (const MtmlVpu *): [in] 指向 VPU 不透明对象的指针。
  • sessionId (unsigned int): [in] 要查询其指标的会话的 ID。
  • metrics (MtmlCodecSessionMetrics *): [out] 指向保存会话指标的输出结构体的指针。

注

  • 输出结构体中的延迟字段始终为 0。
  • 如果 vpu 参数是虚拟 VPU,则此版本的输出结构体中的 pid 字段始终为 0。

日志函数​

  • 本组介绍日志函数。

mtmlLogSetConfiguration​

MtmlReturn MTML_API mtmlLogSetConfiguration(const MtmlLogConfiguration *configuration)

说明

  • 配置 MTML 日志记录器。

参数

mtmlLogGetConfiguration​

MtmlReturn MTML_API mtmlLogGetConfiguration(MtmlLogConfiguration *configuration)

说明

  • 获取 MTML 日志记录器的配置。

参数


错误报告​

  • 该组引入了错误报告例程的辅助函数。

mtmlErrorString​

const MTML_API char* mtmlErrorString(MtmlReturn result)

说明

  • 将 MTML 错误代码转换为可读字符串的帮助方法。
  • 适用于所有产品。

参数

  • result (MtmlReturn):要转换的 MTML 错误代码。

返回值

  • 错误的字符串表示形式。

MPC 函数​

  • 本章介绍与多主核心 (MPC) 管理相关的 MTML 操作。

mtmlDeviceSetMpcMode​

MtmlReturn MTML_API mtmlDeviceSetMpcMode(const MtmlDevice *device, MtmlMpcMode mode)

说明

  • 设置设备的 MPC 模式。该模式决定是否可以创建MPC实例或配置设备。
  • 重要: 调用此 API 后,库分配的所有不透明指针(例如 MtmlDevice、MtmlGpu 等,不包括 MtmlLibrary 指针本身)都将变得无效。因此,继续使用这些指针将导致未定义的行为。一旦此 API 调用返回,用户应释放所有这些指针并通过调用 mtmlLibraryShutDown API 关闭库。之后,如果需要,用户可以重新初始化库并根据需要从干净状态开始获取新的不透明指针。
  • 适用于 CHUNXIAO 或较新的完全支持的设备。仅在 Linux 上受支持。

参数

mtmlDeviceGetMpcMode​

MtmlReturn MTML_API mtmlDeviceGetMpcMode(const MtmlDevice *device, MtmlMpcMode *currentMode)

说明

  • 获取设备的 MPC 模式。
  • 适用于 CHUNXIAO 或较新的完全支持的设备。

参数

mtmlDeviceCountSupportedMpcProfiles​

MtmlReturn MTML_API mtmlDeviceCountSupportedMpcProfiles(const MtmlDevice *parentDevice, unsigned int *count)

说明

  • 获取给定设备支持的配置文件数量。
  • 适用于 CHUNXIAO 或较新的完全支持的设备。仅在 Linux 中受支持。

参数

  • parentDevice (const MtmlDevice *): [in] 对父 MPC 设备的引用。
  • count (unsigned int *): [out] 返回设备支持的配置文件数量。

mtmlDeviceGetSupportedMpcProfiles​

MtmlReturn MTML_API mtmlDeviceGetSupportedMpcProfiles(const MtmlDevice *parentDevice, unsigned int count, MtmlMpcProfile *info)

说明

  • 获取给定设备支持的配置文件。
  • 适用于 CHUNXIAO 或较新的完全支持的设备。仅在 Linux 上受支持。

参数

mtmlDeviceCountSupportedMpcConfigurations​

MtmlReturn MTML_API mtmlDeviceCountSupportedMpcConfigurations(const MtmlDevice *parentDevice, unsigned int *count)

说明

  • 检索给定设备支持的配置数量。
  • 适用于 CHUNXIAO 或较新的完全支持的设备。仅在 Linux 上受支持。

参数

  • parentDevice (const MtmlDevice *): [in] 对父 MPC 设备的引用。
  • count (unsigned int *): [out] 返回配置数量的引用。

mtmlDeviceGetSupportedMpcConfigurations​

MtmlReturn MTML_API mtmlDeviceGetSupportedMpcConfigurations(const MtmlDevice *parentDevice, unsigned int count, MtmlMpcConfiguration *info)

说明

  • 检索给定设备的支持配置信息。
  • 适用于 CHUNXIAO 或较新的完全支持的设备。仅在 Linux 上受支持。

参数

mtmlDeviceGetMpcConfiguration​

MtmlReturn MTML_API mtmlDeviceGetMpcConfiguration(const MtmlDevice *parentDevice, MtmlMpcConfiguration *config)

说明

  • 检索目标设备的当前配置信息。
  • 适用于 CHUNXIAO 或较新的完全支持的设备。仅在 Linux 上受支持。

参数

mtmlDeviceGetMpcConfigurationByName​

MtmlReturn MTML_API mtmlDeviceGetMpcConfigurationByName(const MtmlDevice *parentDevice, const char *configName, MtmlMpcConfiguration *config)

说明

  • 检索与目标设备的配置名称相对应的配置信息。该接口只会返回当前设备支持的配置。请参阅mtmlDeviceGetSupportedMpcConfigurations。
  • 适用于 CHUNXIAO 或较新的完全支持的设备。仅在 Linux 上受支持。

参数

  • parentDevice (const MtmlDevice *): [in] 对父 MPC 设备的引用。
  • configName (const char *): [in] 对配置名称的引用。
  • config (MtmlMpcConfiguration *): [out] 返回配置。

mtmlDeviceSetMpcConfiguration​

MtmlReturn MTML_API mtmlDeviceSetMpcConfiguration(const MtmlDevice *parentDevice, unsigned int id)

说明

  • 设置设备的有效 MPC 配置。
  • 重要: 调用此 API 后,库分配的所有不透明指针(MtmlDevice、MtmlGpu 等,但不包括 MtmlLibrary 指针本身)将变得无效,因此继续使用这些指针是未定义行为。一旦该 API 返回,用户应通过调用 mtmlLibraryShutDown API 正确释放所有这些指针并关闭库。用户可以重新初始化库,然后根据需要获取不透明指针,就像重新开始一样。
  • 适用于 CHUNXIAO 或较新的完全支持的设备。仅在 Linux 上受支持。

参数

mtmlDeviceCountMpcInstancesByProfileId​

MtmlReturn MTML_API mtmlDeviceCountMpcInstancesByProfileId(const MtmlDevice *parentDevice, unsigned int profileId, unsigned int *count)

说明

  • 获取给定配置文件 ID 的预先存在的 MPC 实例数量。
  • 适用于 CHUNXIAO 或较新的完全支持的设备。仅在 Linux 上受支持。

参数

  • parentDevice (const MtmlDevice *): [in] 对父 MPC 设备的引用。
  • profileId(无符号整数):[in] 配置文件 ID。请参阅mtmlDeviceGetSupportedMpcProfiles。
  • count (unsigned int *): [out] 返回带有目标配置文件 ID 的预先存在的 MPC 实例数量。

mtmlDeviceGetMpcInstancesByProfileId​

MtmlReturn MTML_API mtmlDeviceGetMpcInstancesByProfileId(const MtmlDevice *parentDevice, unsigned int profileId, unsigned int count, MtmlDevice **mpcInstance)

说明

  • 获取给定配置文件 ID 的预先存在的 MPC 实例。
  • 适用于 CHUNXIAO 或较新的完全支持的设备。仅在 Linux 中受支持。

参数

mtmlDeviceCountMpcInstances​

MtmlReturn MTML_API mtmlDeviceCountMpcInstances(const MtmlDevice *parentDevice, unsigned int *count)

说明

  • 获取给定设备预先存在的 MPC 实例数量。
  • 适用于 CHUNXIAO 或较新的完全支持的设备。仅在 Linux 上受支持。

参数

  • parentDevice (const MtmlDevice *): [in] 对父 MPC 设备的引用。
  • count (unsigned int *): [out] 预先存在的 MPC 实例数量。

mtmlDeviceGetMpcInstances​

MtmlReturn MTML_API mtmlDeviceGetMpcInstances(const MtmlDevice *parentDevice, unsigned int count, MtmlDevice **mpcInstance)

说明

  • 获取给定设备预先存在的 MPC 实例。
  • 适用于 CHUNXIAO 或较新的完全支持的设备。仅在 Linux 上受支持。

参数

  • parentDevice (const MtmlDevice *): [in] 对父 MPC 设备的引用。
  • count (unsigned int): [in] mpcInstance 指向的缓冲区大小。请参阅mtmlDeviceCountMpcInstances。
  • mpcInstance (MtmlDevice **): [out] 返回预先存在的 MPC 设备。

mtmlDeviceGetMpcInstanceByIndex​

MtmlReturn MTML_API mtmlDeviceGetMpcInstanceByIndex(const MtmlDevice *parentDevice, unsigned int index, MtmlDevice **mpcInstance)

说明

  • 获取其父 MPC 设备下给定索引的 MPC 实例。
  • 如果 MPC 实例被销毁,无论是明确的还是由于父设备的销毁、重置或解除绑定,必须再次发出对 MPC 实例的请求。必须再次请求重置或解除绑定父设备。句柄可以重复使用,并且它们的属性可以在此过程中改变。
  • 适用于 CHUNXIAO 或较新的完全支持的设备。仅在 Linux 中受支持。

参数

  • parentDevice (const MtmlDevice *): [in] 对父 MPC 设备的引用。
  • index(无符号整数):[in] MPC 实例的索引。
  • mpcInstance (MtmlDevice **): [out] 对 MPC 实例的引用。

mtmlDeviceGetMpcParentDevice​

MtmlReturn MTML_API mtmlDeviceGetMpcParentDevice(const MtmlDevice *mpcInstance, MtmlDevice **parentDevice)

说明

  • 从 MPC 实例获取 MPC 父设备。在某些环境下,例如当 libmtml 在未映射相应父设备的容器中运行时,此 API 可能会返回未知错误。但是,需要注意的是,实例设备本身仍应正常运行,不会出现任何问题。在这种情况下,调用者应用程序有责任决定如何适当地解释和处理错误。
  • 适用于 CHUNXIAO 或较新的完全支持的设备。仅在 Linux 上受支持。

参数

  • mpcInstance (const MtmlDevice *): [in] 对 MPC 实例的引用。
  • parentDevice (MtmlDevice **): [out] 对 MPC 父设备的引用。

mtmlDeviceGetMpcProfileInfo​

MtmlReturn MTML_API mtmlDeviceGetMpcProfileInfo(const MtmlDevice *mpcInstance, MtmlMpcProfile *profileInfo)

说明

  • 获取MPC实例的配置文件信息。
  • 适用于 CHUNXIAO 或较新的完全支持的设备。仅在 Linux 上受支持。

参数

  • mpcInstance (const MtmlDevice *): [in] 对 MPC 实例的引用。
  • profileInfo (MtmlMpcProfile *): [out] MPC 实例配置文件 ID。

mtmlDeviceGetMpcInstanceIndex​

MtmlReturn MTML_API mtmlDeviceGetMpcInstanceIndex(const MtmlDevice *mpcInstance, unsigned int *index)

说明

  • 获取其父设备下的MPC实例索引。
  • 适用于 CHUNXIAO 或较新的完全支持的设备。仅在 Linux 上受支持。

参数

  • mpcInstance (const MtmlDevice *): [in] 对 MPC 实例的引用。
  • index (unsigned int *): [out] MPC 实例的索引。

  • 本组介绍设备 MtLink 功能。

mtmlDeviceGetMtLinkSpec​

MtmlReturn MTML_API mtmlDeviceGetMtLinkSpec(const MtmlDevice *device, MtmlMtLinkSpec *spec)

说明

  • 检索指定设备的 MtLink 规格。适用于 QUYUAN 或更新的完全支持的设备。

参数

  • device (const MtmlDevice *): [in] 指向目标设备的指针。
  • spec (MtmlMtLinkSpec *): [out] 返回规范的引用。

mtmlDeviceGetMtLinkState​

MtmlReturn MTML_API mtmlDeviceGetMtLinkState(const MtmlDevice *device, unsigned int linkId, MtmlMtLinkState *state)

说明

  • 检索指定链路的状态。适用于 QUYUAN 或更新的完全支持的设备。

参数

  • device (const MtmlDevice *): [in] 指向目标设备的指针。
  • linkId (unsigned int): [in] 指定要查询的链路ID。
  • state (MtmlMtLinkState *): [out] MtmlMtLinkState 其中 MTML_MTLINK_STATE_DOWN 表示链路处于非活动状态,MTML_MTLINK_STATE_UP 表示链路处于活动状态。

mtmlDeviceGetMtLinkCapStatus​

MtmlReturn MTML_API mtmlDeviceGetMtLinkCapStatus(const MtmlDevice *device, unsigned int linkId, MtmlMtLinkCap capability, MtmlMtLinkCapStatus *status)

说明

  • 检索设备指定链路所请求能力的状态。具体可查询的能力请参阅MtmlMtLinkCap结构体。
  • 适用于 QUYUAN 或更新的完全支持的设备。

参数

mtmlDeviceGetMtLinkRemoteDevice​

MtmlReturn MTML_API mtmlDeviceGetMtLinkRemoteDevice(const MtmlDevice *device, unsigned int linkId, MtmlDevice **remoteDevice)

说明

  • 检索通过指定链路直接连接的远程设备的句柄。
  • 适用于 QUYUAN 或更新的完全支持的设备。

参数

  • device (const MtmlDevice *): [in] 指向目标设备的指针。
  • linkId (unsigned int): [in] 指定要查询的链路ID。
  • remoteDevice (MtmlDevice **): [out] 远程设备句柄。

mtmlDeviceCountMtLinkShortestPaths​

MtmlReturn MTML_API mtmlDeviceCountMtLinkShortestPaths(const MtmlDevice *localDevice, const MtmlDevice *remoteDevice, unsigned int *pathCount, unsigned int *pathLength)

说明

  • 检索两个设备之间的最短路径的数量和路径的长度。路径的长度定义为从本地设备到远程设备经过的节点数,包括本地设备和远程设备本身。例如,如果路径为:localDevice -> device1 -> device2 -> remoteDevice,则 pathLength 为 4。
  • 适用于 QUYUAN 或更新的完全支持的设备。

参数

  • localDevice (const MtmlDevice *): [in] 指向本地设备的指针。
  • remoteDevice (const MtmlDevice *): [in] 指向远程设备的指针。
  • pathCount (unsigned int *): [out] 本地和远程设备之间的最短路径数量。
  • pathLength (unsigned int *): [out] 形成最短路径的设备数量。

mtmlDeviceGetMtLinkShortestPaths​

MtmlReturn MTML_API mtmlDeviceGetMtLinkShortestPaths(const MtmlDevice *localDevice, const MtmlDevice *remoteDevice, unsigned int pathCount, unsigned int pathLength, MtmlDevice **paths)

说明

  • 检索两个设备之间的所有最短路径。注意:每个路径都表示为设备句柄的一维数组,其中第一个元素是“localDevice”句柄,后续元素是形成路径的设备句柄,直到最后一个元素是“remoteDevice”句柄。例如,路径可能类似于:{localDevice, device1, device2, remoteDevice} 为了容纳此 API 的输出,需要 MtmlDevice* 类型的二维数组。对于视觉表示:MtmlDevice* 路径[pathCount][pathLength]。对于 pathCount 和 pathLength,请参阅 mtmlDeviceCountMtLinkShortestPaths。
  • 适用于 QUYUAN 或更新的完全支持的设备。

参数

mtmlDeviceCountMtLinkLayouts​

MtmlReturn MTML_API mtmlDeviceCountMtLinkLayouts(const MtmlDevice *localDevice, const MtmlDevice *remoteDevice, unsigned int *linkCount)

说明

  • 检索两个直接连接的设备之间的链路数量。
  • 适用于 QUYUAN 或更新的完全支持的设备。

参数

  • localDevice (const MtmlDevice *): [in] 指向本地设备的指针。
  • remoteDevice (const MtmlDevice *): [in] 指向远程设备的指针。
  • linkCount (unsigned int *): [out] 存储链路数量的引用。

mtmlDeviceGetMtLinkLayouts​

MtmlReturn MTML_API mtmlDeviceGetMtLinkLayouts(const MtmlDevice *localDevice, const MtmlDevice *remoteDevice, unsigned int linkCount, MtmlMtLinkLayout *layouts)

说明

  • 检索两个直接连接的设备之间的链路。
  • 适用于 QUYUAN 或更新的完全支持的设备。

参数

  • localDevice (const MtmlDevice *): [in] 指向本地设备的指针。
  • remoteDevice (const MtmlDevice *): [in] 指向目标设备的指针。
  • linkCount (unsigned int): [in] 链路数量。
  • layouts (MtmlMtLinkLayout *): [out] 返回链路数据的缓冲区。

亲和性函数​

  • 本组介绍设备亲和性功能。

mtmlDeviceGetMemoryAffinityWithinNode​

MtmlReturn MTML_API mtmlDeviceGetMemoryAffinityWithinNode(const MtmlDevice *device, unsigned int nodeSetSize, unsigned long *nodeSet)

说明

  • 检索具有设备内理想内存亲和性的位掩码的无符号整数数组(大小为 nodeSetSize)。例如,如果 NUMA 节点 0、1 是设备的理想选择,并且 nodeSetSize == 1,则 result[0] = 0x3。

参数

  • device (const MtmlDevice *): [in] 目标设备的标识符。
  • nodeSetSize (unsigned int): [in] 可安全访问的nodeSet 数组的大小。
  • nodeSet (unsigned long *): [out] 数组引用,用于返回 NODE 位掩码,在 64 位计算机上每个 unsigned long 64 个节点,在 32 位计算机上每个 unsigned long 64 个节点。

注

  • 如果请求的范围不适用于目标拓扑,API 将回退到报告设备的直接非 I/O 祖先的内存亲和性。

mtmlDeviceGetCpuAffinityWithinNode​

MtmlReturn MTML_API mtmlDeviceGetCpuAffinityWithinNode(const MtmlDevice *device, unsigned int cpuSetSize, unsigned long *cpuSet)

说明

  • 检索与设备具有理想 CPU 亲和力的位掩码的无符号整数数组(大小为 cpuSetSize)。例如,在 32 位机器中,如果处理器 0、1、33 和 34 非常适合该设备,并且 cpuSetSize == 2、result[0] = 0x3、result[1] = 0x6。
  • 适用于 SUDI 或更新的完全支持的设备。仅 Linux 支持。

参数

  • device (const MtmlDevice *): [in] 目标设备的标识符。
  • cpuSetSize (unsigned int): [in] 可安全访问的 cpuSet 数组的大小。
  • cpuSet (unsigned long *):[out] 数组引用,用于返回 CPU 位掩码,64 位机器上每个 unsigned long 包含 64 个 CPU,32 位机器上包含 32 个 CPU。

mtmlDeviceReset​

MtmlReturn MTML_API mtmlDeviceReset(const MtmlDevice *device)

说明

  • 触发整个设备的重置。
  • 重要: 在调用此 API 之前,请确保当前环境上没有 GPU 负载。
  • 适用于所有设备。仅在 Linux 上受支持。

参数

  • device (const MtmlDevice *): [in] 目标设备的指针。

mtmlMemorySetEccMode​

MtmlReturn MTML_API mtmlMemorySetEccMode(const MtmlMemory *mem, MtmlEccMode mode)

说明

  • 设置内存的 ECC 模式。
  • 适用于 PINGHU 或较新的完全支持的设备。
  • 该操作在下次重新启动后生效。

参数

mtmlMemoryGetEccMode​

MtmlReturn MTML_API mtmlMemoryGetEccMode(const MtmlMemory *mem, MtmlEccMode *currentMode, MtmlEccMode *pendingMode)

说明

  • 检索内存的当前和待处理的 ECC 模式。
  • 适用于 PINGHU 或较新的完全支持的设备。
  • 需要启用 ECC 模式。

参数

mtmlMemoryGetRetiredPagesCount​

MtmlReturn MTML_API mtmlMemoryGetRetiredPagesCount(const MtmlMemory *mem, MtmlPageRetirementCount *count)

说明

  • 获取给定内存的停用页面数量。
  • 适用于 PINGHU 或较新的完全支持的设备。
  • 需要启用 ECC 模式。

参数

mtmlMemoryGetRetiredPages​

MtmlReturn MTML_API mtmlMemoryGetRetiredPages(const MtmlMemory *mem, MtmlPageRetirementCause cause, unsigned int count, MtmlPageRetirement *pageRetirements)

说明

  • 按来源返回停用页面的列表,包括等待停用的页面 此 API 提供的地址信息是已停用页面的硬件地址。
  • 适用于 PINGHU 或较新的完全支持的设备。
  • 需要启用 ECC 模式。

参数

mtmlMemoryGetRetiredPagesPendingStatus​

MtmlReturn MTML_API mtmlMemoryGetRetiredPagesPendingStatus(const MtmlMemory *mem, MtmlRetiredPagesPendingState *isPending)

说明

  • 验证是否有任何页面等待停用,需要重新启动才能完成该过程。
  • 适用于 PINGHU 或较新的完全支持的设备。
  • 需要启用 ECC 模式。

参数

mtmlMemoryGetEccErrorCounter​

MtmlReturn MTML_API mtmlMemoryGetEccErrorCounter(const MtmlMemory *mem, MtmlMemoryErrorType errorType, MtmlEccCounterType counterType, MtmlMemoryLocation locationType, unsigned long long *eccCounts)

说明

  • 检索设备请求的内存 ECC 错误计数器。
  • 适用于 PINGHU 或较新的完全支持的设备。
  • 需要启用 ECC 模式。

参数

  • mem (const MtmlMemory *): 目标内存的标识符
  • errorType (MtmlMemoryErrorType):指定错误类型的标志。
  • counterType (MtmlEccCounterType):指定错误计数器类型的标志。
  • locationType (MtmlMemoryLocation):指定计数器位置的位掩码。
  • eccCounts (unsigned long long *):返回指定 ECC 错误的引用

mtmlMemoryClearEccErrorCounts​

MtmlReturn MTML_API mtmlMemoryClearEccErrorCounts(const MtmlMemory *mem, MtmlEccCounterType counterType)

说明

  • 清除内存的 ECC 错误和其他内存错误计数。
  • 适用于 PINGHU 或较新的完全支持的设备。
  • 需要启用 ECC 模式。
  • 将所有指定的 ECC 计数器设置为 0,包括详细计数和总计数。
  • 此操作立即生效。

参数

  • mem (const MtmlMemory *): [in] 目标内存的标识符。
  • counterType (MtmlEccCounterType): [in] 指示应清除哪种类型的错误的标志。

mtmlDeviceGetMusaComputeCapability​

MtmlReturn MTML_API mtmlDeviceGetMusaComputeCapability(const MtmlDevice *device, int *major, int *minor)

说明

  • 检索设备的 MUSA 计算能力。
  • 适用于所有产品。
  • 返回设备支持的计算能力版本号。主要版本和次要版本相当于 MUSA 的 muDeviceGetAttribute() 返回的值。

参数

  • device (const MtmlDevice *): [in] 目标设备的标识符。
  • major (int *): [in] 返回主要 MUSA 计算能力的引用。
  • minor (int *): [out] 返回次要 MUSA 计算能力的引用。

数据结构​

结构体


MtmlCodecSessionMetrics​

  • 编解码器会话指标。

字段​

字段类型说明
idunsigned int代码会话的唯一标识符。
pidunsigned int进程 ID。 0 表示会话空闲,否则会话被认为是活动的。
hResolutionunsigned int水平分辨率(以像素为单位)。这是指编码大小,可能与 FFmpeg 等视频应用程序中显示的存储大小不同。
vResolutionunsigned int垂直分辨率(以像素为单位)。这是指编码大小,可能与 FFmpeg 等视频应用程序中显示的存储大小不同。
frameRateunsigned int每秒的帧数。
bitRateunsigned int每秒的位数。
latencyunsigned int编解码器延迟(以微秒为单位)。
codecTypeMtmlCodecType编解码器类型。例如,H.265 和 AV1。
rsvdint保留以供将来扩展。
id​
unsigned int MtmlCodecSessionMetrics::id

说明

  • 代码会话的唯一标识符。
pid​
unsigned int MtmlCodecSessionMetrics::pid

说明

  • 进程ID。 0 表示会话空闲,否则会话被认为是活动的。
hResolution​
unsigned int MtmlCodecSessionMetrics::hResolution

说明

  • 以像素为单位的水平分辨率。这是指编码大小,可能与 FFmpeg 等视频应用程序中显示的存储大小不同。
vResolution​
unsigned int MtmlCodecSessionMetrics::vResolution

说明

  • 垂直分辨率(以像素为单位)。这是指编码大小,可能与 FFmpeg 等视频应用程序中显示的存储大小不同。
frameRate​
unsigned int MtmlCodecSessionMetrics::frameRate

说明

  • 每秒的帧数。
bitRate​
unsigned int MtmlCodecSessionMetrics::bitRate

说明

  • 每秒的位数。
latency​
unsigned int MtmlCodecSessionMetrics::latency

说明

  • 编解码器延迟(以微秒为单位)。
codecType​
MtmlCodecType MtmlCodecSessionMetrics::codecType

说明

  • 编解码器类型。例如,H.265 和 AV1。
rsvd​
int MtmlCodecSessionMetrics::rsvd[4]

说明

  • 保留供将来扩展。

MtmlCodecUtil​

  • 设备上的编解码器利用率百分比。

字段​

字段类型说明
utilunsigned int编解码器在采样周期内的总体利用率。
periodunsigned int采样时间段,以微秒为单位。
encUtilunsigned int采样周期内的编码器利用率。
decUtilunsigned int采样周期内的解码器利用率。
rsvdint保留以供将来扩展。
util​
unsigned int MtmlCodecUtil::util

说明

  • 编解码器在采样周期内的总体利用率。
period​
unsigned int MtmlCodecUtil::period

说明

  • 采样时间段,以微秒为单位。
encUtil​
unsigned int MtmlCodecUtil::encUtil

说明

  • 采样周期内的编码器利用率。
decUtil​
unsigned int MtmlCodecUtil::decUtil

说明

  • 采样周期内的解码器利用率。
rsvd​
int MtmlCodecUtil::rsvd[2]

说明

  • 保留供将来扩展。

MtmlDeviceProperty​

  • 设备的属性。
  • 注意:不支持虚拟化的物理设备(例如 S10)可能仍然能够以直通方式使用。对于此类设备,其“virtCap”字段为“0 - 不可虚拟化”。

字段​

字段类型说明
virtCapunsigned int该字段表示设备的虚拟化能力(设备是否支持虚拟化):0表示不可虚拟化,1表示可虚拟化。请参阅MtmlVirtCapability。
virtRoleunsigned int该字段指示该设备在支持虚拟化的环境中扮演的角色。请参阅MtmlVirtRole。
mpcCapunsigned int该字段指示该设备是否具有 MPC 能力。 0表示不具有MPC能力,1表示具有MPC能力。请参阅MtmlMpcCapability。
mpcTypeunsigned int该字段指示该设备的 MPC 类型。 0 表示非 MPC 类型,1 表示 MPC 父类型,2 表示 MPC 实例类型。请参阅MtmlMpcType。
mtLinkCapunsigned int该字段指示该设备是否具有 MtLink 能力。 0表示不支持MtLink能力,1表示支持MtLink能力。请参阅MtmlMtLinkCapability。
rsvdunsigned int保留以供将来扩展。
rsvd2unsigned int保留以供将来扩展。
virtCap​
unsigned int MtmlDeviceProperty::virtCap

说明

  • 该字段表示设备的虚拟化能力(设备是否支持虚拟化):0表示不可虚拟化,1表示可虚拟化。请参阅MtmlVirtCapability。
virtRole​
unsigned int MtmlDeviceProperty::virtRole

说明

  • 该字段指示该设备在支持虚拟化的环境中扮演的角色。请参阅MtmlVirtRole。
mpcCap​
unsigned int MtmlDeviceProperty::mpcCap

说明

  • 该字段指示该设备是否具有 MPC 能力。 0表示不具有MPC能力,1表示具有MPC能力。请参阅MtmlMpcCapability。
mpcType​
unsigned int MtmlDeviceProperty::mpcType

说明

  • 该字段指示该设备的 MPC 类型。 0 表示非 MPC 类型,1 表示 MPC 父类型,2 表示 MPC 实例类型。请参阅MtmlMpcType。
mtLinkCap​
unsigned int MtmlDeviceProperty::mtLinkCap

说明

  • 该字段指示该设备是否具有 MtLink 能力。 0表示不支持MtLink能力,1表示支持MtLink能力。请参阅MtmlMtLinkCapability。
rsvd​
unsigned int MtmlDeviceProperty::rsvd

说明

  • 保留供将来扩展。
rsvd2​
unsigned int MtmlDeviceProperty::rsvd2

说明

  • 保留供将来扩展。

MtmlDispIntfSpec​

字段​

字段类型说明
typeMtmlDispIntfType
maxHoriResunsigned int
maxVertResunsigned int
maxRefreshRatefloat
rsvdunsigned int
type​
MtmlDispIntfType MtmlDispIntfSpec::type
maxHoriRes​
unsigned int MtmlDispIntfSpec::maxHoriRes
maxVertRes​
unsigned int MtmlDispIntfSpec::maxVertRes
maxRefreshRate​
float MtmlDispIntfSpec::maxRefreshRate
rsvd​
unsigned int MtmlDispIntfSpec::rsvd[8]

MtmlLogConfiguration​

  • MTML 日志记录器的配置。

字段​

字段类型说明
levelMtmlLogLevel配置日志记录器的级别。
rsvdint保留用于将来的扩展。
consoleConfigstruct MtmlLogConfiguration::@0日志输出到标准输出。
systemConfigstruct MtmlLogConfiguration::@1日志输出到syslog,仅Linux支持。
filechar设置日志输出的文件。如果此字段设置为有效路径,MTML 将保持文件打开。将其设置为空字符串,以防需要关闭先前打开的文件。
sizeunsigned int设置文件中的最大日志大小,超过大小时将被清除。
fileConfigstruct MtmlLogConfiguration::@2日志输出到用户指定的文件中。
callbackvoid(*回调将获取所有日志。
callbackConfigstruct MtmlLogConfiguration::@3日志输出到用户指定的回调。
level​
MtmlLogLevel MtmlLogConfiguration::level

说明

  • 配置日志记录器的级别。
rsvd​
int MtmlLogConfiguration::rsvd

说明

  • 保留用于将来的扩展。
consoleConfig​
struct MtmlLogConfiguration::@0 MtmlLogConfiguration::consoleConfig

说明

  • 日志输出到标准输出。
systemConfig​
struct MtmlLogConfiguration::@1 MtmlLogConfiguration::systemConfig

说明

  • 日志输出到syslog,仅Linux支持。
file​
char MtmlLogConfiguration::file[MTML_LOG_FILE_PATH_BUFFER_SIZE]

说明

  • 设置日志输出的文件。如果此字段设置为有效路径,MTML 将保持文件打开。将其设置为空字符串,以防需要关闭先前打开的文件。
size​
unsigned int MtmlLogConfiguration::size

说明

  • 设置文件中的最大日志大小,超过大小时将被清理。
fileConfig​
struct MtmlLogConfiguration::@2 MtmlLogConfiguration::fileConfig

说明

  • 日志输出到用户指定的文件。
callback​
void(* MtmlLogConfiguration::callback) (const char *, unsigned int)

说明

  • 回调将获取所有日志。
callbackConfig​
struct MtmlLogConfiguration::@3 MtmlLogConfiguration::callbackConfig

说明

  • 日志输出到用户指定的回调。

MtmlMpcConfiguration​

  • MPC 设备配置信息。

字段​

字段类型说明
idunsigned int设备内的配置 ID。
namechar配置名称。
profileIdint配置文件 ID 包含在配置 ID 中。用-1来区分。例如,4111-4-1-1-1。表示当前配置由1个配置文件 ID 4和3个配置文件 ID 1组成。
rsvdunsigned int
id​
unsigned int MtmlMpcConfiguration::id

说明

  • 设备内的配置 ID。
name​
char MtmlMpcConfiguration::name[MTML_MPC_CONF_NAME_BUFFER_SIZE]

说明

  • 配置名称。
profileId​
int MtmlMpcConfiguration::profileId[MTML_MPC_CONF_MAX_PROF_NUM]

说明

  • 配置文件 ID 包含在配置 ID 中。用-1来区分。例如,4111-4-1-1-1。表示当前配置由1个配置文件 ID 4和3个配置文件 ID 1组成。
rsvd​
unsigned int MtmlMpcConfiguration::rsvd[24]

MtmlMpcProfile​

  • MPC 实例配置文件信息。

字段​

字段类型说明
idunsigned int设备内的配置文件 ID。
coreCountunsigned intMPC 核心数量。
memorySizeMBunsigned long long内存大小(以 MB 为单位)。
namechar配置文件名称。
rsvdunsigned int
id​
unsigned int MtmlMpcProfile::id

说明

  • 设备内的配置文件 ID。
coreCount​
unsigned int MtmlMpcProfile::coreCount

说明

  • MPC 核心数量。
memorySizeMB​
unsigned long long MtmlMpcProfile::memorySizeMB

说明

  • 内存大小(以 MB 为单位)。
name​
char MtmlMpcProfile::name[MTML_MPC_PROFILE_NAME_BUFFER_SIZE]

说明

  • 配置文件名称。
rsvd​
unsigned int MtmlMpcProfile::rsvd[10]

MtmlMtLinkLayout​

  • 有关 MtLink 连接布局的信息。

字段​

字段类型说明
localLinkIdunsigned int
remoteLinkIdunsigned int
rsvdunsigned int
localLinkId​
unsigned int MtmlMtLinkLayout::localLinkId
remoteLinkId​
unsigned int MtmlMtLinkLayout::remoteLinkId
rsvd​
unsigned int MtmlMtLinkLayout::rsvd[4]

MtmlMtLinkSpec​

  • MtLink 连接的规范。

字段​

字段类型说明
versionunsigned intMtLink 的版本,结合了主要组件、次要组件和补丁组件。版本计算:版本 = 10000 * 主版本 + 100 * 小版本 + 补丁。
bandWidthunsigned int每个链路的带宽(GB/s)。
linkNumunsigned int支持的最大链路数量。
rsvdunsigned int保留用于将来的扩展。
version​
unsigned int MtmlMtLinkSpec::version

说明

  • MtLink 版本,结合了主要组件、次要组件和补丁组件。版本计算:版本 = 10000 * 主版本 + 100 * 小版本 + 补丁。
bandWidth​
unsigned int MtmlMtLinkSpec::bandWidth

说明

  • 每个链路的带宽(GB/s)。
linkNum​
unsigned int MtmlMtLinkSpec::linkNum

说明

  • 支持的最大链路数量。
rsvd​
unsigned int MtmlMtLinkSpec::rsvd[4]

说明

  • 保留用于将来的扩展。

MtmlPageRetirement​

字段​

字段类型说明
timestampsunsigned long long停用页面开始时间
addressunsigned long long停用页面物理地址
rsvdunsigned int
timestamps​
unsigned long long MtmlPageRetirement::timestamps

说明

  • 停用页面开始时间
address​
unsigned long long MtmlPageRetirement::address

说明

  • 停用页面物理地址
rsvd​
unsigned int MtmlPageRetirement::rsvd[10]

MtmlPageRetirementCount​

  • ECC 模式。

字段​

字段类型说明
sbeCountunsigned int单比特 ECC 错误计数
dbeCountunsigned int双比特 ECC 错误计数
sbeCount​
unsigned int MtmlPageRetirementCount::sbeCount

说明

  • 单比特 ECC 错误计数
dbeCount​
unsigned int MtmlPageRetirementCount::dbeCount

说明

  • 双比特 ECC 错误计数

MtmlPageRetirementPending​

字段​

字段类型说明
causeMtmlPageRetirementCause
timestampsunsigned long long停用页面开始时间
addressunsigned long long停用页面物理地址
rsvdunsigned int
cause​
MtmlPageRetirementCause MtmlPageRetirementPending::cause
timestamps​
unsigned long long MtmlPageRetirementPending::timestamps

说明

  • 停用页面开始时间
address​
unsigned long long MtmlPageRetirementPending::address

说明

  • 停用页面物理地址
rsvd​
unsigned int MtmlPageRetirementPending::rsvd[10]

MtmlPciInfo​

  • 有关设备的 PCI 信息。

字段​

字段类型说明
sbdfchar元组段:bus:device.function PCI 标识符(& NULL 终止符)。
segmentunsigned int设备总线所在的 PCI 段组(域),0 到 0xffffffff。
busunsigned int设备所在的总线,0 到 0xff。
deviceunsigned int总线上的设备 ID,0 到 31。
pciDeviceIdunsigned int组合的 16 位设备 ID 和 16 位供应商 ID。
pciSubsystemIdunsigned int32 位子系统设备 ID。
busWidthunsigned int
pciMaxSpeedfloat设备的最大链路速度(每通道的传输速率)。单位为GT/s。
pciCurSpeedfloat设备的当前链路速度(每通道的传输速率)。单位为GT/s。
pciMaxWidthunsigned int设备的最大链路宽度。
pciCurWidthunsigned int设备当前的链路宽度。
pciMaxGenunsigned int设备支持的最大代数。
pciCurGenunsigned int当前一代的设备。
rsvdint保留以供将来扩展。
sbdf​
char MtmlPciInfo::sbdf[MTML_DEVICE_PCI_SBDF_BUFFER_SIZE]

说明

  • 元组段:bus:device.function PCI 标识符(& NULL 终止符)。
segment​
unsigned int MtmlPciInfo::segment

说明

  • 设备总线所在的 PCI 段组(域),0 到 0xffffffff。
bus​
unsigned int MtmlPciInfo::bus

说明

  • 设备所在的总线,0 到 0xff。
device​
unsigned int MtmlPciInfo::device

说明

  • 总线上的设备 ID,0 到 31。
pciDeviceId​
unsigned int MtmlPciInfo::pciDeviceId

说明

  • 组合的 16 位设备 ID 和 16 位供应商 ID。
pciSubsystemId​
unsigned int MtmlPciInfo::pciSubsystemId

说明

  • 32 位子系统设备 ID。
busWidth​
unsigned int MtmlPciInfo::busWidth

注

  • 已弃用:该值设置为零。
pciMaxSpeed​
float MtmlPciInfo::pciMaxSpeed

说明

  • 设备的最大链路速度(每通道传输速率)。单位为GT/s。
pciCurSpeed​
float MtmlPciInfo::pciCurSpeed

说明

  • 设备的当前链路速度(每通道的传输速率)。单位为GT/s。
pciMaxWidth​
unsigned int MtmlPciInfo::pciMaxWidth

说明

  • 设备的最大链路宽度。
pciCurWidth​
unsigned int MtmlPciInfo::pciCurWidth

说明

  • 设备的当前链路宽度。
pciMaxGen​
unsigned int MtmlPciInfo::pciMaxGen

说明

  • 设备支持的最大代数。
pciCurGen​
unsigned int MtmlPciInfo::pciCurGen

说明

  • 当前一代的设备。
rsvd​
int MtmlPciInfo::rsvd[6]

说明

  • 保留供将来扩展。

MtmlPciSlotInfo​

  • PCI 有关设备的插槽信息。

字段​

字段类型说明
slotIdunsigned intPCI 插槽的唯一 ID。
slotNamecharPCI 插槽的名称。
rsvdunsigned int保留以供将来扩展。
slotId​
unsigned int MtmlPciSlotInfo::slotId

说明

  • PCI 插槽的唯一 ID。
slotName​
char MtmlPciSlotInfo::slotName[MTML_DEVICE_SLOT_NAME_BUFFER_SIZE]

说明

  • PCI 插槽的名称。
rsvd​
unsigned int MtmlPciSlotInfo::rsvd[4]

说明

  • 保留供将来扩展。

MtmlPcieBar2MemoryInfo​

  • 有关设备的 PCIe BAR2 内存信息。

字段​

字段类型说明
bar2FreeBytesunsigned long longBAR2 内存的可用大小(以字节为单位)。
bar2TotalBytesunsigned long longBAR2 内存的总大小(以字节为单位)。
bar2UsedBytesunsigned long longBAR2 内存的已用大小(以字节为单位)。
bar2FreeBytes​
unsigned long long MtmlPcieBar2MemoryInfo::bar2FreeBytes

说明

  • BAR2 内存的可用大小(以字节为单位)。
bar2TotalBytes​
unsigned long long MtmlPcieBar2MemoryInfo::bar2TotalBytes

说明

  • BAR2 内存的总大小(以字节为单位)。
bar2UsedBytes​
unsigned long long MtmlPcieBar2MemoryInfo::bar2UsedBytes

说明

  • BAR2 内存的已用大小(以字节为单位)。

MtmlVirtType​

  • 描述虚拟化设备规范的虚拟化类型。

字段​

字段类型说明
idchar虚拟化类型的ID。例如,mtgpu-2008。
namechar虚拟化类型的名称。例如,mtgpu-8g。
apichar虚拟化类型的API类型。例如,vfio-pci。
horizontalResolutionunsigned intX 维度中的最大像素数。
verticalResolutionunsigned intY 维度中的最大像素数。
frameBufferunsigned int帧缓冲区大小(以兆字节为单位)。
maxEncodeNumunsigned int最大编码数量。
maxDecodeNumunsigned int最大解码数量。
maxInstancesunsigned int每个物理 GPU 的最大 vGPU 实例数量。
maxVirtualDisplayunsigned int显示头的数量。
rsvdint保留以供将来扩展。
id​
char MtmlVirtType::id[MTML_VIRT_TYPE_ID_BUFFER_SIZE]

说明

  • 虚拟化类型的 ID。例如,mtgpu-2008。
name​
char MtmlVirtType::name[MTML_VIRT_TYPE_NAME_BUFFER_SIZE]

说明

  • 虚拟化类型的名称。例如,mtgpu-8g。
api​
char MtmlVirtType::api[MTML_VIRT_TYPE_API_BUFFER_SIZE]

说明

  • 虚拟化类型的API类型。例如,vfio-pci。
horizontalResolution​
unsigned int MtmlVirtType::horizontalResolution

说明

  • X 维度中的最大像素数。
verticalResolution​
unsigned int MtmlVirtType::verticalResolution

说明

  • Y 维度中的最大像素数。
frameBuffer​
unsigned int MtmlVirtType::frameBuffer

说明

  • 帧缓冲区大小(以兆字节为单位)。
maxEncodeNum​
unsigned int MtmlVirtType::maxEncodeNum

说明

  • 最大编码数量。
maxDecodeNum​
unsigned int MtmlVirtType::maxDecodeNum

说明

  • 最大解码数量。
maxInstances​
unsigned int MtmlVirtType::maxInstances

说明

  • 每个物理 GPU 的最大 vGPU 实例数量。
maxVirtualDisplay​
unsigned int MtmlVirtType::maxVirtualDisplay

说明

  • 显示头的数量。
rsvd​
int MtmlVirtType::rsvd[11]

说明

  • 保留供将来扩展。

查找索引​

兼容性宏​

公共头文件提供以下兼容名称,这些名称直接映射到带版本后缀的 API 符号。

MTML_DEVICE_VBIOS_VERSION_BUFFER_SIZE​

MTML_DEVICE_VBIOS_VERSION_BUFFER_SIZE 映射到 MTML_DEVICE_MTBIOS_VERSION_BUFFER_SIZE。


数据类型索引​

类别名称参考
defineMTML_DEVICE_MTBIOS_VERSION_BUFFER_SIZE详情
defineMTML_DEVICE_NAME_BUFFER_SIZE详情
defineMTML_DEVICE_PATH_BUFFER_SIZE详情
defineMTML_DEVICE_PCI_BUS_ID_FMT详情
defineMTML_DEVICE_PCI_SBDF_BUFFER_SIZE详情
defineMTML_DEVICE_SERIAL_NUMBER_BUFFER_SIZE详情
defineMTML_DEVICE_SLOT_NAME_BUFFER_SIZE详情
defineMTML_DEVICE_UUID_BUFFER_SIZE详情
defineMTML_DEVICE_VBIOS_VERSION_BUFFER_SIZE详情
defineMTML_DRIVER_VERSION_BUFFER_SIZE详情
defineMTML_LIBRARY_VERSION_BUFFER_SIZE详情
defineMTML_LOG_FILE_PATH_BUFFER_SIZE详情
defineMTML_MEMORY_VENDOR_BUFFER_SIZE详情
defineMTML_MPC_CONF_MAX_PROF_NUM详情
defineMTML_MPC_CONF_NAME_BUFFER_SIZE详情
defineMTML_MPC_PROFILE_NAME_BUFFER_SIZE详情
defineMTML_VIRT_TYPE_API_BUFFER_SIZE详情
defineMTML_VIRT_TYPE_CLASS_BUFFER_SIZE详情
defineMTML_VIRT_TYPE_ID_BUFFER_SIZE详情
defineMTML_VIRT_TYPE_NAME_BUFFER_SIZE详情
enumMtmlBrandType详情
enumMtmlCodecSessionState详情
enumMtmlCodecType详情
enumMtmlDeviceP2PCaps详情
enumMtmlDeviceP2PStatus详情
enumMtmlDeviceTopologyLevel详情
enumMtmlDispIntfType详情
enumMtmlEccCounterType详情
enumMtmlEccMode详情
enumMtmlGpuEngine详情
enumMtmlLogLevel详情
enumMtmlMemoryErrorType详情
enumMtmlMemoryLocation详情
enumMtmlMemoryType详情
enumMtmlMpcCapability详情
enumMtmlMpcMode详情
enumMtmlMpcType详情
enumMtmlMtLinkCap详情
enumMtmlMtLinkCapability详情
enumMtmlMtLinkCapStatus详情
enumMtmlMtLinkState详情
enumMtmlPageRetirementCause详情
enumMtmlRetiredPagesPendingState详情
enumMtmlReturn详情
enumMtmlVirtCapability详情
enumMtmlVirtRole详情
typedefMtmlDevice详情
typedefMtmlGpu详情
typedefMtmlLibrary详情
typedefMtmlMemory详情
typedefMtmlSystem详情
typedefMtmlVpu详情

数据字段​

结构体字段类型说明参考
MtmlCodecSessionMetricsbitRateunsigned int每秒的位数。详情
MtmlCodecSessionMetricscodecTypeMtmlCodecType编解码器类型。例如,H.265 和 AV1。详情
MtmlCodecSessionMetricsframeRateunsigned int每秒的帧数。详情
MtmlCodecSessionMetricshResolutionunsigned int水平分辨率(以像素为单位)。这是指编码大小,可能与 FFmpeg 等视频应用程序中显示的存储大小不同。详情
MtmlCodecSessionMetricsidunsigned int代码会话的唯一标识符。详情
MtmlCodecSessionMetricslatencyunsigned int编解码器延迟(以微秒为单位)。详情
MtmlCodecSessionMetricspidunsigned int进程 ID。 0 表示会话空闲,否则会话被认为是活动的。详情
MtmlCodecSessionMetricsrsvdint保留以供将来扩展。详情
MtmlCodecSessionMetricsvResolutionunsigned int垂直分辨率(以像素为单位)。这是指编码大小,可能与 FFmpeg 等视频应用程序中显示的存储大小不同。详情
MtmlCodecUtildecUtilunsigned int采样周期内的解码器利用率。详情
MtmlCodecUtilencUtilunsigned int采样周期内的编码器利用率。详情
MtmlCodecUtilperiodunsigned int采样时间段,以微秒为单位。详情
MtmlCodecUtilrsvdint保留以供将来扩展。详情
MtmlCodecUtilutilunsigned int编解码器在采样周期内的总体利用率。详情
MtmlDevicePropertympcCapunsigned int该字段指示该设备是否具有 MPC 能力。 0表示不具有MPC能力,1表示具有MPC能力。请参阅MtmlMpcCapability。详情
MtmlDevicePropertympcTypeunsigned int该字段指示该设备的 MPC 类型。 0 表示非 MPC 类型,1 表示 MPC 父类型,2 表示 MPC 实例类型。请参阅MtmlMpcType。详情
MtmlDevicePropertymtLinkCapunsigned int该字段指示该设备是否具有 MtLink 能力。 0表示不支持MtLink能力,1表示支持MtLink能力。请参阅MtmlMtLinkCapability。详情
MtmlDevicePropertyrsvdunsigned int保留以供将来扩展。详情
MtmlDevicePropertyrsvd2unsigned int保留以供将来扩展。详情
MtmlDevicePropertyvirtCapunsigned int该字段表示设备的虚拟化能力(设备是否支持虚拟化):0表示不可虚拟化,1表示可虚拟化。请参阅MtmlVirtCapability。详情
MtmlDevicePropertyvirtRoleunsigned int该字段指示该设备在支持虚拟化的环境中扮演的角色。请参阅MtmlVirtRole。详情
MtmlDispIntfSpecmaxHoriResunsigned int详情
MtmlDispIntfSpecmaxRefreshRatefloat详情
MtmlDispIntfSpecmaxVertResunsigned int详情
MtmlDispIntfSpecrsvdunsigned int详情
MtmlDispIntfSpectypeMtmlDispIntfType详情
MtmlLogConfigurationcallbackvoid(*回调将获取所有日志。详情
MtmlLogConfigurationcallbackConfigstruct MtmlLogConfiguration::@3日志输出到用户指定的回调。详情
MtmlLogConfigurationconsoleConfigstruct MtmlLogConfiguration::@0日志输出到标准输出。详情
MtmlLogConfigurationfilechar设置日志输出的文件。如果此字段设置为有效路径,MTML 将保持文件打开。将其设置为空字符串,以防需要关闭先前打开的文件。详情
MtmlLogConfigurationfileConfigstruct MtmlLogConfiguration::@2日志输出到用户指定的文件中。详情
MtmlLogConfigurationlevelMtmlLogLevel配置日志记录器的级别。详情
MtmlLogConfigurationrsvdint保留用于将来的扩展。详情
MtmlLogConfigurationsizeunsigned int设置文件中的最大日志大小,超过大小时将被清除。详情
MtmlLogConfigurationsystemConfigstruct MtmlLogConfiguration::@1日志输出到syslog,仅Linux支持。详情
MtmlMpcConfigurationidunsigned int设备内的配置 ID。详情
MtmlMpcConfigurationnamechar配置名称。详情
MtmlMpcConfigurationprofileIdint配置文件 ID 包含在配置 ID 中。用-1来区分。例如,4111-4-1-1-1。表示当前配置由1个配置文件 ID 4和3个配置文件 ID 1组成。详情
MtmlMpcConfigurationrsvdunsigned int详情
MtmlMpcProfilecoreCountunsigned intMPC 核心数量。详情
MtmlMpcProfileidunsigned int设备内的配置文件 ID。详情
MtmlMpcProfilememorySizeMBunsigned long long内存大小(以 MB 为单位)。详情
MtmlMpcProfilenamechar配置文件名称。详情
MtmlMpcProfilersvdunsigned int详情
MtmlMtLinkLayoutlocalLinkIdunsigned int详情
MtmlMtLinkLayoutremoteLinkIdunsigned int详情
MtmlMtLinkLayoutrsvdunsigned int详情
MtmlMtLinkSpecbandWidthunsigned int每个链路的带宽(GB/s)。详情
MtmlMtLinkSpeclinkNumunsigned int支持的最大链路数量。详情
MtmlMtLinkSpecrsvdunsigned int保留用于将来的扩展。详情
MtmlMtLinkSpecversionunsigned intMtLink 的版本,结合了主要组件、次要组件和补丁组件。版本计算:版本 = 10000 * 主版本 + 100 * 小版本 + 补丁。详情
MtmlPageRetirementaddressunsigned long long停用页面物理地址详情
MtmlPageRetirementrsvdunsigned int详情
MtmlPageRetirementtimestampsunsigned long long停用页面开始时间详情
MtmlPageRetirementCountdbeCountunsigned int双比特 ECC 错误计数详情
MtmlPageRetirementCountsbeCountunsigned int单比特 ECC 错误计数详情
MtmlPageRetirementPendingaddressunsigned long long停用页面物理地址详情
MtmlPageRetirementPendingcauseMtmlPageRetirementCause详情
MtmlPageRetirementPendingrsvdunsigned int详情
MtmlPageRetirementPendingtimestampsunsigned long long停用页面开始时间详情
MtmlPcieBar2MemoryInfobar2FreeBytesunsigned long longBAR2 内存的可用大小(以字节为单位)。详情
MtmlPcieBar2MemoryInfobar2TotalBytesunsigned long longBAR2 内存的总大小(以字节为单位)。详情
MtmlPcieBar2MemoryInfobar2UsedBytesunsigned long longBAR2 内存的已用大小(以字节为单位)。详情
MtmlPciInfobusunsigned int设备所在的总线,0 到 0xff。详情
MtmlPciInfobusWidthunsigned int详情
MtmlPciInfodeviceunsigned int总线上的设备 ID,0 到 31。详情
MtmlPciInfopciCurGenunsigned int当前一代的设备。详情
MtmlPciInfopciCurSpeedfloat设备的当前链路速度(每通道的传输速率)。单位为GT/s。详情
MtmlPciInfopciCurWidthunsigned int设备当前的链路宽度。详情
MtmlPciInfopciDeviceIdunsigned int组合的 16 位设备 ID 和 16 位供应商 ID。详情
MtmlPciInfopciMaxGenunsigned int设备支持的最大代数。详情
MtmlPciInfopciMaxSpeedfloat设备的最大链路速度(每通道的传输速率)。单位为GT/s。详情
MtmlPciInfopciMaxWidthunsigned int设备的最大链路宽度。详情
MtmlPciInfopciSubsystemIdunsigned int32 位子系统设备 ID。详情
MtmlPciInforsvdint保留以供将来扩展。详情
MtmlPciInfosbdfchar元组段:bus:device.function PCI 标识符(& NULL 终止符)。详情
MtmlPciInfosegmentunsigned int设备总线所在的 PCI 段组(域),0 到 0xffffffff。详情
MtmlPciSlotInforsvdunsigned int保留以供将来扩展。详情
MtmlPciSlotInfoslotIdunsigned intPCI 插槽的唯一 ID。详情
MtmlPciSlotInfoslotNamecharPCI 插槽的名称。详情
MtmlVirtTypeapichar虚拟化类型的API类型。例如,vfio-pci。详情
MtmlVirtTypeframeBufferunsigned int帧缓冲区大小(以兆字节为单位)。详情
MtmlVirtTypehorizontalResolutionunsigned intX 维度中的最大像素数。详情
MtmlVirtTypeidchar虚拟化类型的ID。例如,mtgpu-2008。详情
MtmlVirtTypemaxDecodeNumunsigned int最大解码数量。详情
MtmlVirtTypemaxEncodeNumunsigned int最大编码数量。详情
MtmlVirtTypemaxInstancesunsigned int每个物理 GPU 的最大 vGPU 实例数量。详情
MtmlVirtTypemaxVirtualDisplayunsigned int显示头的数量。详情
MtmlVirtTypenamechar虚拟化类型的名称。例如,mtgpu-8g。详情
MtmlVirtTypersvdint保留以供将来扩展。详情
MtmlVirtTypeverticalResolutionunsigned intY 维度中的最大像素数。详情

已弃用列表​

类别名称参考
defineMTML_DEVICE_VBIOS_VERSION_BUFFER_SIZE详情
functionmtmlDeviceFreeGpu详情
functionmtmlDeviceFreeMemory详情
functionmtmlDeviceFreeVirtDevice详情
functionmtmlDeviceFreeVpu详情
functionmtmlDeviceGetVbiosVersion详情
functionmtmlLibraryFreeDevice详情
functionmtmlLibraryFreeSystem详情
variablebusWidth详情