4

Can I have two mixed chipset/generation AMD gpus in my desktop; a 6950 and 4870, and dedicate one gpu (4870) for opencl/gpgpu purposes only, eliminating the device from video output or display driving consideration by the OS, allowing the 4870 to essentially remain in a deep sleep or appear ejected/disabled until it's stream processors are called upon?

Compared to the 4870, the 6950 is a heavyweight in opencl calculations; enough so that it can crunch numbers and still allow an active user session, and even web browsing. HOWEVER, as soon as I navigate to a webpage with embedded flash video, forget what I have running and open media player or media center- basically any gpu-accelerated video task that requires the 6950 to initialize UVD, the display system hangs.

I'm looking for a way to plug my 4870 in an open pcie slot, have it sit in a dormant state with near-0 heat production and power consumption (essentially only maintain the interface signalling, like an ethernet card in a powered-off desktop maintaining the line and waiting for a WOL command), and attain a D0 state (I don't even care if the latency of this wake event is on the scale of seconds) to then run opencl calculations ON ITS OWN. I do not wish to achieve a non-CF heterogeneous gpu teaming setup! In my example of a UVD hung situation I would see manually stopping the opencl calculations on the 6950, beginning those calculations then on the 4870 to free up the 6950 for multimedia usage/gaming as my desire outcome (granted, with a hit to the calculation rate). Even better if the two gpus could independently run similar calculations while no one is using the desktop. I don't even mind if I have to initiate the power-state transitions of the 4870 from/into an 'OFF' state (say, by a shortcut on the desktop), as long as it doesn't require a system restart, ending the user session and logging off... and the manual ON/OFF 'switch' for the 4870 is something any proficient windows end-user could do- like click a shortcut to run a script, or even go into device manage and toggle enable/disable. As long as the 4870 isn't wastefully idling by for 1 sole use that may occur sporadically.

I couldn't think of a solution to facilitate this function besides writing a new ini for the 4870 to override the typical power management characteristics written for usage of the device as a typical graphics card (say to drop in/out of powered state w/o relinquishing irq or other allocated resources to 'hold the door open' on interface availability and addressing). But that is an endeavor that is both well above my abilities, and I easily see an additional involvement of licensing being necessitated to achieve.

4

1 回答 1

0

Windows 7(可能还有 Windows 10)没有定义“选定设备”。选择正确的设备是软件自己的责任。例如,谷歌浏览器的附加软件(用于视频解码)将选择任何 gpu 作为其中定义的第一个目标。如果它被写入选择第一个索引设备,那么它需要两个卡的 pci-e 重新插入以切换它们的角色。

此操作系统适合大多数 (%99) 用户,而不适合多 GPU 用户 (%1 ?)。它只是选择一个 gpus 或软件对设备有明确的控制,并简单地对所有 gpus 进行基准测试并以最快的速度选择。所以你应该寻找软件的能力而不是操作系统。

游戏也一样!当我在 vulkan api 上玩 dota-2 时,它使用 HD7870 进行计算(纹理、粒子等),但使用 R7-240 进行图形处理!但我更喜欢相反,因为 R7-240 不能快速绘制。因为这个游戏是为大多数没有超过 1 个 gpu 的人编写的。

金钱控制发展我很抱歉。然后,货币需要市场渗透。%99 市场渗透需要为公众编写代码,而不是科学人士或富人。Public 只有 1 个 gpu,而且很便宜。

我希望这样:

  • 选择 1 gpu 用于:解压缩文件、观看视频、压缩 Internet 上传和缓存文件系统(最大 2GB)
  • 选择另一个 gpu 用于:游戏、opencl 应用程序、采矿、..
  • 选择所有 gpus:游戏、基准测试、被我的应用程序视为单个设备、..

但不能保证成为真的,因为钱仍然会说话。

如果我是驱动程序开发人员,我会添加一个“重命名”选项(作为回报),将 N 个虚拟设备提供给 OS,因此 OS 和其他软件将只能获得整个系统的 1/N 次方或 N/N 仅使用这些重命名或主要设备。重命名可以是 gpu 的单个计算单元。当操作系统告诉驱动程序“给我共享相同内存的所有内核的 %25”时,它会选择一个设备并提供系统总内核的 %25。因此,即使用户也可以为自己的工作创建重命名。

我什至向微软发送了一条“我的第二张显卡上的文件系统缓存”的消息,但他们没有回复!

于 2017-02-08T13:30:15.900 回答