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

OpenBenchmarking.org

Nouveau Begins To Work Towards Unreleased GK110

NVIDIA

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

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. Btrfs On 4 x Intel SSDs In RAID 0/1/5/6/10
  2. AMD Radeon R9 290 On Ubuntu 14.10: RadeonSI Gallium3D vs. Catalyst
  3. MSI X99S SLI PLUS On Linux
  4. NVIDIA GeForce GTX 970 Offers Great Linux Performance
Latest Linux Articles
  1. NVIDIA's Linux Driver Can Deliver Better OpenGL Performance Than Windows 8.1
  2. Windows 8.1 vs. Ubuntu 14.10 With Intel HD Graphics
  3. 6-Way Ubuntu 14.10 Radeon Gallium3D vs. Catalyst Driver Comparison
  4. NVIDIA vs. Nouveau Drivers On Ubuntu 14.10
Latest Linux News
  1. Wine 1.7.30 Continues Work On DirectWrite & Offers Regedit Fixes
  2. Has The Sky Fallen? Qualcomm Contributes To Freedreno's DRM/KMS Driver
  3. Manjaro Works To Make Calamares A Distribution-Independent Installer
  4. DisplayLink USB 3.0 Support Sounds Like A Mess
  5. PulseAudio Gains A Native Bluetooth Headset Backend
  6. X.Org Foundation Decides On Its Women Outreach Project
  7. GTK+ 3.16's New GtkGLArea Widget Gets Improved
  8. X.Org Server 1.17 ABI Bumped
  9. Fedora 21 Beta To Be Released Next Week
  10. Go 1.4 Beta Release Brings Big Runtime Changes
Latest Forum Discussions
  1. What Would You Like To See Next?
  2. Closed source to opensource
  3. How to get rid of Linux
  4. Is foolish currently develop in machine code, hexadecimal and assembly?
  5. Reducing The CPU Usage In Mesa To Improve Performance
  6. Help diagnosing problems with a Readon HD 4670 on Mesa 10.3.2-1
  7. Advertisements On Phoronix
  8. nv and xorg.conf under Debian PPC