Phoronix OpenCL Benchmark 3.0 beta

So you want OpenCL-benchmarks? Phoronix is a benchmark for OSX and Linux, created by Michael Larabel, Matthew Tippett ( On Ubuntu Phoronix version 2.8 is in the Ubuntu “app store” (Synaptic), but 3.0 has those nice OpenCL-tests. The tests are based on David Bucciarelli‘s OpenCL demos. Starting to use Phonornix 3.0 (beta 1) is done in 4 easy steps:

  1. Download the latest beta-version from
  2. Extract. Can be anywehre. I chose /opt/phoronix-test-suite
  3. Install. Just type ./phoronix-test-suite in a terminal
  4. Use.

WARNING: It is beta-software and the following might not work on your machine! If you have problems with this tutorial and want or found a fix, post a reply.

Let’s start with listing all tests:

> ./phoronix-test-suite list-available-suites

Generating this takes a while, so here are the results for the impatient:

Phoronix Test Suite v3.0.0b1
Available Suites

pts/audio-encoding               - Audio Encoding                   System
pts/chess                        - Chess Test Suite                 Processor
pts/compilation                  - Timed Code Compilation           Processor
pts/compiler                     - Compiler                         Processor
pts/compression                  - Timed File Compression           Processor
pts/computational                - Computational Test Suite         System
pts/computational-biology        - Computational Biology Test Suite Processor
pts/cpu                          - CPU / Processor Suite            Processor
pts/cryptography                 - Cryptography                     Processor
pts/daily-kernel-tracker         - Daily Kernel Tracker             System
pts/daily-system-tracker         - Daily System Tracker             System
pts/database                     - Database Test Suite              System
pts/desktop-graphics             - Desktop Graphics                 System
pts/disk                         - Disk Test Suite                  Disk
pts/encoding                     - Encoding                         System
pts/favorites                    - Favorites                        System
pts/gaming                       - Gaming                           System
pts/gaming-closed                - Closed-Source Gaming             System
pts/gaming-free                  - Free Software Gaming             System
pts/gui-toolkits                 - GUI Toolkits                     Graphics
pts/ioquake3-games               - Games Using The ioquake3 Engine  System
pts/iqc                          - Image Quality Comparison Suite   Graphics
pts/java                         - Java                             System
pts/java-opengl                  - Java OpenGL                      System
pts/kernel                       - Kernel                           System
pts/linux-system                 - Linux System                     System
pts/memory                       - Memory Test Suite                Memory
pts/mesa                         - Mesa Test Suite                  Graphics
pts/motherboard                  - Motherboard                      System
pts/multicore                    - Multi-Core                       Processor
pts/netbook                      - Netbook Test Suite               System
pts/network                      - Networking Test Suite            Network
pts/nevada                       - OpenSolaris Nevada Test Suite    System
pts/opencl                       - OpenCL                           System
pts/opengl-demos                 - OpenGL Demos Test Suite          System
pts/opengl-workstation           - OpenGL Workstation Test Suite    System
pts/pts-desktop-live             - PTS Desktop Live                 System
pts/ray-tracing                  - Ray-Tracing Test Suite           System
pts/server                       - Server Motherboard               System
pts/unigine                      - Unigine Test Suite               Graphics
pts/universe                     - Universe Test Suite              System
pts/universe-cli                 - Universe CLI Test Suite          System
pts/universe-x                   - Universe X Test Suite            System
pts/video-encoding               - Video Encoding                   System
pts/workstation                  - Workstation                      System
pts/workstation-graphics         - Workstation Graphics             Graphics
pts/xrender                      - X Render Extension Testing       Graphics


You saw the bold-printed “OpenCL”. We can start the test with:

> ./phoronix-test-suite benchmark pts/opencl

In my case I got a message

The following dependencies are needed and will be installed:

- libsdl1.2-dev
- libsdl-gfx1.2-dev
- libsdl-net1.2-dev
- libsdl-image1.2-dev
- libsdl-ttf2.0-dev
- lib3ds-dev

It was automatically installed, so very user-friendly. So it *seems* to work well, but then the error-messages pop up.

Fixing the tests

The tests are made for 64-bit Linux with an AMD/ATI GPU. You might not have it.

Go to ~/.phoronix-test-suite/installed-tests/pts/juliagpu-1.1.0 and open the zip-file. In the zip-file you need to edit “Makefile”, which looks like this:


CCFLAGS=-O3 -msse2 -mfpmath=sse -ftree-vectorize -funroll-loops -Wall 
-I$(ATISTREAMSDKROOT)/include -L$(ATISTREAMSDKROOT)/lib/x86_64 -lglut -lglut -lOpenCL

# Jens's patch for MacOS, comment the 2 lines above and un-comment the lines below
#CCFLAGS=-O3 -ftree-vectorize -msse -msse2 -msse3 -mssse3 -fvariable-expansion-in-unroller 
#    -cl-fast-relaxed-math -cl-mad-enable -Wall -framework OpenCL -framework OpenGl -framework Glut

So there is a patch to get it working on Apple (you lucky folks!). For BSD/Linux we need to patch this, to get it also working with NVIDIA-32, NVIDIA-64 and AMD-32 from the right directory. Just edit the Makefile from the zip as below (uncomment the right driver and fix the location).



# AMD 32

# AMD 64

CCFLAGS=-O3 -msse2 -mfpmath=sse -ftree-vectorize -funroll-loops -Wall 
-I$(OPENCLINC) -L$(OPENCLLIB) -lglut -lglut -lOpenCL

# Jens's patch for MacOS, comment the 2 lines above and un-comment the lines below
#CCFLAGS=-O3 -ftree-vectorize -msse -msse2 -msse3 -mssse3 -fvariable-expansion-in-unroller 
#    -cl-fast-relaxed-math -cl-mad-enable -Wall -framework OpenCL -framework OpenGl -framework Glut

Save the file and say yes to update the zip-file. We can test the fix with:
> ./phoronix-test-suite benchmark pts/juliagpu-1.1.0

If it works, you can make the same changes for pts/mandelbulbgpu-1.1.0, pts/smallpt-gpu-1.1.0 and pts/mandelgpu-1.1.0

Bad luck? Try your luck with the originals of these tests.

Related Posts


Benchmarks Q1 2011

...  Benchmark Month. The idea is that you do at least one of the following ...  benchmark, please put a comment under this ...