Skip to content

Collection of samples, documentation and utilities for using ComputeCpp, Codeplay's beta SYCL implementation

License

Notifications You must be signed in to change notification settings

Alexander-Johnston/computecpp-sdk

 
 

Repository files navigation

ComputeCpp SDK Readme

ComputeCpp™

Introduction

Build Status

This is the README for the ComputeCpp SDK, a collection of sample code, utilities and documentation for Codeplay’s ComputeCpp, an implementation of the SYCL programming standard. You can find more information at:

Contents

  • LICENSE.txt

    • The license this package is available under: Apache 2.0

  • README.adoc

    • This readme file

  • cmake/

    • Contains useful files for integrating ComputeCpp with existing projects. See later in this document for a description of the CMake modules provided.

  • samples/

    • A collection of sample SYCL code, tested on ComputeCpp, provided as a learning resource and starting point for new SYCL software. CMake files are also provided for most samples.

  • tools/

    • Useful tools for working with SYCL code and ComputeCpp. Includes a simple driver script for compiling SYCL code with ComputeCpp, an example Makefile and other utilities.

  • util/

    • Example utility code that we expect will be useful for other projects as either a starting point or helper to achieve common tasks.

Setup

CMake files are provided as a build system for this software. CMake version 3.2.2 is required at minimum, though later versions of CMake should continue to be compatible.

The CMakeLists.txt file is located in the samples/ directory.

At minimum, one CMake variable is required to get the sample code building - COMPUTECPP_PACKAGE_ROOT_DIR. This variable should be the root directory of the ComputeCpp install (i.e. the directory with the the folders bin, include, lib and so on).

You can additionally specify CMAKE_BUILD_TYPE and CMAKE_INSTALL_PREFIX to choose a Debug or Release build and the location you’d like to be used when the "install" target is built.

On the Codeplay website there is a getting started guide that serves as an introduction to SYCL and ComputeCpp. Additionally, there is an Integration guide should you wish to add ComputeCpp to existing projects.

Requirements

  • The samples should work with any SYCL 1.2 implementation, though have only been tested with the ComputeCpp CE Public Beta

  • OpenCL 1.2-capable hardware and drivers with SPIR 1.2 support

  • C++11-compliant compiler and libstdc++ on GNU/Linux (GCC 4.9+, Clang 3.6+)

  • CMake 3.2.2 and newer

Troubleshooting

The sample code should compile without error on our supported platforms. If you run into trouble, or think you have found a bug, we have a JIRA Service Desk available through the ComputeCpp website.

Frequently Asked Questions

We have a FAQ document available online.

Maintainers

This SDK is maintained by Codeplay Software Ltd. If you have any problems, please contact [email protected].

Acknowledgements

This repository contains code written by Sean Barrett (stb_image code in the Gaussian blur sample) and Charles Salvia (the stack allocator used in the smart pointer sample). Please see the files for their respective licences.

Contributions

This SDK is licensed under the Apache 2.0 license. Patches are very welcome! If you have an idea for a new sample, different build system integration or even a fix for something that is broken, please get in contact.

About

Collection of samples, documentation and utilities for using ComputeCpp, Codeplay's beta SYCL implementation

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 74.3%
  • CMake 21.5%
  • Shell 1.6%
  • Cuda 1.4%
  • Makefile 1.2%