OpenCL binding for Erlang
C Erlang
Pull request Compare This branch is even with tonyrog:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Welcome to the Erlang OpenCL binding

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

To build: just run rebar compile

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

Make sure erlang finds the cl/ebin directory.
For example if this file is /home/username/src/cl/README
set ERL_LIBS=/home/username/src/

Windows Users: 
The scripts 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)