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 are produced with TSMC's 28 nm process.

GeForce 900 series
Nvidia GeForce GTX 980 Ti Founders Edition
Release dateSeptember 18, 2014; 9 years ago (September 18, 2014)
CodenameGM20x
ArchitectureFermi
Kepler
Maxwell
ModelsGeForce series
  • GeForce GT series
  • GeForce GTX series
Transistors2.94B (GM206)
  • 5.2B (GM204)
  • 8.0B (GM200)
Fabrication processTSMC 28 nm
Cards
Mid-range
  • GeForce GTX 950
  • GeForce GTX 960
High-end
  • GeForce GTX 970
  • GeForce GTX 980
Enthusiast
  • GeForce GTX 980 Ti
  • GeForce GTX TITAN X
API support
DirectXDirect3D 12 (feature level 12_1)[2][3][4][5]
Shader Model 6.7
OpenCLOpenCL 3.0[a]
OpenGLOpenGL 4.6
VulkanVulkan 1.3[1]
SPIR-V
History
Predecessor
SuccessorGeForce 10 series
Support status
Fermi cards unsupported
Security updates for Kepler until September 2024
Maxwell fully supported

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.[6]

Maxwell was announced in September 2010,[7] with the first Maxwell-based GeForce consumer-class products released in early 2014.[8]

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.[9] 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.[10] These units are connected by a crossbar that uses power to allow the resources to be shared.[10] This crossbar is removed in Maxwell.[10] Texture units and FP64 CUDA cores are still shared.[9] 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.[9] 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.[9]

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,[11] Nvidia corrected this at GDC 2017 saying Maxwell instead uses Tile Caching.[12]

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.[9]

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.[9] When decoding video, a new low power state "GC5" is used on Maxwell GPUs to conserve power.[9]

Second generation Maxwell (GM20x)

Second generation Maxwell introduced several new technologies: Dynamic Super Resolution,[13] Third Generation Delta Color Compression,[14] Multi-Pixel Programming Sampling,[15] Nvidia VXGI (Real-Time-Voxel-Global Illumination),[16] VR Direct,[17][18][19] Multi-Projection Acceleration,[14] and Multi-Frame Sampled Anti-Aliasing (MFAA)[20] (however support for Coverage-Sampling Anti-Aliasing (CSAA) was removed).[21] HDMI 2.0 support was also added.[22][23]

Second generation Maxwell also changed the ROP to memory controller ratio from 8:1 to 16:1.[24] 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.[25]

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.[19]

Maxwell GM206 GPU supports full fixed function HEVC hardware decoding.[26][27]

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.[28][29][30]

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.[31] 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.[32] However, Nvidia later clarified that the promise had been a miscommunication and there would be no specific driver update for the GTX 970.[33] Nvidia claimed that it would assist customers who wanted refunds in obtaining them.[34] On February 26, 2015, Nvidia CEO Jen-Hsun Huang went on record in Nvidia's official blog to apologize for the incident.[35] 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.[36][37]

Nvidia revealed that it is able to disable individual units, each containing 256KB of L2 cache and 8 ROPs, without disabling whole memory controllers.[38] 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.[38] 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.[38]

On July 27, 2016, Nvidia agreed to a preliminary settlement of the U.S. class action lawsuit,[36] 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.[39]

Async compute support

GTX TITAN X

While the Maxwell series was marketed as fully DirectX 12 compliant,[3][40][41] Oxide Games, developer of Ashes of the Singularity, uncovered that Maxwell-based cards do not perform well when async compute is utilized.[42][43][44][40]

It appears that while this core feature is in fact exposed by the driver,[45] Nvidia partially implemented it through a driver-based shim, coming at a high performance cost.[44] Unlike AMD's competing GCN-based graphics cards which include a full implementation of hardware-based asynchronous compute,[46][47] 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.[48] 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.[49] The 3DMark Time Spy benchmark shows no noticeable performance difference between asynchronous compute being enabled or disabled.[49] Asynchronous compute is disabled by the driver for Maxwell.[49]

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.[43]

Maxwell requires that the GPU be statically partitioned for asynchronous compute to allow tasks to run concurrently.[50] 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.[50] Asynchronous compute therefore could easily hurt performance on Maxwell if it is not coded to work with Maxwell's static scheduler.[50] 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.[50] 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.[50]

Products

GeForce 900M (9xxM) series

Some implementations may use different specifications.

ModelLaunchCode nameFab (nm)Transistors (million)Die size (mm2)Bus interfaceCore config[b]Clock speedsFillrateMemoryAPI support (version)Processing power (GFLOPS)TDP (watts)SLI support[c]
Base core clock (MHz)Boost core clock (MHz)Memory (MT/s)Pixel (GP/s)[d]Texture (GT/s)[e]Size (MiB)Bandwidth (GB/s)TypeBus width (bit)DirectXOpenGLOpenCLVulkanSingle precision[f]Double precision[g]
GeForce 910M[53][54][55]Aug 18, 2015GF117[h]28585116PCIe 3.0 x896:16:8775155018003.112.4102414.4GDDR36412.0 (11_0)[2][5]4.61.1297.61/12 of SP33No
March 15, 2015GK208Un­known87384:16:85755755.139.220481.21.1441.618.4
GeForce 920M[56][57][58]March 13, 2015GF117[h]58511696:16:877515503.112.410241.1297.61/12 of SP
GK208Un­known87384:32:169549547.630.520481.21.1732.722.9
GeForce 920MX[59][60]March 2016GM108[i]1870148256:24:8107211768.5825.72048DDR3 GDDR55491/32 of SP16
GeForce 930M[61][62]March 13, 2015384:24:89289417.422.32048DDR3712.722.333
GeForce 930MX[63][64]March 1, 2016Un­knownUn­knownPCIe 3.0 x8384:24:895210202000Un­knownUn­known2048Un­knownDDR3 GDDR5Un­knownUn­knownUn­knownUn­knownUn­knownUn­known
GeForce 940M[65][66][67]March 13, 2015GM1071870148PCIe 3.0 x16640:40:1610291100200216.541.2204816 - 80.2GDDR5 DDR31281.21.1131741.175No
GM108[i]Un­knownUn­knownPCIe 3.0 x8384:24:88.224.764790.324.733
GeForce 940MX[68][69]March 10, 20161870148384:24:8112212428.9826.932048
4096
16.02 (DDR3)
40.1 (GDDR5)
861.7Un­known23
GeForce 945M[70][71][72]2015GM107?640:40:1610291085?16.4641.2??DDR3 GDDR51281,317.1?75?
GM108[i]??PCIe 3.0 x8384:24:8112212428.9826.9364861.723
GeForce GT 945A[73][74]March 13, 2015Un­knownUn­known384:24:81072117618008.5825.73204814.4DDR3Un­knownUn­knownUn­known33Un­known
GeForce GTX 950M[75][76]March 13, 2015GM1071870148PCIe 3.0 x16640:40:169141085501214.636.62048(GDDR5)
4096(DDR3)
80(GDDR5)
32(DDR3)
DDR3 GDDR51281.2[77]1.1117036.5675No
GeForce GTX 960M[78][79]640:40:161029108516.541.22048
4096
80GDDR5131741.1665
GeForce GTX 965M[80][81]January 5, 2015GM20452003981024:64:32924950500030.260.412.0 (12_1)[2][5]194560.7860Yes
GeForce GTX 970M[82]October 7, 20141280:80:48924993501237.073.93072
6144
120192236573.975
GeForce GTX 980M[83]1536:96:641038112749.899.64096
8192
160256[84]318999.6100

Chipset table

GeForce 900 (9xx) series

ModelLaunchCode nameProcessTransistors (billion)Die size (mm2)Core config[a]Bus interfaceL2 Cache
(MB)
Clock SpeedsMemoryFillrate[b]Processing power (GFLOPS)[b][c]TDP (Watts)SLI supportRelease price (USD)
Base (MHz)Boost (MHz)Memory (MT/s)Size (GB)Bandwidth (GB/s)Bus typeBus width (bit)Pixel (GP/s)[d]Texture (GT/s)[e]Single precisionDouble precisionMSRP
GeForce GT 945A[85][86][87]February, 2016GM108TSMC
28HP
Un­knownUn­known512:24:8 (4)PCIe 3.0 x8?1072117618001 / 214.4DDR3 / GDDR5648.5
9.4
25.7
28.2
1,097.7
1,204.2
34.3
37.6
33NoOEM
GeForce GTX 950[88]August 20, 2015GM206-2502.94227768:48:32 (6)PCIe 3.0 x1611024118866002105.7GDDR512832.7
38.0
49.1
57.0
1,572.8
1,824.7
49.1
57.0
90 (75[f])2-way SLI$159
GeForce GTX 950 (OEM)[90]Un­knownGM2061024:64:32 (8)935Un­known500080.029.9
 
59.8
 
1,914.9
,
59.8
 
Un­knownOEM
GeForce GTX 960[91]January 22, 2015GM206-3001127117870002
4[g]
112.136.0
37.6
72.1
75.3
2,308.0
2,412.5
72.1
75.3
120$199
GeForce GTX 960 (OEM)[93]Un­knownGM2045.23981280:80:48 (10)924Un­known50003120.019244.3
 
73.9
 
2,365.4
,
73.9
 
Un­knownOEM
GeForce GTX 970[94]September 18, 2014GM204-2001664:104:56 (13)1.751050117870003.5 +
0.5[h]
196.3 +
28.0[h]
224 +
32[h]
58.8
65.9
109.2
122.5
3,494.4
3,920.3
109.2
122.5
1454-way SLI$329
GeForce GTX 980[96]September 18, 2014GM204-4002048:128:64 (16)2112612164224.325672.0
77.8
144.1
155.6
4,612.0
4,980.7
144.1
155.6
165$549
GeForce GTX 980 Ti[97]June 1, 2015GM200-31086012816:176:96 (22)3100010756336.538496.0
103.2
176.0
189.2
5,632.0
6,054.4
176.0
189.2
250$649
GeForce GTX TITAN X[98]March 17, 2015GM200-4003072:192:96 (24)12192.0
206.4
6,144.0
6,604.8
192.0
206.4
$999

Discontinued support

"Driver 368.81 is the last driver to support Windows XP/Windows XP 64-bit".

32-bit drivers for 32-bit operating systems were discontinued after the release of driver 391.35 in March 2018.[99]

Notebook GPUs based on the Kepler architecture moved to legacy support in April 2019 and stopped receiving critical security updates after April 2020.[100][101] 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.[102]

See also

References

External links