On our forums and elsewhere over the past couple of weeks there has been quite a bit of chatter on the subject of VRAM allocation on the GeForce GTX 970. To quickly summarize a more complex issue, various GTX 970 owners had observed that the GTX 970 was prone to topping out its reported VRAM allocation at 3.5GB rather than 4GB, and that meanwhile the GTX 980 was reaching 4GB allocated in similar circumstances. This unusual outcome was at odds with what we know about the cards and the underlying GM204 GPU, as NVIDIA’s specifications state that the GTX 980 and GTX 970 have identical memory configurations: 4GB of 7GHz GDDR5 on a 256-bit bus, split amongst 4 ROP/memory controller partitions. In other words, there was no known reason that the GTX 970 and GTX 980 should be behaving differently when it comes to memory allocation.


GTX 970 Logical Diagram


GTX 970 Memory Allocation (Image Courtesy error-id10t of Overclock.net Forums)

Since then there has been some further investigation into the matter using various tools written in CUDA in order to try to systematically confirm this phenomena and to pinpoint what is going on. Those tests seemingly confirm the issue – the GTX 970 has something unusual going on after 3.5GB VRAM allocation – but they have not come any closer in explaining just what is going on.

Finally, more or less the entire technical press has been pushing NVIDIA on the issue, and this morning they have released a statement on the matter, which we are republishing in full:

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.

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:

GeForce GTX 970 Performance
Settings GTX980 GTX970

Shadows of Mordor

<3.5GB setting = 2688x1512 Very High

72fps

60fps

>3.5GB setting = 3456x1944

55fps (-24%)

45fps (-25%)

Battlefield 4

<3.5GB setting = 3840x2160 2xMSAA

36fps

30fps

>3.5GB setting = 3840x2160 135% res

19fps (-47%)

15fps (-50%)

Call of Duty: Advanced Warfare

<3.5GB setting = 3840x2160 FSMAA T2x, Supersampling off

82fps

71fps

>3.5GB setting = 3840x2160 FSMAA T2x, Supersampling on

48fps (-41%)

40fps (-44%)

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.

Before going any further, it’s probably best to explain the nature of the message itself before discussing the content. As is almost always the case when issuing blanket technical statements to the wider press, NVIDIA has opted for a simpler, high level message that’s light on technical details in order to make the content of the message accessible to more users. For NVIDIA and their customer base this makes all the sense in the world (and we don’t resent them for it), but it goes without saying that “fewer crossbar resources to the memory system” does not come close to fully explaining the issue at hand, why it’s happening, and how in detail NVIDIA is handling VRAM allocation. Meanwhile for technical users and technical press such as ourselves we would like more information, and while we can’t speak for NVIDIA, rarely is NVIDIA’s first statement their last statement in these matters, so we do not believe this is the last we will hear on the subject.

In any case, NVIDIA’s statement affirms that the GTX 970 does materially differ from the GTX 980. Despite the outward appearance of identical memory subsystems, there is an important difference here that makes a 512MB partition of VRAM less performant or otherwise decoupled from the other 3.5GB.

Being a high level statement, NVIDIA’s focus is on the performance ramifications – mainly, that there generally aren’t any – and while we’re not prepared to affirm or deny NVIDIA’s claims, it’s clear that this only scratches the surface. VRAM allocation is a multi-variable process; drivers, applications, APIs, and OSes all play a part here, and just because VRAM is allocated doesn’t necessarily mean it’s in use, or that it’s being used in a performance-critical situation. Using VRAM for an application-level resource cache and actively loading 4GB of resources per frame are two very different scenarios, for example, and would certainly be impacted differently by NVIDIA’s split memory partitions.

For the moment with so few answers in hand we’re not going to spend too much time trying to guess what it is NVIDIA has done, but from NVIDIA’s statement it’s clear that there’s some additional investigating left to do. If nothing else, what we’ve learned today is that we know less than we thought we did, and that’s never a satisfying answer. To that end we’ll keep digging, and once we have the answers we need we’ll be back with a deeper answer on how the GTX 970’s memory subsystem works and how it influences the performance of the card.

Comments Locked

93 Comments

View All Comments

  • londiste - Monday, January 26, 2015 - link

    worse, >3.5gb could mean >4gb which would actually fit well with the -40% performance drops. going over 4gb would inevitably impace the performance heavily and not really show the impact of that last 0.5gb.
  • Yojimbo - Sunday, January 25, 2015 - link

    Why should they disclose it to consumers? From a marketing standpoint it would just cause confusion and doubt. It's a technical detail of the memory system which is of concern to developers. As far as consumers are concerned, the performance is what matters. If it were to really perform worse in situations for which they are selling the card to use, then a heads-up from them would be in order. It still wouldn't be a bug or a deficiency, it's a different card from the 980 and doesn't have to just be a 980 with some SMs disabled. However, they are claiming that there is no performance difference under normal usage. If that's the case, it's just a technical detail. Of course, one might use the card for something other than gaming, and although one would expect a lower level of support for the card being used for that purpose, the information should still be available if it makes a difference to the programming and performance expectations of the card. Such users represent less than 1% of people screaming about the issue. It's probably 45% AMD fanboys, 45% 970 owners worried their shiny new toy has a scratch, and 10% people who would just as soon be complaining if it were revealed that Ivory soap is actually only 99.43% pure.
  • londiste - Monday, January 26, 2015 - link

    i have noticed for a while that my new shiny toy has a scratch. i just never cared enough to try and polish it out.

    games never consume more than 3.5gb or vram in my system, no matter what i do. granted, i am not on 4k, don't really force extreme aa or supersampling/dsr. today, there is only a handful of games that would need over 3.5gb vram usage at 1440p - mordor, ac:unity, fc4 (at least last 2 of which are far from stable).

    290(x) and 980 users have reported 4gb vram usage with mordor starting at 1080p. yesterday i actually tested a whole bunch of resolutions and settings - the only settings i could get more than 3.5gb were all maxed, rendering at 5k and aa on. then it went to 4gb (and probably wanted to go over if the card had more to give). this is suspicious at best.
  • mapesdhs - Sunday, January 25, 2015 - link


    They didn't acknowledge it was a 'problem', don't infer selectively. I don't think it's an
    issue either though, and so far there's no evidence it was deliberately hidden. However,
    now it's known the 970 design does differ in some way, for PR sakes it makes sense
    for them to explain in more detail how the 970 works.

    None of which though detracts from the fact that the 970 is a very good card, well
    priced, with excellent power/noise characteristics, as so many reviews stated.
    people are back-judging here, which is kinda lame.

    Doesn't bother me though, I just bought a 980. ;)

    Ian.

    Ian.
  • mapesdhs - Sunday, January 25, 2015 - link

    (will we ever be able to edit posts here??...)
  • chizow - Monday, January 26, 2015 - link

    No.

    No.

    ;)
  • yannigr2 - Sunday, January 25, 2015 - link

    It's not that simple. Finding a bug after releasing a processor is one thing. Having 0.5GB RAM on a card that could lead to problems (frame time spikes, stuttering, performance issues in computing) is something totally different. The first is something that the manufacturer didn't wanted to happen. The second is a marketing decision.

    Nvidia come out with an explanation that shows average frame per second scores. Let's not forget that based on average fps scores, the old CF was excellent and with no problems. Then people started measuring frame times and AMD had to completely change it's drivers and abandon CF bridges.

    I believe Nvidia is doing damage control. First it tries to buy time with this announcement, then probably they will use GeForce Experience to try to keep games from maxing out the memory usage on games with a GTX 970. Until it becomes a real problem with newer and more demanding games, new cards with new GPUs will be out and in some cases people will be advising others, who are searching for a good gaming monitor, to get a GSync one to help them with stuttering from their GTX 970.
  • xthetenth - Monday, January 26, 2015 - link

    It's pretty frustrating and is sure making me wish I'd just switched a lightbulb for an LED and gotten a 290 like a smart human instead of the 970 I got. I'm probably going to be switching to an AMD card sooner than I expected when I bought the 970 after a decade with NV cards. I bought that thing to last, and it chokes on one of the most important parts of what determines how long it lasts. Unlike with Intel, NV has competition. Oh well, at least I'll probably lose the 970's driver problems.
  • Flunk - Saturday, January 24, 2015 - link

    Hardware implementation details are generally not shared with consumers. Hardware is much more complex than most people know enough about it to understand and they always gloss over the details. Nvidia's claim is that it doesn't matter and the tests look like that might be true but who knows how it performs in other cases.

    I have 2x Radeon 280x, and I haven't had problems with them. I did have the RMA one of the cards in less than a week (VRM exploded), but the replacement has been fine for over a year since.
  • CaedenV - Saturday, January 24, 2015 - link

    Alright, I am admittedly a bit of an nVidia fanboy, but I really think this is a non-issue. The card DOES have 4GB of ram, and games ARE able to take advantage of all 4GB of that ram. Benchmarking software (which is typically shortsighted crap to begin with) reports the size of the main larger/faster partition of ram. It does not mean it is not there, and it does not mean that it goes unused, it just means that the software needs to be re-written to take the new architecture into account.
    The 512MB partition is slower than the main partition... but as far as I understand things, ram speed is rarely the bottleneck except in the highest end of cards (ie not this one), so there are likely few cases where it is a major issue. Never mind the fact that you don't really need more than 2GB of VRAM (today at least) unless you are pushing well above 1080p; in which case you ought to opt for higher end, and multiple higher end cards to deal with such a load.

    It is a non-issue of a non-problem. But don't you worry, the writers at Tom's will get to the bottom of it. This is the closest thing we have had to excitement in hardware in quite a while, so journalists are craving for some kind of news or scandal to report.

Log in

Don't have an account? Sign up now