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.
Async compute support While the Maxwell series was marketed as fully DirectX 12 compliant,Advanced API support nvidia.com 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 900 (9xx) series
Model Launch Code name Process Transistors (billion) Die size (mm2) Core config Bus interfaceL2 Cache(MB) Clock Speeds Memory Fillrate Processing power (GFLOPS) TDP (Watts) SLI support Release price (USD) 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 MSRP GeForce GT 945A February, 2016 GM108 TSMC28HP 512:24:8 (4) PCIe 3.0 x8 ? 1072 1176 1800 1 / 2 14.4 DDR3 / GDDR5 64 8.59.4 25.728.2 1,097.71,204.2 34.337.6 33 rowspan="1" GeForce GTX 950 August 20, 2015 GM206-250 2.94 227 768:48:32 (6) PCIe 3.0 x16 1 1024 1188 6600 2 105.7 GDDR5 128 32.738.0 49.157.0 1,572.81,824.7 49.157.0 90 (75) 2-way SLI 159 GeForce GTX 950 (OEM) GM206 1024:64:32 (8) 935 5000 80.0 29.9 59.8 1,914.9, 59.8 GeForce GTX 960 January 22, 2015 GM206-300 1127 1178 7000 24 112.1 36.037.6 72.175.3 2,308.02,412.5 72.175.3 120 199 GeForce GTX 960 (OEM) GM204 5.2 398 1280:80:48 (10) 924 5000 3 120.0 192 44.3 73.9 2,365.4, 73.9 GeForce GTX 970 September 18, 2014 GM204-200 1664:104:56 (13) 1.75 1050 1178 7000 3.5 +0.5 196.3 +28.0 224 +32 58.865.9 109.2122.5 3,494.43,920.3 109.2122.5 145 4-way SLI 329 GeForce GTX 980 September 18, 2014 GM204-400 2048:128:64 (16) 2 1126 1216 4 224.3 256 72.077.8 144.1155.6 4,612.04,980.7 144.1155.6 165 549 GeForce GTX 980 Ti June 1, 2015 GM200-310 8 601 2816:176:96 (22) 3 1000 1075 6 336.5 384 96.0103.2 176.0189.2 5,632.06,054.4 176.0189.2 250 649 GeForce GTX Titan X March 17, 2015 GM200-400 3072:192:96 (24) 12 192.0206.4 6,144.06,604.8 192.0206.4 999
GeForce 900M (9xxM) series Some implementations may use different specifications.
Model Launch Code name Fab (nm) Transistors (million) Die size (mm2) Bus interface Core config Clock speeds Fillrate Memory API support (version) Processing power (GFLOPS) TDP (watts) SLI support 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 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 6412.0 (11_0) 4.6 1.1 297.6 1/12 of SP 33 No March 15, 2015 GK208 87 384:16:8 575 575 5.13 9.2 2048 1.2 1.1 441.6 18.4 GeForce 920M March 13, 2015 GF117 585 116 96:16:8 775 1550 3.1 12.4 1024 1.1 297.6 1/12 of SP GK208 87 384:32:16 954 954 7.6 30.5 2048 1.2 1.1 732.7 22.9 GeForce 920MX March 2016 GM108 1870 148 256:24:8 1072 1176 8.58 25.7 2048 DDR3 GDDR5 549 1/32 of SP 16 GeForce 930M March 13, 2015 384:24:8 928 941 7.4 22.3 2048 DDR3 712.7 22.3 33 GeForce 930MX March 1, 2016 PCIe 3.0 x8 384:24:8 952 1020 2000 2048 DDR3 GDDR5 GeForce 940M March 13, 2015 GM107 1870 148 PCIe 3.0 x16 640:40:16 1029 1100 2002 16.5 41.2 2048 16 - 80.2 GDDR5 DDR3 128 1.2 1.1 1317 41.1 75 No GM108 PCIe 3.0 x8 384:24:8 8.2 24.7 64 790.3 24.7 33 GeForce 940MX March 10, 2016 1870 148 384:24:8 1122 1242 8.98 26.93 20484096 16.02 (DDR3)40.1 (GDDR5) 861.7 23 GeForce 945M 2015 GM107 640:40:16 1029 1085 rowspan="2" 16.46 41.2 rowspan="2" rowspan="2" DDR3 GDDR5 128 1,317.1 rowspan="2" 75 rowspan="2" GM108 PCIe 3.0 x8 384:24:8 1122 1242 8.98 26.93 64 861.7 23 GeForce GT 945ANVIDIA™ GeForceGT 945A (1GB GDDR5) user-selectable by application via NVIDIA Control Panel http://store.hp.com/us/en/ContentView?catalogId=10051&langId=-1&storeId=10151&eSpotName=Sprout-Pro#! March 13, 2015 384:24:8 1072 1176 1800 8.58 25.73 2048 14.4 DDR3 33 GeForce GTX 950M March 13, 2015 GM107 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 1.2 1.1 1170 36.56 75 No GeForce GTX 960M 640:40:16 1029 1085 16.5 41.2 20484096 80GDDR5 1317 41.16 65 GeForce GTX 965M January 5, 2015 GM204 5200 398 1024:64:32 924 950 5000 30.2 60.4 12.0 (12_1) 1945 60.78 60 Yes GeForce GTX 970M October 7, 2014 1280:80:48 924 993 5012 37.0 73.9 30726144 120 192 2365 73.9 75 GeForce GTX 980M 1536:96:64 1038 1127 49.8 99.6 40968192 160 256 3189 99.6 100
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.