Monday, January 26th 2015

NVIDIA Responds to GTX 970 Memory Allocation 'Bug' Controversy

The GeForce GTX 970 memory allocation bug discovery, made towards last Friday, wrecked some NVIDIA engineers' weekends, who composed a response to what they tell is a non-issue. A bug was discovered in the way GeForce GTX 970 was allocating its 4 GB of video memory, giving some power-users the impression that the GPU isn't addressing the last 700-500 MB of its memory. NVIDIA, in its response, explained that the GPU is fully capable of addressing its 4 GB, but does so in an unusual way. Without further ado, the statement.
The GeForce GTX 970 is equipped with 4GB of dedicated graphics memory. However the 970 has a different configuration of SMs than the 980, and fewer crossbar resources to the memory system. To optimally manage memory traffic in this configuration, we segment graphics memory into a 3.5GB section and a 0.5GB section. The GPU has higher priority access to the 3.5GB section. When a game needs less than 3.5GB of video memory per draw command then it will only access the first partition, and 3rd party applications that measure memory usage will report 3.5GB of memory in use on GTX 970, but may report more for GTX 980 if there is more memory used by other commands. When a game requires more than 3.5GB of memory then we use both segments.
Continued

We understand there have been some questions about how the GTX 970 will perform when it accesses the 0.5GB memory segment. The best way to test that is to look at game performance. Compare a GTX 980 to a 970 on a game that uses less than 3.5GB. Then turn up the settings so the game needs more than 3.5GB and compare 980 and 970 performance again.

Here's an example of some performance data:
<div class="table-wrapper"><table class="tputbl hilight" cellspacing="0" cellpadding="3"><caption>GTX 970 vs. GTX 980 Memory-Intensive Performance Data </caption><tr><th scope="col">&nbsp;</th><th scope="col">GeForce <br /> GTX 980</th><th scope="col">GeForce <br /> GTX 970</th></tr><tr><th scope="row">Shadow of Mordor</th><td align="right"></td><td align="right"></td></tr><tr class="alt"><th scope="row"><3.5GB setting = 2688x1512 Very High</th><td align="right">72 fps</td><td align="right">60 fps</td></tr><tr><th scope="row">>3.5GB setting = 3456x1944</th><td align="right">55fps (-24%)</td><td align="right">45fps (-25%)</td></tr><tr class="alt"><th scope="row">Battlefield 4</th><td align="right"></td><td align="right"></td></tr><tr><th scope="row"><3.5GB setting = 3840x2160 2xMSAA</th><td align="right">36 fps</td><td align="right">30 fps</td></tr><tr class="alt"><th scope="row">>3.5GB setting = 3840x2160 135% res</th><td align="right">19fps (-47%)</td><td align="right">15fps (-50%)</td></tr><tr><th scope="row">Call of Duty: Advanced Warfare</th><td align="right"></td><td align="right"></td></tr><tr class="alt"><th scope="row"><3.5GB setting = 3840x2160 FSMAA T2x, Supersampling off</th><td align="right">82 fps</td><td align="right">71 fps</td></tr><tr class="alt"><th scope="row"><3.5GB setting = >3.5GB setting = 3840x2160 FSMAA T2x, Supersampling on</th><td align="right">48fps (-41%)</td><td align="right">40fps (-44%)</td></tr></table></div>
On GTX 980, Shadows of Mordor drops about 24% on GTX 980 and 25% on GTX 970, a 1% difference. On Battlefield 4, the drop is 47% on GTX 980 and 50% on GTX 970, a 3% difference. On CoD: AW, the drop is 41% on GTX 980 and 44% on GTX 970, a 3% difference. As you can see, there is very little change in the performance of the GTX 970 relative to GTX 980 on these games when it is using the 0.5GB segment.
Source: The TechReport
Add your own comment

92 Comments on NVIDIA Responds to GTX 970 Memory Allocation 'Bug' Controversy

#1
Ikaruga
They really should have gone the other way around with this whole story. The 970 is still a hell of a card. If they would have said that it only has 3.5GB, it would be all fine now.
They could have just „leaked” how to enable the last 0.5GB and enthusiast would all try it and argue and debate about it on every tech forums if it’s worth it or not because of the performance hit (which is about 2-3fps?)

There would be no drama now then.
Posted on Reply
#2
1c3d0g
I don't see what the big deal is. :confused: The 970 still performs within spitting distance of the 980, for a lot less $. All of those have their panties twisted over some non-standard memory configuration need to go back and read the 970 reviews again. This discovery does not suddenly make the 970 slower than it was a month ago. Besides, if you wanted higher performance, you'd have to open up your wallet, there's no way around this, especially with GM200 on the horizon.
Posted on Reply
#3
robert3892
On NVIDIA's own forums NVIDIA has stated more information will be forthcoming and that this explanation was to let everyone understand 'how' the memory allocation works.
Posted on Reply
#4
Pasha
IkarugaThey really should have gone the other way around with this whole story. The 970 is still a hell of a card. If they would have said that it only has 3.5GB, it would be all fine now.
They could have just „leaked” how to enable the last 0.5GB and enthusiast would all try it and argue and debate about it on every tech forums if it’s worth it or not because of the performance hit (which is about 2-3fps?)

There would be no drama now then.
Fps is ok, u got sttuter when using all memory.
Posted on Reply
#5
Ikaruga
PashaFps is ok, u got sttuter when using all memory.
Yes, but it really depends on the actual scenario and the engine in question. If it's allocated as texture memory for example, most modern engines would just draw the frame without waiting for the texture to be streamed. But yes, you would get stutter if it's a frame buffer, a surface or compute memory, etc... it can be bad I agree.
Posted on Reply
#6
RejZoR
Cranking up settings is imo not the way it should be tested, because you change conditions. Make textures occupy more memory at same resolutions...
Posted on Reply
#8
ShredBird
Nvidia is a competent company. They're likely prioritizing latency sensitive tasks to the 3.5GB segment and keeping lower priority memory in the 0.5GB segment. I mean, their logic is solid, the only time you'll really notice any degradation is when a single frame requires MORE than the entirety of the 3.5GB segment for a single frame, because the software has to work out some extra overhead with virtual addressing.

The likelihood of any game needing more than 3.5GB for a single frame is pretty low for where most people game. Nvidia has to make some tradeoffs in their architecture to achieve their massive efficiency gains over Kepler, tying the processors addressing capabilities to SMs is one of those tradeoffs. If anything, I think it was a smart tradeoff, it's taken this long for people to even notice there was a compromise made at all.

I think at the end of the day people are going to say, well this is one hell of a card still for 95% of gamers out there, and the other 5% that want to squeeze every single performance percentage out of 4k and multimonitor setups are just gonna throw down cash on a GTX 980(s) or 290X(s).
Posted on Reply
#9
silapakorn
RejZoRCranking up settings is imo not the way it should be tested, because you change conditions. Make textures occupy more memory at same resolutions...
How exactly do we do that?
Posted on Reply
#10
ShredBird
silapakornHow exactly do we do that?
Seriously, I agree, the graphics API and driver are handling all the memory allocations and I'm sure Nvidia is handling in such a way that this handicapped scenario is minimized. I would imagine the only way to expose it is to brute force the memory capacity as in Nvidia's examples.
Posted on Reply
#11
xfia
you guys are talking like its not both the 970-980. they clearly show both suffer the same performance loss when going over 3.5gb and is as much half in the games shown.

its not fair to people that have bought 2 or more for high res and multiple monitors. what would really make everyone happy again is if they could magically make vram stack in sli.
Posted on Reply
#12
Xzibit
ShredBirdSeriously, I agree, the graphics API and driver are handling all the memory allocations and I'm sure Nvidia is handling in such a way that this handicapped scenario is minimized. I would imagine the only way to expose it is to brute force the memory capacity as in Nvidia's examples.
There example of CoD doesn't mention quality. The only one that does it SoM with less than 3.5GB. CoD:AW At 4k VHQ your already suppose to be at 4GB. BF4 at 4k VHQ uses 2.3GB. Details are lacking.

CoD:AW can allocate 3.2GB of memory usage on a 980 at 1080p VHQ according to GameGPU. Testing at 1440p would have been more convincing provide they show a detail rundown. Not that they need to convince me but not being forth coming is whats got them here.
Posted on Reply
#13
ShredBird
XzibitThere example of CoD doesn't mention quality. The only one that does it SoM with less than 3.5GB. CoD:AW At 4k VHQ your already suppose to be at 4GB. BF4 at 4k VHQ uses 2.3GB. Details are lacking.

CoD:AW can allocate 3.2GB of memory usage on a 980 at 1080p VHQ according to GameGPU. Testing at 1440p would have been more convincing provide they show a detail rundown. Not that they need to convince me but not being forth coming is whats got them here.
I agree, more thorough testing is required, I was just mainly getting at their initial reasoning and simple example made sense to me. I think this will all blow over and people will go, "Ah, yeah, that's hardly a big deal in the big picture, GTX 970 is still a killer deal."
Posted on Reply
#14
matar
NVidia start offering price cuts or rebates on GTX 970 that should make everybody happy
Posted on Reply
#15
SamuilM
These numbers look ok ... but my experience with a 2GB card is that FPS drops only when the game needs significantly more memory than you have . The first thing that happens is actually stuttering . Usually when I play a game that saturates the framebuffer , with say 2.1gb , fps is almost not affected ... but stutters like crazy . When I try to play a game like Shadow of Mordor in Ultra , fps plumets to the low 20 , from about 60 on high ... .
To think that I was actually waiting on a double framebuffer variant of the 970 to upgrade my 2gb 770 . The only reason I whant to upgrade is that I made the mistake of getting a 2gb card instead of 4gb one . The performance is enough for my needs , but the stuttering is not something I can live with . Some more in-depth tests would be nice , I know stuttering can be subjective , but there must be a way to test that aspect of the performance .
Posted on Reply
#17
HTC
matarNVidia start offering price cuts or rebates on GTX 970 that should make everybody happy
More testing needs to be done before that.

If this is indeed the result of this card's problem, then no amount of price cuts or rebates can make up for it and a recall SHOULD be made for cards showing this.
Posted on Reply
#18
RejZoR
I don't think they'll do that, because that would mean the most succesful chip would become the biggest flop...
Posted on Reply
#19
Fluffmeister
The price will likely drop a bit anyway once AMD actually have a new product to sell, the current fire sale of products in a market already flooded with cheap ex-miners clearly doesn't make much difference.

The card will already be 6+ months old by then too.
Posted on Reply
#21
GhostRyder
The issue is only a big deal because it was hidden and can cause issues. The solution should have been just at the beginning to advertise the card as a 3.5gb card and the last .5gb that can cause the issues to be locked out or prioritized for basics that would have just been a nice bonus for people. When you hide a fact from people it tends to make people mad and make things bigger than they might be. Not everyone will be effected by this and many (if not most) who bought the card probably would not care when looking at the card to buy a 3.5gb card versus a 4gb card at the price point and performance shown. Its the people who bought the card specifically for tasks that use that extra .5gb (Like a 4K, surround, or some serious texture packs at high resolutions and FPS) that might see this issue come to play and might have changed their mind about the purchase.

Making this out to be no big deal is how you end up with this type of issue as a continued thing to deal with. Voicing issues and opinions is how you end up with better products that is great for everyone and drives things forward.
Posted on Reply
#23
Easy Rhino
Linux Advocate
Ha! There were a lot of armchair engineers on here yapping about this and that. /rekt

Just because you can Google doesn't mean you have any idea what you are talking about.
Posted on Reply
#24
XL-R8R
Easy RhinoHa! There were a lot of armchair engineers on here yapping about this and that. /rekt

Just because you can Google doesn't mean you have any idea what you are talking about.
A voice of reason! :toast:
Posted on Reply
#25
xfia
ok so they are saying the 980 doesnt have the partition right? and they both have the same performance loss in game testing.. hell if that is the case there is seriously nothing wrong.. I mean what happens to any other gpu if you throw it more than it can handle or cpu for that matter.
nvidia is probably laughing about it because it took them an hour to figure it out and forward a statement to tech sites that is so simple its hard for a 20 year professional to quickly figure out when they where expecting something much more complex.
Posted on Reply
Add your own comment
Apr 26th, 2024 23:57 EDT change timezone

New Forum Posts

Popular Reviews

Controversial News Posts