A New Approach to Texture Handling
The GeForce 600 series, developed by Nvidia and first released in 2012, served as the introduction of the Kepler architecture. Among the standard features it added to the GeForce family was a new form of texture handling known as bindless textures, manufactured by TSMC on a 28 nm process.
Kepler-based members of the 600 series also added the PCI Express 3.0 interface, DisplayPort 1.2, HDMI 1.4a 4K x 2K video output, Next Generation Streaming Multiprocessor (SMX), GPU Boost, TXAA, CUDA Compute Capability 3.0, and a new instruction scheduler. Bindless textures appear alongside these as one of the defining architectural additions.

The Limitations of the Previous Model
Before bindless textures, textures needed to be bound by the CPU to a particular slot in a fixed-size table before the GPU could reference them. This created two specific limitations.
The first limitation was capacity. Because the table was fixed in size, there could only be as many textures in use at one time as could fit in this table, which was 128. The second limitation involved unnecessary CPU work: the CPU had to load each texture, and also bind each texture loaded in memory to a slot in the binding table.
What Bindless Textures Changed
With bindless textures, both limitations were removed. According to the source, the GPU can access any texture loaded into memory, which increases the number of available textures and removes the performance penalty of binding.
This means the GPU is no longer restricted to the 128-texture limit of the fixed binding table, and the CPU no longer performs the work of loading and binding each texture to a slot.
Context Within Kepler’s Design Goals
The introduction of bindless textures occurred within a broader architectural shift. Nvidia’s goal with the Kepler architecture was to increase performance per watt while still striving for overall performance increases. The primary way Nvidia achieved this was through the use of a unified clock, abandoning the shader clock found in previous GPU designs.
This efficiency gain is attributed to two factors. The cores are more power efficient, with two Kepler cores using about 90% of the power of one Fermi core, according to Nvidia’s numbers. Additionally, the reduction in clock speed delivers a 50% reduction in power consumption in that area.
Kepler also introduced other texture-related and performance features. TXAA, exclusive to Kepler GPUs, is a new anti-aliasing method designed for direct implementation into game engines, addressing the problem of shimmering or temporal aliasing. NVENC, Nvidia’s SIP block for video encoding, can perform encoding in resolutions up to 4096×4096 for H.264 content.
Release Timeline
In September 2010, Nvidia first announced Kepler. In early 2012, details of the first members of the 600 series parts emerged, with these initial members being entry-level laptop GPUs sourced from the older Fermi architecture.
On March 22, 2012, Nvidia unveiled the 600 series GPU: the GTX 680 for desktop PCs and the GeForce GT 640M, GT 650M, and GTX 660M for notebook/laptop PCs. The GTX 690 was announced on April 29, 2012 as the first dual-GPU Kepler product.
The GeForce 600 series is succeeded by the GeForce 700 series. Kepler is named after the German mathematician, astronomer, and astrologer Johannes Kepler.
This explanation is adapted from Wikipedia and is available under CC BY-SA 4.0.

Dołącz do dyskusji