Home

Awesome

Coriander

Build applications written in NVIDIA® CUDA™ code for OpenCL™ 1.2 devices.

Concept

How to use

$ cocl_py cuda_sample.cu
   ...
   ... (bunch of compily stuff) ...
   ...

    ./cuda_sample.cu compiled into ./cuda_sample

Run:

$ ./cuda_sample
Using Intel , OpenCL platform: Intel Gen OCL Driver
Using OpenCL device: Intel(R) HD Graphics 5500 BroadWell U-Processor GT2
hostFloats[2] 123
hostFloats[2] 222
hostFloats[2] 444
<img src="doc/img/mac_run_cuda_sample.png?raw=true" />

Options

What Coriander provides

How Coriander works

Kernel compilation proceeds in two steps:

<img src="doc/img/kernelcompilation.png?raw=true" />

Slides on the IWOCL website, here

Installation

Coriander development is carried out using the following platforms:

Other systems should work too, ideally. You will need at a minimum at least one OpenCL-enabled GPU, and appropriate OpenCL drivers installed, for the GPU. Both linux and Mac systems stand a reasonable chance of working ok.

For installation, please see installation

Plugins

You can install the following plugins:

How to create a plugin

Add to your own cmake project

Testing

See testing

Assumptions/relaxations made by Coriander

See assumptions

Roadmap

<img src="doc/img/roadmap.png?raw=true" />

Libraries

Coriander uses the following libraries:

Related projects

How to Cite

Please cite: CUDA-on-CL: a compiler and runtime for running NVIDIA® CUDA™ C++11 applications on OpenCL™ 1.2 Devices

License

Apache 2.0

News