[GRASS-dev] Makefile arguments for OpenCL (r.sun)

Hamish hamish_b at yahoo.com
Mon Jun 24 13:47:59 PDT 2013


Yann wrote:

> I am (finally) working a bit on r.sun OpenCL version.
> 
> On the computer I use, I could get through compiling it with:
> 
> -----
> MODULE_TOPDIR = ../..
> 
> PGM = r.sun
> 
> LIBES = $(GPROJLIB) $(RASTERLIB) $(GISLIB) $(MATHLIB) $(PROJLIB)
> -lOpenCL -Wall -W -g -p -O2
> DEPENDENCIES = $(GPROJDEP) $(RASTERDEP) $(GISDEP)
> EXTRA_INC = $(PROJINC) -Wall -O2 -W -g -p -I/opt/cuda/include
> 
> include $(MODULE_TOPDIR)/include/Make/Module.make
> 
> default: cmd
> -----
> 
> Seth Makefile had already "-lOpenCL -Wall -W -g -p -O2" in LIBES
> 
> Had to add "-I/opt/cuda/include" for some reason the GRASS configure
> was positive in finding it, surely missing something here...



trunk$ ./configure --help
...
  --with-opencl           support OpenCL functionality (default: no)
...
  --with-opencl-includes=DIRS
                          OpenCL include files are in DIRS
  --with-opencl-libs=DIRS OpenCL library files are in DIRS

what did your ./configure look like? what linux distro + version?
what kind of video card? (I take it nVidia of some version based on
the /opt/cuda)  How much RAM does your video card have? Does it
support double precision FP for the GPU?

note CUDA SDK != OpenCL SDK, but nVidia's proprietary driver on
Linux ships with OpenCL support files by default AFAIK.

On Linux, it is looking for the include file CL/cl.h. For me on an
ubuntu system with the nVidia proprietary driver, that is at
  /usr/include/nvidia-current/CL/cl.h

Additionally, on Linux ./configure is looking for libOpenCL, for me
that is at /usr/lib/nvidia-current/libOpenCL.so with symlinks
back into /usr/lib/libOpenCL.so. (I may have made that symlink by
hand, can't remember)

note the r.sun OpenCL code has not been merged from Seth's repo yet,
only the build support is in place so far. But it should make it
easier to experiement with.


regards,
Hamish



More information about the grass-dev mailing list