OpenCL binding for Erlang
C Erlang Makefile
Switch branches/tags


Welcome to the Erlang OpenCL binding

To get started you need erlang, preferably R16B.
You also need 'rebar3' and a 'C' compiler, i.e.
GCC (or CL.EXE) and a machine with OpenCL installed.

To build and test: rebar3 do compile, edoc, ct

To build examples: Goto the examples directory and run make.

Windows Users:
The build look for the OpenCL files in /opt/local/ by default.
You can also set the environment variable OPENCL_DIR to point
to another location.

This is an example of howto set up the building env:
I'm assuming you got an mingw environment.

Download a development kit from Nvidia, ATI or Intel:
cp -R /c/Intel SDK/lib /opt/local/
cp -R /c/Intel SDK/include /opt/local/

Example building 64b from CMD:
Setup windows build environment

c:\src\cl> "c:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd"

Setup the paths

c:\src\cl> set PATH="c:\Program Files\erl5.10.1\bin";%PATH%
c:\src\cl> set PATH="c:\tools\git\cmd";%PATH%
c:\src\cl> set OPENCL_DIR="c:\Intel~1\"

And build

c:\src\cl> ..\rebar\rebar.cmd compile
If you want to build with mingw gcc use:
CC=gcc rebar compile

NOTE: That mingw64-gcc can not be linked with MSVC libs, see
Follow the steps there to make a libOpenCL.dll.a and it should work.

NOTE: OpenCL with ATI drivers for CPU usage don't work when erlang
is started within a mingw shell but does if you start it from
a Windows CMD.exe shell.  (This may depend on the AMD driver version)