1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems

Facebook RSS Twitter Twitter Google Plus

Phoronix Test Suite


Nouveau Begins To Work Towards Unreleased GK110


Published on 07 September 2012 06:39 PM EDT
Written by Michael Larabel in NVIDIA

While the hardware hasn't even been released yet by NVIDIA, support for the very interesting and powerful GK110, a.k.a. "Kepler 2", is already starting to materialize within the open-source reverse-engineered Nouveau driver.

The GK110 graphics processor is coming later in the year and is massive: it's home to approximately 7.1 billion transistors, or nearly double that of the current-generation Kepler GPUs in the GeForce 600 series. This next-gen Kepler is going to really ramp up the double floating-point performance (as much as 2~3x faster) plus other optimizations for much greater GPGPU/Compute abilities. The initial graphics card to sport a GK110 will be the NVIDIA Tesla K20 GPU-compute accelerator and then later on should work from the workstation/cluster market into consumer-grade market.

The GK110 is a radically different GPU design compared to current-generation Kepler GPUs. By now you have likely read all about the GK110 for months if you're interested in low-level graphics processor details. NVIDIA has publicly released a 24-page white-paper on the GK110 architecture, which is viewable as a PDF.
"Comprising 7.1 billion transistors, Kepler GK110 is not only the fastest, but also the most architecturally complex microprocessor ever built. Adding many new innovative features focused on compute performance, GK110 was designed to be a parallel processing powerhouse for Tesla® and the HPC market. Kepler GK110 will provide over 1 TFlop of double precision throughput with greater than 80% DGEMM efficiency versus 60‐65% on the prior Fermi architecture. In addition to greatly improved performance, the Kepler architecture offers a huge leap forward in power efficiency, delivering up to 3x the performance per watt of Fermi."
What's interesting though is that Nouveau GK110 work has already begun in a very early form... NVIDIA officially doesn't back the Nouveau project at all, they aren't an open-source-friendly company, Nouveau has no official corporate backer besides Ben Skeggs being employed by Red Hat and some sponsorship by PathScale, and the expensive GK110 hardware isn't even publicly available yet.

The first Nouveau GK110 commit I spotted happened earlier today hit mainline Mesa Git. The commit, which introduced nearly 1,700 lines of new code, was authored by Christoph Bumiller. Bumiller is a student out of Vienna that has long committed to the Nouveau driver. This Git commit is entitled "nvc0/ir: add initial code to support GK110 ISA encoding."

From the NVC0 Gallium3D driver, this code provides the basics of a code emitter for the GK110 encoding of the Fermi/Kepler instruction set architecture. Much work is left before the GK110 ISA code emitter is fully ready for the Gallium3D driver, but it's a measurable start with 1,691 lines of fresh code.

I have yet to see any GK110-related code hit the xf86-video-nouveau DDX or the Nouveau DRM tree for the Linux kernel driver to provide kernel mode-setting, etc. Still though it's noteworthy that GK110 in the Nouveau world is already being thought about when initially this hardware is just targeting the HPC market where Nouveau really doesn't have much of a presence with its OpenGL and OpenCL/CUDA support not being up to scratch. There's basic OpenCL support now in the Gallium3D world plus a basic open-source CUDA run-time, but it's far from parity for now with the officially supported NVIDIA Linux binary blob. Nouveau doesn't even have proper power management support yet.

It's interesting that the GK110 Nouveau support has begun, albeit in a very early and yet-to-be-usable form with the DRM driver changes not even having been made yet to provide mode-setting support, but noteworthy nevertheless. It's also unknown right now what the motives are for Christoph Bumiller to be working on support for the unreleased NVIDIA graphics processor.

With the current-generation GeForce 600 "Kepler" series, there was also an interesting incident where this community-based reverse-engineering driver managed initial same-day support for the GeForce GTX 680. At least two Nouveau developers managed to get their hands early on GeForce GTX 680 graphics cards and were able to begin working on the support, albeit going from Fermi to Kepler the initial driver changes weren't too extensive. The same-day Kepler support worked, but required first running the NVIDIA binary driver in order to extract some important firmware (the "FUC" microcode) so the graphics card can later initialize with the Nouveau driver.

Within the mainline Linux kernel this Kepler acceleration support is still limited until the DRM driver can generate its own support. In addition, there isn't yet any re-clocking or power management support for Nouveau Kepler, so the performance is quite slow with the boot speeds tending to be very low. At least these limitations have since been addressed with Nouveau's support for the previous-generation NVIDIA Fermi GPUs, but there they're still working on better re-clocking support and other improvements.

Anyhow, in terms of the Linux support for the GK110-based graphics cards on launch day, there will be official support for sure within the binary NVIDIA Linux graphics driver.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux Hardware Reviews
  1. AMD Launches New FX CPUs, Cuts Prices On Existing Processors
  2. Preview: AMD's FX-9590 Eight-Core At Up To 5.0GHz On Linux
  3. Intel Launches The Core i7 5960X, Mighty Powerful Haswell-E CPUs
  4. AMD Radeon R9 290: Gallium3D vs. Catalyst Drivers
Latest Linux Articles
  1. LLVM Clang 3.5 Brings Some Compiler Performance Improvements
  2. Ondemand vs. Performance CPU Governing For AMD FX CPUs On Linux 3.17
  3. How Intel Graphics On Linux Compare To Open-Source AMD/NVIDIA Drivers
  4. The Fastest NVIDIA GPUs For Open-Source Nouveau With Steam Linux Gaming
Latest Linux News
  1. New Group Calls For Boycotting Systemd
  2. The Features To Find With The Imminent Release Of LLVM/Clang 3.5
  3. Borderlands 2 Is Coming To Linux
  4. The Witcher 2 Ups The Performance More & Works Around Catalyst Bug
  5. Running Gallium3D's LLVMpipe On The Eight-Core 5GHz CPU
  6. Trying Intel OpenCL On Linux For Video Encoding
  7. GSoC 2014 Yielded Some Improvements For Mesa/X.Org This Year
  8. webOS Lives On As LuneOS With New Release
  9. Marek Lands Radeon Gallium3D HyperZ Improvements
  10. Mozilla Firefox 32 Surfaces With HTML5, Developer Changes
Latest Forum Discussions
  1. Lennart Poettering Talks Up His New Linux Vision That Involves Btrfs
  2. nv and xorg.conf under Debian PPC
  3. AMD graphics doesn't work with AMD Catalyst drivers
  4. Best Radeon for a Power Mac G5?
  5. The dangers of Linux kernel development
  6. Updated and Optimized Ubuntu Free Graphics Drivers
  7. AMD Releases UVD Video Decode Support For R600 GPUs
  8. SSD seems slow