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

OpenCL, GLSL Back-End For LLVM May Soon Open Up

Compiler

Published on 27 August 2011 08:31 AM EDT
Written by Michael Larabel in Compiler
8 Comments

A university student that successfully wrote OpenCL and GLSL back-ends to the Low Level Virtual Machine (LLVM) is arranging to have the code open-sourced if there is interest, which already LLVM developers are requesting.

Simon Moll, a German developer wrote the OpenCL LLVM back-end for his thesis at Saarland University. He also wrote an LLVM back-end for the GL Shading Language.

He mentions these details in this LLVM mailing list message. His thesis with all of the LLVM engineering details can be found on the university website (PDF). "We implemented backends for both OpenCL and GLSL programs, that can de-compile LLVM-Bitcode with some constraints (mostly due to unsupported data-types). The final evaluation shows that the performance of decompiled OpenCL matches that of reference OpenCL programs in most cases."

This is actually quite interesting work since the OpenCL program is generated from the LLVM bit-code, which is derived from whatever high-level language was passed to the Low-Level Virtual Machine. From the thesis, "The back-end should be restricted as little as possible to specific high-level languages. This was realized by separating the recovery of high-level control-flow from the generation of target language code. However, the target languages need to be imperative."

The Open Compute Language back-end targets OpenCL 1.0, but likely could be updated to support the newer OpenCL 1.1 revision.

Within the OpenCL/graphics world, LLVM is already used by AMD for their proprietary OpenCL/Stream implementation, is used by parts of Gallium3D, and is being used for the OpenCL state tracker.

Check out the thesis while this code to these LLVM back-ends will hopefully be open-sourced soon.

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. Scythe Mugen MAX
  2. Intel Core i7 5960X Haswell-E On Linux
  3. Intel 80GB 530 Series M.2 SSD On Linux
  4. With A New Motherboard, The Core i7 5960X Haswell-E Lights Up
Latest Linux Articles
  1. Intel P-State vs. CPUFreq Benchmarks On The i7-5960X
  2. RadeonSI GLAMOR Benchmarks With X.Org Server 1.16
  3. RadeonSI Gallium3D vs. Catalyst At 4K UHD On Linux
  4. MSAA RadeonSI Gallium3D Performance Preview
Latest Linux News
  1. Geometry Shaders, OpenGL 3.2 Land In Mesa For Intel Sandy Bridge
  2. Wayland & Weston 1.6 Released
  3. Tizen Smartphones Reported To Launch In November
  4. NVIDIA Releases The 343.22 Linux Driver With GTX 980 Support
  5. NVIDIA Launches The GTX 980: The High-End Maxwell Beauty
  6. X.Org Server Shatter Project Fails
  7. X.Org Women Outreach Program Only Turns Up Two Applicants So Far
  8. Fedora 21 Alpha Finally Coming Next Week
  9. Ubuntu Touch/Phone Reaches Its First RTM Image
  10. The KMS Mode-Setting Driver Was Imported For X.Org Server 1.17
Latest Forum Discussions
  1. Can Linux kill a motherboard?
  2. Stop grabbing my keyboard :(
  3. New Group Calls For Boycotting Systemd
  4. Updated and Optimized Ubuntu Free Graphics Drivers
  5. Best Radeon for a Power Mac G5?
  6. New stress testing utility for GPU's
  7. Hd 6850
  8. support for first generation UVD blocks (RV6xx, RS780, RS880 and RV790)