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 Articles & Reviews
  1. Khronos Group Announces Vulkan, OpenCL 2.1, SPIR-V
  2. Samsung 850 EVO SSD Linux Benchmarks
  3. Kubuntu 15.04 Is Turning Out Quite Nice, Good Way To Try Out The Latest KDE
  4. 5-Way Linux Distribution Comparison On The Core i3 NUC
  5. OCZ ARC 100 Linux SSD Benchmarks
  6. Lenovo ThinkPad X1 Carbon Works Great As A Linux Ultrabook
Latest Linux News
  1. Valve Launches $49 Steam Link, SteamOS-Powered Streaming Device
  2. Valve Announces Source 2, It's Going To Be Free To Content Developers
  3. Gitorious Gets Acquired By GitLab
  4. Unity 5.0 Brings PhysX 3.3, WebGL Preview, Animation System Work
  5. Linux 4.0-rc2 Kernel Released After Delay Due To Intel DRM Driver
  6. Linux 3.19 Officially Lands For Ubuntu 15.04
  7. Clutter Now Supports Quad-Buffer Stereo Displays, Mir Backend
  8. Pricing Details On The Alleged MJ Ubuntu Tablet Design
  9. Understanding The Linux Kernel's BPF In-Kernel Virtual Machine
  10. Another Software Patent That Should Be Tossed Out
Most Viewed News This Week
  1. More Proof That Allwinner Is Violating The GPL
  2. The Tremendous Features Of Fedora 22
  3. Krita 2.9 Released, Their Biggest Release Ever
  4. A Single UEFI Executable With The Linux Kernel, Initrd & Command Line
  5. Xfce 4.12 Released After Nearly Three Years Of Work
  6. LLVM 3.6 & Clang 3.6 Deliver More Features, Complete C++14 Support
  7. Firefox 36 Brings Full HTTP/2 Support
  8. ALSA 1.0.29 Released
%%CLICK_URL_UNESC%%