【问题标题】:Get GPU temperature获取 GPU 温度
【发布时间】:2011-05-01 21:57:29
【问题描述】:

我真的很困惑。我想创建一个应用程序,在我的显卡(AMD 显卡)的不同温度下执行不同的事件。

我想做这样一个应用程序的原因是,对于 GPU,我还没有找到一个,第二是确保我永远不会因为温度过高而炸毁我的卡。

但是我不知道人们(未连接到 amd/intel/nvidia)如何编写应用程序来监控任何类型的温度。

那么它是怎么发生的呢?一些我不知道的 API 还是什么?

【问题讨论】:

  • 你说的是哪个平台?还是您在寻找跨平台库?
  • 如果您的 GPU 达到不安全的温度,它应该会自动关闭。如果没有,那么它的设计很糟糕......
  • 操作系统是 Windows。它可能会关闭,但它可能会在它关闭之前被损坏,所以这就是为什么我想制作事件,就像 SpeedFan 一样,但对于 GPU

标签: c++ api temperature


【解决方案1】:

经过一番谷歌搜索,我发现了这个:

我认为这确实是特定于供应商的,它可能涉及直接与主板或视频驱动程序接口,并知道哪个 IOCTL 代表请求温度的代码。为此,我对主板驱动程序进行了一次逆向工程。这并不像听起来那么难,下载制造商的主板/BIOS 实用程序并尝试挂钩在该应用程序需要向用户显示温度时调用的函数。然后观察对 Windows 中的 DeviceIoControl() 或 linux 中的 ioctl() 的调用,看看输入/输出是什么。

这可能是您最好的选择。我在这里找到了这些信息:
http://www.gamedev.net/topic/557599-get-gpucpu-temperature/

编辑:
还发现了这个:
http://msdn.microsoft.com/en-us/library/aa389762%28v=VS.85%29.aspx
http://msdn.microsoft.com/en-us/library/aa394493%28VS.85%29.aspx

希望对你有帮助。

【讨论】:

    【解决方案2】:

    您可以使用现有的 GPU 温度监控程序之一,例如 GPU-Z,将其配置为持续监控,然后读取日志条目。

    RivaTuner 是另一个 GPU 监控程序,它有一个共享内存接口,允许其他程序实时获取数据,但专注于 nVidia。只要您的操作不是“降低 GPU 时钟速度”,它可能就足以与 ATI 卡配合使用。

    【讨论】:

      猜你喜欢
      • 2018-04-07
      • 2021-03-29
      • 1970-01-01
      • 2020-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-12
      相关资源
      最近更新 更多