如何在OSX中以编程方式获得GPU温度?

时间:2014-03-24 09:04:33

标签: objective-c c macos gpu sensor

我试图以编程方式在mac的OSX平台上获得GPU温度

我尝试谷歌寻求解决方案,但我无法找到它,我所能找到的只是CPU温度和GPU使用百分比。

是否有一些API或库允许检索传感器数据?

有人可以告诉我从哪里开始? 或者提供一些例子?

2 个答案:

答案 0 :(得分:4)

https://developer.nvidia.com/cuda-faq

  问:我如何从应用程序中获取有关GPU温度的信息?   在Microsoft Windows平台上,NVIDIA的NVAPI可以访问GPU   温度和许多其他低级GPU功能

     

在Linux下," nvidia-smi"实用程序,包含在   标准驱动程序安装,也显示所有的GPU温度   已安装的设备。

修改

在进一步了解" nvidia-smi"实用工具由linux系统提供,我发现他们提供了基于C的API来获取GPU温度。

https://developer.nvidia.com/nvidia-management-library-nvml https://developer.nvidia.com/nvidia-system-management-interface

https://developer.nvidia.com/sites/default/files/akamai/cuda/files/CUDADownloads/NVML_cuda5/nvml.4.304.55.pdf

从手册中,我可以看到以下API可用于找出" nvidia-smi"提供的内容:

7.9.2.8 nvmlReturn_t DECLDIR nvmlUnitGetTemperature (nvmlUnit_t unit, unsigned int type, unsigned
int  temp)
Retrieves the temperature readings for the unit, in degrees C.
For S-class products.
Depending on the product, readings may be available for intake (type=0), exhaust (type=1) and board (type=2).
Parameters:
unit The identifier of the target unit
type The type of reading to take
temp Reference in which to return the intake temperature
Returns:
• NVML_SUCCESS if temp has been populated
• NVML_ERROR_UNINITIALIZED if the library has not been successfully initialized
• NVML_ERROR_INVALID_ARGUMENT if unit or type is invalid or temp is NULL
• NVML_ERROR_NOT_SUPPORTED if this is not an S-class product
• NVML_ERROR_UNKNOWN on any unexpected error

希望这会有用,这样你就可以达到你的要求。 " NVIDIA-SMI"内部使用上面的API来查找用户获得的GPU的温度。这是NVIDIA提供的命令行实用程序。

答案 1 :(得分:0)

尝试这个名为“magican”的图标,它的图标是大象,cpu和gpu温度可以在状态栏中显示,点击时,你可以看到你推出的进展 http://i.stack.imgur.com/ekeW2.png

http://www.magicansoft.com/下载