Getting Started Guide

This guide was created for versions: v1.0.0 - Latest

ComputeCpp™ Community Edition (CE): Release

ComputeCpp Community Edition (CE) is a heterogeneous parallel programming platform that provides a conformant implementantion of the SYCL™ 1.2.1 Khronos specification.

The supported OpenCL 1.2 platforms for ComputeCpp are AMD® and Intel®. Any platform with OpenCL SPIR 1.2, SPIR-V, or PTX support should work. For example any ARM™ device that features an OpenCL platform with the ability to consume SPIR-V.
This ComputeCpp Package version 1.0 supports SYCL C++ libraries for better integration with C++ frameworks and applications like SYCL Parallel STL, math libraries like the Eigen Tensor Library and machine vision libraries.

Getting started with SYCL™ using ComputeCpp™

If you want to know more about what ComputeCpp, SYCL and OpenCL are, take a
look at the ComputeCpp Overview section.

This guide will show you how to set up your environment for ComputeCpp then compile
and execute a simple code sample, this should take around 15 minutes. After that
you can examine the code and discover how ComputeCpp follows the OpenCL execution model.

Step 1: Download ComputeCpp Community Edition

Step 2: Install any pre-requisite tools you do not already have

The pre-requisites for this guide are as follows, if you do not already have these
environments installed you’ll need to get them now. We don’t provide a guide to
setting up an OpenCL environment here, but there are plenty on the internet.

CMake (version 3.2.2 and above)

OpenCL 1.2-capable hardware and drivers with SPIR 1.2 support

OpenCL ICD Loader

OpenCL headers

gcc (version 4.8 and above)

Step 2: Check your hardware support

ComputeCpp includes a tool called computecpp_info. This allows you to check whether
the hardware on your target machine is supported by ComputeCpp. It will also tell
us if the pre-requisites have been met.

In a Terminal command line change to the "bin" folder in the location you extracted
ComputeCpp to and type the command: