CLOP - a language for OpenCL OPtimizations
D Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

CLOP - a DSL for OpenCL OPtimizations

CLOP is a DSL to write OpenCL kernels in a higher level of abstraction and apply optimizations to them. For more information see CLOP by dmakarov.

To compile an example

  • install DMD or LDC, and DUB.
  • invoke dub for a specific sample application, e.g.
$ dub run --build=release --compiler=dmd :nw -- 32 10

The command will build the CLOP runtime library, and the NW application. If the build is successful, the command runs the NW application with the arguments 32 10, which means that the length of sequences to align is 32 characters and the penalty value is 10.

All example applications can be built with verbose build type, e.g.

$ dub run --build=verbose :nw -- 32 10

With verbose build an application dumps the generated host- and device-side code.

The example applications are

  • algebra – simple linear algebra operations on vectors and matrices;
  • bp – back propagation step of a neural network;
  • lu – LU decomposition implementation;
  • nw – Needleman-Wunsch algorithm implementation;
  • pf – Path finder algorithm implementation;
  • stencil – simple stencil computations.