I've got two 6950s in CrossfireX configuration, and when I'm not gaming in CFX, it appears that the same one is always being used (call it GPU0). I'd like to find some way to balance the use so that sometimes GPU0 is used, and other times GPU1 is used, in order to balance the stress among the two cards and prolong their life. To be clear: I know that both are used when gaming in CFX, and that there is load balancing in CFX - I'm talking specifically about single-GPU gaming and normal desktop use.
Is there a way to do this? Do I have to do it manually, if it is possible at all? Have I misunderstood the utilization, and it's actually already balanced by the drivers?
So is that a "no" or a "yes" to the question I asked? Are you saying that no matter what I do, the physical order of the cards in the slots will determine which GPU will be used when non-CFX activity is performed?
The CF driver theoretically selects every other frame and sends it to each card respectively. Also it adjusts the timing (since doing that takes additional time) so that the frames reintegrate smoothly. When it does a less than perfect job at this you get micro stuttering (one cause anyway). So to get to you question..no. Take a look at this article (http://techreport.com/articles.x/21516) I found it informative and very interesting.
Let me reiterate my actual question: Is is possible, in software, to balance the graphics load among my two graphics cards when NOT in CFX?
Put another way, if I never, ever used CFX and measured my GPU utilization for a month, is there a way to ensure that the utilization would be somewhat evenly distributed among the two GPUs in my box? Sort of how if I looked at the use of the 4 cores in my i7 after a month, it wouldn't all be concentrated on core0.
What you're asking doesn't make any sense. You have cards in crossfire, but you only want to use each card half the time. You'd need to remove the crossfire bridge and connect each card to a KVM switch, and then switch your input based on what card you're using. I'm entirely at a loss at what you're trying to accomplish, though. If you only want to use one card, put the other one back in the box. If the first one dies (it probably won't, because cards don't "wear"), just install the second one.
"You have cards in crossfire, but you only want to use each card half the time" - EXACTLY! But I want to do it in SOFTWARE, as I've described a couple of times above. It makes perfect sense - I want to apportion the graphics workload across the two GPUs which I have in order to prolong the life of each, rather than have one die on me first because it's getting all the work. I also want to be able to use both simultaneously for CFX gaming. So I want them connected to the same display, and when that display isn't in CFX mode, it would be nice if the workload weren't always allocated to GPU0.
What I'm NOT asking:
No, I'm not asking for affirmation / disapproval of my desire to maximize the length of each GPU
No, I don't want to know whether I can run two separate displays with two different GPUs
No, I don't need to be reminded that they are load-balanced in CFX mode
Something like this is enabled by software like LucidLogix's Virtu, as it is able to move the work around among the IGP and the discrete GPU depending on the current load. But Virtu won't work for me, because I've got 3 displays running off of one of the 6950s.
If anyone has an answer to the actual question I asked, I'd be happy to hear it. Thanks in advance.
I will repeat..no. Cross Fire is a software solution that splits the frames between two GPU and then reassembles them as a single video source. My information is that under any use both are being utilized. However load balancing is not always equal. I gave you a link to an article that will shed light on this. Here is a specific page in that article that deals directly with load balance/imbalance in multi GPU set ups (http://techreport.com/articles.x/21516/5). Since the CF software splits even and odd numbered frames between the cards, and every frame presents a different load, it can certainly "appear" that one card is doing all the work. But it is not so. The work load of the second (call it non primary card-no monitor attached) must be finally copied over to the primary card for assembly into the single output signal. This can give the appearance (again only seems so) that one card is doing the work. If you run CF or any multi card solution the situation is the same. The work load is balance but not always equal. NO it can never be equal because the even/odd frame splitting does not ever contain equal load demands. Next; to devise and implement some software that evened everything up would destroy the inherent intent and function of CF. If you used two monitors, one on each card, and no CF bridging then you would have even use on the cards. But no advantage in performance. Lastly there is no evidence that in a cross fire solution one card ages faster than the other. It is not GPU utilization that ages a card. The biggest issue is proper cooling and heated air removal. Many users go multi GPU and will age their cards somewhat faster because of inadequate ventilation.