OpenCL can use CPUs and GPUs for parallel processing.
For all those operations that can be done more efficiently
on a GPU, there a potentially enormous performance gains.
Since OpenCL is like a reduced C dialect and completely
abstracted from the hardware, all an OpenCL programmer
needs to do is implement the algorithm and then it's up
to the graphics chips manufacturers to release drivers
for their hardware. NVIDIA and ATI have already done that.
I for one would love to see v.vol.rst run in parallel
on a bunch of cheap GPUs, outperforming a mainframe...
Ben
Hamish wrote:
Jeshua wrote:
I was curious if anyone has looked at implementing OpenCL
for some of the processor intensive highly parallel
modules.<http://www.khronos.org/opencl/>
It seems to me that some of the more processor intensive
modules could gain a significant performance utilizing
OpenCL with fairly modest development effort.I am not familiar with the code for v.surf.rst, however I
might be interested in making an attempt if it can be
parallelized. Or can anyone suggest what processor intensive
modules might be good candidates for parallelization?see http://grass.osgeo.org/wiki/OpenMP
what advantages would OpenCL have over OpenMP and pthreads?
OpenMP and pthreads are somewhat different beasts suiting two somewhat
different niches. Where would OpenCL overlap? Would it be a better
or worse fit than the others for different scenarios?Probably supporting three different MP schemes is too crowded.
Hamish
_______________________________________________
grass-dev mailing list
grass-dev@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-dev
--
Benjamin Ducke
Senior Applications Support and Development Officer
Oxford Archaeological Unit Limited
Janus House
Osney Mead
OX2 0ES
Oxford, U.K.
Tel: +44 (0)1865 263 800 (switchboard)
Tel: +44 (0)1865 980 758 (direct)
Fax :+44 (0)1865 793 496
benjamin.ducke@oxfordarch.co.uk
------
Files attached to this email may be in ISO 26300 format (OASIS Open Document Format). If you have difficulty opening them, please visit http://iso26300.info for more information.