# GeForce 900 series

The GeForce 900 series is a family of graphics processing units developed by Nvidia, succeeding the GeForce 700 series and serving as the high-end introduction to the Maxwell microarchitecture, named after James Clerk Maxwell. They were produced with TSMC's 28 nm process.
With Maxwell, the successor to Kepler, Nvidia expected three major outcomes: improved graphics capabilities, simplified programming, and better energy efficiency compared to the GeForce 700 series and GeForce 600 series.
Maxwell was announced in September 2010, with the first Maxwell-based GeForce consumer-class products released in early 2014.

## Architecture
### First generation Maxwell (GM10x)

First generation Maxwell GM107/GM108 were released as GeForce GTX 745, GTX 750/750 Ti and GTX 850M/860M (GM107) and GT 830M/840M (GM108). These new chips provide few consumer-facing additional features; Nvidia instead focused on power efficiency. Nvidia increased the amount of L2 cache from 256 KiB on GK107 to 2 MiB on GM107, reducing the memory bandwidth needed. Accordingly, Nvidia cut the memory bus from 192 bit on GK106 to 128 bit on GM107, further saving power. Nvidia also changed the streaming multiprocessor design from that of Kepler (SMX), naming it SMM. The structure of the warp scheduler is inherited from Kepler, which allows each scheduler to issue up to two instructions that are independent from each other and are in order from the same warp. The layout of SMM units is partitioned so that each of the 4 warp schedulers in an SMM controls 1 set of 32 FP32 CUDA cores, 1 set of 8 load/store units, and 1 set of 8 special function units. This is in contrast to Kepler, where each SMX has 4 schedulers that schedule to a shared pool of 6 sets of 32 FP32 CUDA cores, 2 sets of 16 load/store units, and 2 sets of 16 special function units. These units are connected by a crossbar that uses power to allow the resources to be shared. This crossbar is removed in Maxwell. Texture units and FP64 CUDA cores are still shared. SMM allows for a finer-grain allocation of resources than SMX, saving power when the workload isn't optimal for shared resources. Nvidia claims a 128 CUDA core SMM has 86% of the performance of a 192 CUDA core SMX. Also, each Graphics Processing Cluster, or GPC, contains up to 4 SMX units in Kepler, and up to 5 SMM units in first generation Maxwell.
GM107 supports CUDA Compute Capability 5.0 compared to 3.5 on GK110/GK208 GPUs and 3.0 on GK10x GPUs. Dynamic Parallelism and HyperQ, two features in GK110/GK208 GPUs, are also supported across the entire Maxwell product line.
Maxwell provides native shared memory atomic operations for 32-bit integers and native shared memory 32-bit and 64-bit compare-and-swap (CAS), which can be used to implement other atomic functions.
While it was once thought that Maxwell used tile-based immediate mode rasterization, Nvidia corrected this at GDC 2017 saying Maxwell instead uses Tile Caching.

#### NVENC

Maxwell-based GPUs also contain the NVENC SIP block introduced with Kepler. Nvidia's video encoder, NVENC, is 1.5 to 2 times faster than on Kepler-based GPUs meaning it can encode video at 6 to 8 times playback speed.

#### PureVideo

Nvidia also claims an 8 to 10 times performance increase in PureVideo Feature Set E video decoding due to the video decoder cache paired with increases in memory efficiency. However, H.265 is not supported for full hardware decoding, relying on a mix of hardware and software decoding. When decoding video, a new low power state "GC5" is used on Maxwell GPUs to conserve power.

### Second generation Maxwell (GM20x)

Second generation Maxwell introduced several new technologies: Dynamic Super Resolution, Third Generation Delta Color Compression, Multi-Pixel Programming Sampling, Nvidia VXGI (Real-Time-Voxel-Global Illumination), VR Direct, Multi-Projection Acceleration, and Multi-Frame Sampled Anti-Aliasing (MFAA) (however support for Coverage-Sampling Anti-Aliasing (CSAA) was removed). HDMI 2.0 support was also added.
Second generation Maxwell also changed the ROP to memory controller ratio from 8:1 to 16:1. However, some of the ROPs are generally idle in the GTX 970 because there are not enough enabled SMMs to give them work to do and therefore reduces its maximum fill rate.
Second generation upgraded NVENC which supports HEVC encoding and adds support for H.264 encoding resolutions at 1440p/60FPS & 4K/60FPS compared to NVENC on Maxwell first generation GM10x GPUs which only supported H.264 1080p/60FPS encoding.
Maxwell GM206 GPU supports full fixed function HEVC hardware decoding.

## Advertising controversy
### GTX 970 hardware specifications

Issues with the GeForce GTX 970's specifications were first brought up by users when they found out that the cards, while featuring 4 GB of memory, rarely accessed memory over the 3.5 GB boundary. Further testing and investigation eventually led to Nvidia issuing a statement that the card's initially announced specifications had been altered without notice before the card was made commercially available, and that the card took a performance hit once memory over the 3.5 GB limit were put into use.
The card's back-end hardware specifications, initially announced as being identical to those of the GeForce GTX 980, differed in the amount of L2 cache (1.75 MB versus 2 MB in the GeForce GTX 980) and the number of ROPs (56 versus 64 in the 980). Additionally, it was revealed that the card was designed to access its memory as a 3.5 GB section, plus a 0.5 GB one, access to the latter being 7 times slower than the first one. The company then went on to promise a specific driver modification in order to alleviate the performance issues produced by the cutbacks suffered by the card. However, Nvidia later clarified that the promise had been a miscommunication and there would be no specific driver update for the GTX 970. Nvidia claimed that it would assist customers who wanted refunds in obtaining them. On February 26, 2015, Nvidia CEO Jen-Hsun Huang went on record in Nvidia's official blog to apologize for the incident. In February 2015 a class-action lawsuit alleging false advertising was filed against Nvidia and Gigabyte Technology in the U.S. District Court for Northern California.
Nvidia revealed that it is able to disable individual units, each containing 256KB of L2 cache and 8 ROPs, without disabling whole memory controllers. This comes at the cost of dividing the memory bus into high speed and low speed segments that cannot be accessed at the same time unless one segment is reading while the other segment is writing because the L2/ROP unit managing both of the GDDR5 controllers shares the read return channel and the write data bus between the two GDDR5 controllers and itself. This is used in the GeForce GTX 970, which therefore can be described as having 3.5 GB in its high speed segment on a 224-bit bus and 0.5 GB in a low speed segment on a 32-bit bus.
On July 27, 2016, Nvidia agreed to a preliminary settlement of the U.S. class action lawsuit, offering a $30 refund on GTX 970 purchases. The agreed upon refund represents the portion of the cost of the storage and performance capabilities the consumers assumed they were obtaining when they purchased the card.

### Async compute support

While the Maxwell series was marketed as fully DirectX 12 compliant, Oxide Games, developer of Ashes of the Singularity, uncovered that Maxwell-based cards do not perform well when async compute is utilized.
It appears that while this core feature is in fact exposed by the driver, Nvidia partially implemented it through a driver-based shim, coming at a high performance cost. Unlike AMD's competing GCN-based graphics cards which include a full implementation of hardware-based asynchronous compute, Nvidia planned to rely on the driver to implement a software queue and a software distributor to forward asynchronous tasks to the hardware schedulers, capable of distributing the workload to the correct units. Asynchronous compute on Maxwell therefore requires that both a game and the GPU driver be specifically coded for asynchronous compute on Maxwell in order to enable this capability. The 3DMark Time Spy benchmark shows no noticeable performance difference between asynchronous compute being enabled or disabled. Asynchronous compute is disabled by the driver for Maxwell.
Oxide claims that this led to Nvidia pressuring them not to include the asynchronous compute feature in their benchmark at all, so that the 900 series would not be at a disadvantage against AMD's products which implement asynchronous compute in hardware.
Maxwell requires that the GPU be statically partitioned for asynchronous compute to allow tasks to run concurrently. Each partition is assigned to a hardware queue. If any of the queues that are assigned to a partition empty out or are unable to submit work for any reason (e.g. a task in the queue must be delayed until a hazard is resolved), the partition and all of the resources in that partition reserved for that queue will idle. Asynchronous compute therefore could easily hurt performance on Maxwell if it is not coded to work with Maxwell's static scheduler. Furthermore, graphics tasks saturate Nvidia GPUs much more easily than they do to AMD's GCN-based GPUs which are much more heavily weighted towards compute, so Nvidia GPUs have fewer scheduling holes that could be filled by asynchronous compute than AMD's. For these reasons, the driver forces a Maxwell GPU to place all tasks into one queue and execute each task in serial, and give each task the undivided resources of the GPU no matter whether or not each task can saturate the GPU or not.

## Products
### GeForce 900M (9xxM) series

Some implementations may use different specifications.
| Model | Launch | Code name | Fab (nm) | Transistors (million) | Die size (mm$^2$) | Bus interface | Core config | Clock speeds | Clock speeds | Clock speeds | Fillrate | Fillrate | Memory | Memory | Memory | Memory | API support (version) | API support (version) | API support (version) | API support (version) | Processing power (GFLOPS) | Processing power (GFLOPS) | TDP (watts) | SLI support |
| Model | Launch | Code name | Fab (nm) | Transistors (million) | Die size (mm$^2$) | Bus interface | Core config | Base core clock (MHz) | Boost core clock (MHz) | Memory (MT/s) | Pixel (GP/s) | Texture (GT/s) | Size (MiB) | Bandwidth (GB/s) | Type | Bus width (bit) | DirectX | OpenGL | OpenCL | Vulkan | Single precision | Double precision | TDP (watts) | SLI support |
| GeForce 910M | Aug 18, 2015 | GF117 | 28 | 585 | 116 | PCIe 3.0 x8 | 96:16:8 | 775 | 1550 | 1800 | 3.1 | 12.4 | 1024 | 14.4 | GDDR3 | 64 | 12.0 (11_0) | 4.6 | 1.1 | — | 297.6 | 1/12 of SP | 33 | No |
| GeForce 910M | March 15, 2015 | GK208 | 28 | Un­known | 87 | PCIe 3.0 x8 | 384:16:8 | 575 | 575 | 1800 | 5.13 | 9.2 | 2048 | 14.4 | GDDR3 | 64 | 12.0 (11_0) | 4.6 | 1.2 | 1.1 | 441.6 | 18.4 | 33 | No |
| GeForce 920M | March 13, 2015 | GF117 | 28 | 585 | 116 | PCIe 3.0 x8 | 96:16:8 | 775 | 1550 | 1800 | 3.1 | 12.4 | 1024 | 14.4 | GDDR3 | 64 | 12.0 (11_0) | 4.6 | 1.1 | — | 297.6 | 1/12 of SP | 33 | No |
| GeForce 920M | March 13, 2015 | GK208 | 28 | Un­known | 87 | PCIe 3.0 x8 | 384:32:16 | 954 | 954 | 1800 | 7.6 | 30.5 | 2048 | 14.4 | GDDR3 | 64 | 12.0 (11_0) | 4.6 | 1.2 | 1.1 | 732.7 | 22.9 | 33 | No |
| GeForce 920MX | March 2016 | GM108 | 28 | 1870 | 148 | PCIe 3.0 x8 | 256:24:8 | 1072 | 1176 | 1800 | 8.58 | 25.7 | 2048 | 14.4 | DDR3 GDDR5 | 64 | 12.0 (11_0) | 4.6 | 1.2 | 1.1 | 549 | 1/32 of SP | 16 | No |
| GeForce 930M | March 13, 2015 | GM108 | 28 | 1870 | 148 | PCIe 3.0 x8 | 384:24:8 | 928 | 941 | 1800 | 7.4 | 22.3 | 2048 | 14.4 | DDR3 | 64 | 12.0 (11_0) | 4.6 | 1.2 | 1.1 | 712.7 | 22.3 | 33 | No |
| GeForce 930MX | March 1, 2016 | GM108 | 28 | Un­known | Un­known | PCIe 3.0 x8 | 384:24:8 | 952 | 1020 | 2000 | Un­known | Un­known | 2048 | Un­known | DDR3 GDDR5 | 64 | 12.0 (11_0) | 4.6 | Un­known | Un­known | Un­known | Un­known | Un­known | Un­known |
| GeForce 940M | March 13, 2015 | GM107 | 28 | 1870 | 148 | PCIe 3.0 x16 | 640:40:16 | 1029 | 1100 | 2002 | 16.5 | 41.2 | 2048 | 16 - 80.2 | GDDR5 DDR3 | 128 | 12.0 (11_0) | 4.6 | 1.2 | 1.1 | 1317 | 41.1 | 75 | No |
| GeForce 940M | March 13, 2015 | GM108 | 28 | Un­known | Un­known | PCIe 3.0 x8 | 384:24:8 | 1029 | 1100 | 2002 | 8.2 | 24.7 | 2048 | 16 - 80.2 | GDDR5 DDR3 | 64 | 12.0 (11_0) | 4.6 | 1.2 | 1.1 | 790.3 | 24.7 | 33 | No |
| GeForce 940MX | March 10, 2016 | GM108 | 28 | 1870 | 148 | PCIe 3.0 x8 | 384:24:8 | 1122 | 1242 | 2002 | 8.98 | 26.93 | 2048 4096 | 16.02 (DDR3) 40.1 (GDDR5) | GDDR5 DDR3 | 64 | 12.0 (11_0) | 4.6 | 1.2 | 1.1 | 861.7 | Un­known | 23 | No |
| GeForce 945M | 2015 | GM107 | 28 | 1870 | 148 | ? | 640:40:16 | 1029 | 1085 | ? | 16.46 | 41.2 | ? | ? | DDR3 GDDR5 | 128 | 12.0 (11_0) | 4.6 | 1.2 | 1.1 | 1,317.1 | ? | 75 | ? |
| GeForce 945M | 2015 | GM108 | 28 | ? | ? | PCIe 3.0 x8 | 384:24:8 | 1122 | 1242 | ? | 8.98 | 26.93 | ? | ? | DDR3 GDDR5 | 64 | 12.0 (11_0) | 4.6 | 1.2 | 1.1 | 861.7 | ? | 23 | ? |
| GeForce GT 945A | March 13, 2015 | GM108 | 28 | Un­known | Un­known | PCIe 3.0 x8 | 384:24:8 | 1072 | 1176 | 1800 | 8.58 | 25.73 | 2048 | 14.4 | DDR3 | 64 | 12.0 (11_0) | 4.6 | 1.2 | Un­known | Un­known | Un­known | 33 | Un­known |
| GeForce GTX 950M | March 13, 2015 | GM107 | 28 | 1870 | 148 | PCIe 3.0 x16 | 640:40:16 | 914 | 1085 | 5012 | 14.6 | 36.6 | 2048(GDDR5) 4096(DDR3) | 80(GDDR5) 32(DDR3) | DDR3 GDDR5 | 128 | 12.0 (11_0) | 4.6 | 1.2 | 1.1 | 1170 | 36.56 | 75 | No |
| GeForce GTX 960M | March 13, 2015 | GM107 | 28 | 1870 | 148 | PCIe 3.0 x16 | 640:40:16 | 1029 | 1085 | 5012 | 16.5 | 41.2 | 2048 4096 | 80 | GDDR5 | 128 | 12.0 (11_0) | 4.6 | 1.2 | 1.1 | 1317 | 41.16 | 65 | No |
| GeForce GTX 965M | January 5, 2015 | GM204 | 28 | 5200 | 398 | PCIe 3.0 x16 | 1024:64:32 | 924 | 950 | 5000 | 30.2 | 60.4 | 2048 4096 | 80 | GDDR5 | 128 | 12.0 (12_1) | 4.6 | 1.2 | 1.1 | 1945 | 60.78 | 60 | Yes |
| GeForce GTX 970M | October 7, 2014 | GM204 | 28 | 5200 | 398 | PCIe 3.0 x16 | 1280:80:48 | 924 | 993 | 5012 | 37.0 | 73.9 | 3072 6144 | 120 | GDDR5 | 192 | 12.0 (12_1) | 4.6 | 1.2 | 1.1 | 2365 | 73.9 | 75 | Yes |
| GeForce GTX 980M | October 7, 2014 | GM204 | 28 | 5200 | 398 | PCIe 3.0 x16 | 1536:96:64 | 1038 | 1127 | 5012 | 49.8 | 99.6 | 4096 8192 | 160 | GDDR5 | 256 | 12.0 (12_1) | 4.6 | 1.2 | 1.1 | 3189 | 99.6 | 100 | Yes |
* ↑ In OpenCL 3.0, OpenCL 1.2 functionality has become a mandatory baseline, while all OpenCL 2.x and OpenCL 3.0 features were made optional.
* ↑ Shader Processors: Texture mapping units: Render output units
* ↑ A maximum of 2 dual-GPU cards can be connected in tandem for a 4-way SLI configuration as dual-GPU cards feature on-board 2-way SLI.
* ↑ Pixel fillrate is calculated as the lowest of three numbers: number of ROPs multiplied by the base core clock speed, number of rasterizers multiplied by the number of fragments they can generate per rasterizer multiplied by the base core clock speed, and the number of streaming multiprocessors multiplied by the number of fragments per clock that they can output multiplied by the base clock rate.
* ↑ Texture fillrate is calculated as the number of TMUs multiplied by the base core clock speed.
* ↑ Single precision performance is calculated as 2 times the number of shaders multiplied by the base core clock speed.
* ↑ Double precision performance of the Maxwell chips' are 1/32 of single-precision performance.
* 1 2 Lacks hardware video encoder
* 1 2 3 Lacks hardware video encoder and decoder

## Chipset table
### GeForce 900 (9xx) series

| Model | Launch | Code name | Process | Transistors (billion) | Die size (mm$^2$) | Core config | Bus interface | L2 Cache (MB) | Clock Speeds | Clock Speeds | Clock Speeds | Memory | Memory | Memory | Memory | Fillrate | Fillrate | Processing power (GFLOPS) | Processing power (GFLOPS) | TDP (Watts) | SLI support | Release price (USD) |
| Model | Launch | Code name | Process | Transistors (billion) | Die size (mm$^2$) | Core config | Bus interface | L2 Cache (MB) | Base (MHz) | Boost (MHz) | Memory (MT/s) | Size (GB) | Bandwidth (GB/s) | Bus type | Bus width (bit) | Pixel (GP/s) | Texture (GT/s) | Single precision | Double precision | TDP (Watts) | SLI support | MSRP |
| GeForce GT 945A | February, 2016 | GM108 | TSMC 28HP | Un­known | Un­known | 512:24:8 (4) | PCIe 3.0 x8 | ? | 1072 | 1176 | 1800 | 1 / 2 | 14.4 | DDR3 / GDDR5 | 64 | 8.5 9.4 | 25.7 28.2 | 1,097.7 1,204.2 | 34.3 37.6 | 33 | No | OEM |
| GeForce GTX 950 | August 20, 2015 | GM206-250 | TSMC 28HP | 2.94 | 227 | 768:48:32 (6) | PCIe 3.0 x16 | 1 | 1024 | 1188 | 6600 | 2 | 105.7 | GDDR5 | 128 | 32.7 38.0 | 49.1 57.0 | 1,572.8 1,824.7 | 49.1 57.0 | 90 (75) | 2-way SLI | 159 |
| GeForce GTX 950 (OEM) | Un­known | GM206 | TSMC 28HP | 2.94 | 227 | 1024:64:32 (8) | PCIe 3.0 x16 | 1 | 935 | Un­known | 5000 | 2 | 80.0 | GDDR5 | 128 | 29.9 | 59.8 | 1,914.9 , | 59.8 | Un­known | 2-way SLI | OEM |
| GeForce GTX 960 | January 22, 2015 | GM206-300 | TSMC 28HP | 2.94 | 227 | 1024:64:32 (8) | PCIe 3.0 x16 | 1 | 1127 | 1178 | 7000 | 2 4 | 112.1 | GDDR5 | 128 | 36.0 37.6 | 72.1 75.3 | 2,308.0 2,412.5 | 72.1 75.3 | 120 | 2-way SLI | 199 |
| GeForce GTX 960 (OEM) | Un­known | GM204 | TSMC 28HP | 5.2 | 398 | 1280:80:48 (10) | PCIe 3.0 x16 | 1 | 924 | Un­known | 5000 | 3 | 120.0 | GDDR5 | 192 | 44.3 | 73.9 | 2,365.4 , | 73.9 | Un­known | 2-way SLI | OEM |
| GeForce GTX 970 | September 18, 2014 | GM204-200 | TSMC 28HP | 5.2 | 398 | 1664:104:56 (13) | PCIe 3.0 x16 | 1.75 | 1050 | 1178 | 7000 | 3.5 + 0.5 | 196.3 + 28.0 | GDDR5 | 224 + 32 | 58.8 65.9 | 109.2 122.5 | 3,494.4 3,920.3 | 109.2 122.5 | 145 | 4-way SLI | 329 |
| GeForce GTX 980 | September 18, 2014 | GM204-400 | TSMC 28HP | 5.2 | 398 | 2048:128:64 (16) | PCIe 3.0 x16 | 2 | 1126 | 1216 | 7000 | 4 | 224.3 | GDDR5 | 256 | 72.0 77.8 | 144.1 155.6 | 4,612.0 4,980.7 | 144.1 155.6 | 165 | 4-way SLI | 549 |
| GeForce GTX 980 Ti | June 1, 2015 | GM200-310 | TSMC 28HP | 8 | 601 | 2816:176:96 (22) | PCIe 3.0 x16 | 3 | 1000 | 1075 | 7000 | 6 | 336.5 | GDDR5 | 384 | 96.0 103.2 | 176.0 189.2 | 5,632.0 6,054.4 | 176.0 189.2 | 250 | 4-way SLI | 649 |
| GeForce GTX TITAN X | March 17, 2015 | GM200-400 | TSMC 28HP | 8 | 601 | 3072:192:96 (24) | PCIe 3.0 x16 | 3 | 1000 | 1075 | 7000 | 12 | 336.5 | GDDR5 | 384 | 96.0 103.2 | 192.0 206.4 | 6,144.0 6,604.8 | 192.0 206.4 | 250 | 4-way SLI | 999 |
* ↑ Main shader processors: texture mapping units: render output units (streaming multiprocessors)
* 1 2 Base clock, Boost clock
* ↑ To calculate the processing power see Maxwell (microarchitecture)#Performance.
* ↑ Pixel fillrate is calculated as the number of ROPs multiplied by the respective core clock speed.
* ↑ Texture fillrate is calculated as the number of TMUs multiplied by the respective core clock speed.
* ↑ Some GTX950 cards were released without power connector powered only by PCIe slot. These had limited power consumption and TDP to 75W.
* ↑ Some manufacturers produced 4 GB versions of GTX 960. These were often criticized as useless move, as titles that would use so much VRAM and actually gain advantage over 2 GB versions, would already run too slow on those resolutions and settings, as GTX960 didn't have enough compute power and memory bandwidth to handle it.
* 1 2 3 For accessing its memory, the GTX 970 stripes data across 7 of its 8 32-bit physical memory lanes, at 196 GB/s. The last 1/8 of its memory (0.5 GB on a 4 GB card) is accessed on a non-interleaved solitary 32-bit connection at 28 GB/s, one seventh the speed of the rest of the memory space. Because this smaller memory pool uses the same connection as the 7th lane to the larger main pool, it contends with accesses to the larger block reducing the effective memory bandwidth not adding to it as an independent connection could.

## Discontinued support

Driver 368.81 is the last driver to support Windows XP/Windows XP 64-bit.
* Windows XP 32-bit: 368.81 driver download
* Windows XP 64-bit: 368.81 driver download
32-bit drivers for 32-bit operating systems were discontinued after the release of driver 391.35 in March 2018.
Notebook GPUs based on the Kepler architecture moved to legacy support in April 2019 and stopped receiving critical security updates after April 2020. The Nvidia GeForce 910M and 920M from the 9xxM GPU family are affected by this change.
Nvidia announced that after release of the 470 drivers, it would transition driver support for the Windows 7 and Windows 8.1 operating systems to legacy status and continue to provide critical security updates for these operating systems through September 2024.
In January 2025, Nvidia has announced plans to wind down developer support for the Maxwell architecture, which includes the GTX 9-Series. While CUDA support will be deprecated in a future release, driver updates are expected to continue for a limited time.