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 Can Do OpenCL Compute For Open-Source NVIDIA

Nouveau

Published on 06 February 2012 08:50 PM EST
Written by Michael Larabel in Nouveau
10 Comments

There's another big accomplishment within the open-source graphics camp: Nouveau developers now having an initial working OpenCL implementation for NVIDIA GeForce graphics hardware on the driver that the Linux community developed themselves via reverse-engineering without NVIDIA's support.

This past weekend at FOSDEM 2012 in Brussels was a presentation by Francisco Jerez concerning OpenCL support for the reverse-engineered open-source NVIDIA graphics driver. Francisco is the developer that the X.Org Foundation has been paying to do some OpenCL work since none of the open-source Linux graphics drivers have supported this GPGPU technology yet.

At the end of last month Francisco reported on his OpenCL code nearing a working state while at FOSDEM he shared that the initial NV50 code for OpenCL is in fact working -- he then showed off the OpenCL-Nouveau support working with clinfo and then a few OpenCL demos on Linux with this unofficial graphics card driver.

The Nouveau NV50 driver is what handles the GeForce 8/9/100/200/300 series, but not the newer GeForce 400/500 "Fermi" graphics cards. OpenCL support there is still much more early on with the developers still working out other Fermi features and bugs.

Nouveau Can Do OpenCL Compute For Open-Source NVIDIA


The community-spawned OpenCL support within Nouveau takes advantage of the earlier work done by Zack Rusin on the Clover state tracker for Gallium3D in recent years and then this past year during the work done as part of Google's Summer of Code. With the Clover/OpenCL state tracker for Gallium3D, LLVM/Clang is used as the OpenCL compiler.

While AMD has been paying for open-source OpenCL love and the open-source Radeon OpenCL support is still behind and not ready for showing off OpenCL demos, Nouveau NV50 doing OpenCL is quite an achievement. Intel's Open-Source Technology Center team working on graphics also hasn't been up to anything with OpenCL since they don't use the Gallium3D driver architecture and another Intel group offers a CPU-based closed-source OpenCL SDK.

PathScale is also another company that's been playing around with open-source OpenCL GPU-based acceleration using their fork of the Nouveau driver.

Among the work that's still left for Francisco or others to do with the Nouveau OpenCL support beyond supporting the latest-generation Fermi or upcoming Kepler graphics processors is still the need for an LLVM back-end for TGSI (the LLVM back-end in Nouveau is still a ways off so TGSI is being relied upon as the IR), DRM authentication support without an X.Org Server, and inter-GPU synchronization and resource sharing support. This will take a considerable amount of kernel work to do, as talked about during the hour-long presentation.

Unfortunately this current Nouveau OpenCL work done by Francisco Jerez isn't in the upstream Nouveau code-base but rather a separate branched Git repository. This is still out-of-tree work and it's not clear when it will be merged, but is already out of the question for the soon-to-be-out Mesa 8.0. The next hope would be seeing Mesa 8.1 be more OpenCL compute friend when that arrives in the middle of 2012.

The Nouveau camp also still has other significant problems to worry about besides just implementing OpenCL support across the spectrum of NVIDIA hardware, but regardless seeing the OpenCL demos first-hand this weekend was quite impressive.

For those wanting to learn more about the ongoing OpenCL Nouveau work, embedded below is a video I recorded from the Brussels presentation.


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. Intel Xeon E5-1680 v3 & E5-2687W v3 Compared To The Core i7 5960X On Linux
  2. Intel 120GB 530 Series SSD Linux Performance
  3. Btrfs/EXT4/XFS/F2FS RAID 0/1/5/6/10 Linux Benchmarks On Four SSDs
  4. AMD's Windows Catalyst Driver Remains Largely Faster Than Linux Drivers
Latest Linux Articles
  1. NVIDIA vs. Nouveau Drivers With Linux 3.18 + Mesa 10.4-devel
  2. Is The Open-Source NVIDIA Driver Fast Enough For Steam On Linux Gaming?
  3. Linux 3.18 File-System Performance Minimally Changed But Possible Regressions
  4. AMD Radeon Gallium3D Is Catching Up & Sometimes Beating Catalyst On Linux
Latest Linux News
  1. Gngr: A New Web Browser Focused On Privacy
  2. Linux 3.18 Kernel: Not Much Change With Intel Haswell Performance
  3. More File-System Tests Of The Linux 3.18 Kernel
  4. Using NVIDIA's NVENC On Linux With FFmpeg
  5. There's Talk Again About An "Open To The Core" Ubuntu Laptop
  6. PowerVR SGX Driver Code Gets Leaked
  7. V2 Of KDBUS Published For Linux Kernel Review
  8. VirtualBox 4.3.20 Arrives, Still No Sign Of VirtualBox 4.4
  9. Scientific Linux 6.6 vs. Scientific Linux 7.0 Benchmarks
  10. Qualcomm Looks To Get Into The ARM Server Business
Latest Forum Discussions
  1. Debian Developer Resigns From The Systemd Maintainership Team
  2. Roadmap to Catalyst 14.10 ?
  3. Updated and Optimized Ubuntu Free Graphics Drivers
  4. Cant get working Kaveri APU - A10-7850k
  5. Script for Fan Speed Control
  6. Debian Init System Coupling Vote Results
  7. The Slides Announcing The New "AMDGPU" Kernel Driver
  8. Ubuntu Developers Still Thinking What To Do About Adobe Flash Support