Portable Computing Language

Software Screenshot:
Portable Computing Language
Software Details:
Version: 0.10
Upload Date: 17 Feb 15
Developer: pocl developers
Distribution Type: Freeware
Downloads: 4

Rating: 2.0/5 (Total Votes: 1)

Portable Computing Language (also known as pocl) is an open source and free command-line software implemented in C/C++ and designed from the ground up to act as an efficient implementation of the OpenCL standard.

Being comprised of a set of LLVM (Low Level Virtual Machine) passes, the pocl project aims to improve the portability of OpenCL applications with various compiler optimizations. It supports ICD (Installable Client Driver) and comes with a portable kernel compiler.

The portable kernel compiler includes an experimental, yet attractive functionality: horizontal auto-vectorization of workgroups. Additionally, the software offers efficient, built-in math libraries, and core APIs (Application Programming Interfaces) written in C and designed for barebone PCs.

Numerous OpenCL applications support pocl

Currently, Portable Computing Language is compatible with a wide variety of OpenCL applications, including ViennaCL 1.5.1 examples, most of the Parboil benchmarks, Rodinia 2.0.1, piglit, Luxmark 2.0, as well as the OpenCL Programming Guide book samples and AMD APP SDK v2.8 OpenCL samples.

Supported hardware platforms

As its name suggests, Portable Computing Language is a portable application, which means that it has been successfully tested on a wide range of hardware platforms, with both hosts and devices, including x86_64 (64-bit), PowerPC64, PowerPC32, ARM v7, and multiple VLIW-style TTA CPUs that have been designed using TCE in heterogeneous host-device setups.

Getting started with Portable Computing Language

Installing Portable Computing Language on your GNU/Linux operating system is quite easy, considering the fact that you already have the hwloc, ocl-icd, opencl, clang and llvm packages installed on your distribution.

Download the latest version of the program from Softoware or via its official website (see link at the end of the article), save the archive somewhere on your PC, extract its contents using an archive manager utility and open a terminal emulator application.

In the Terminal app, go to the location of the extracted archive files (e.g. cd /home/softoware/pocl-0.10), run the ‘./configure && make’ command to configure and compile the program, followed by the ‘sudo make install’ command to install it system wide.

What is new in this release:

  • Highlights:
  • Support for LLVM/Clang 3.5
  • Support for building using CMake (experimental with known issues).
  • Bugfixes:
  • TCE: kernel building was broken when running pocl from install location
  • thread-safety (as required since OpenCL 1.1) improved
  • Kernel compiler:
  • Final code generation now done via LLVM API calls instead of calling the llc binary.
  • Sensible linking of functions from the monolithic kernel built-in
  • library. Major compilation speedup for smaller kernels.
  • OpenCL C Builtin Function Implementations:
  • Improved support for halfN functions.
  • ilogb and ldexp available with vecmathlib
  • OpenCL Runtime/Platform API support:
  • Implement clCreateKernelsInProgram()
  • OpenCL-C shuffle() and shuffle2() implementation added
  • Device probing modified to allow for device driver to detect device during runtime. POCL_DEVICES still supported.
  • Checks in clSetKernelArgs() for argument validity
  • Checks in clEnqueueNDRange() for arguments to be all set
  • Implement clGetKernelArgInfo()
  • clEnqueueCopyImage()
  • Misc:
  • ViennaCL testsuite updated to 1.5.1

What is new in version 0.9:

  • improved host/target CPU detection and targeted code generation
  • kernel compiler implemented by default by LLVM API calls instead of scripts
  • improvements to the handling of CL Images
  • several kernel compiler improvements

Similar Software

Scala
Scala

17 Feb 15

STklos
STklos

15 Apr 15

Cython
Cython

27 Sep 15

execline
execline

18 Jul 15

Comments to Portable Computing Language

Comments not found
Add Comment
Turn on images!