Maxwell is the codename for a GPU microarchitecture developed by Nvidia as the successor to the Kepler microarchitecture. The Maxwell architecture was introduced in later models of the GeForce 700 series and is also used in the GeForce 800M series, GeForce 900 series, and Quadro Kxxx series, all manufactured in 28 nm.
The very first Maxwell-based products to hit the market were the GeForce GTX 750 and the GeForce GTX 750 Ti. Both were released on February 18, 2014, both with the chip code number GM107. Earlier GeForce 700 series GPUs had used Kepler chips with the code numbers GK1xx. The GM10x GPUs are also used in the GeForce 800M series and the Quadro Kxxx series.
A second generation of Maxwell-based products was introduced on September 18, 2014 with the GeForce GTX 970 and GeForce GTX 980, followed by the GeForce GTX 960 on January 22, 2015. These GPUs have GM2xx chip code numbers.
Maxwell introduced an all-new design for the Streaming Multiprocessor (SM) that dramatically improves power efficiency.
First generation Maxwell (GM10x)
First generation Maxwell equip GPU (GM107/GM108) were released as GeForce GTX 745, 750/750 Ti, 850M/860M (GM107) and GTX 830M/840M (GM108). These new chips provide few consumer-facing additional features as Nvidia instead focused more on GPU power efficiency. The L2 cache were increase from 256 KiB on Kepler to 2 MiB on Maxwell, reducing the need for more memory bandwidth. Accordingly, memory bus were reduce from 192 bit on Kepler to 128 bit, further saving power. The streaming multiprocessor design from Kepler were also retooled and partitioned, renaming it to SMM for Maxwell. The structure of the warp scheduler is inherited from Kepler with the texture units and FP64 CUDA cores still shared but the layout of most execution units are partitioned so that each 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 execution units. Prior to Kepler, these units are connected to a crossbar that uses unnecessary power to allow them to be shared. On Maxwell, the crossbar is removed as it becomes redundant. This allowed for a finer-grain and more efficient allocation of resources than in Kepler, saving power when the workload isn't optimal for shared resources. Nvidia claims a 128 CUDA core SMM has 90% of the performance of a 192 CUDA core SMX while efficiency increase by a factor of 2 . 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 also 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 also 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.
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.
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 equip GPU 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 Maxwell also has up to 4 SMM units per GPC, compared to 5 SMM units per GPC.
Maxwell second generation GM20x GPUs have an 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.
After consumer complaints, 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 costs of dividing the memory bus into high speed and low speed segments that cannot be accessed at the same time for reads because the L2/ROP unit managing both of the GDDR5 controllers shares the read return channel and the write data bus between the GDDR5 controllers, making either simultaneously reading from both GDDR5 controllers or simultaneously writing to both GDDR5 controllers impossible. 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 512 MB in a low speed segment on a 32-bit bus. The peak speed of such a GPU can still be attained, but the peak speed figure is only reachable if one segment is executing a read operation while the other segment is executing a write.
- "5 Things You Should Know About the New Maxwell GPU Architecture". 2014-02-21.
- Smith, Ryan; T S, Ganesh (18 February 2014). "The NVIDIA GeForce GTX 750 Ti and GTX 750 Review: Maxwell Makes Its Move". AnandTech. Archived from the original on 18 February 2014. Retrieved 18 February 2014.