On Sunday 02 March 2008 02:41:07 am Maciej Sieczka wrote: > Dylan Beaudette pisze: > > Some starters: > > Also look at Glynn's comments not so long time ago: > > http://www.nabble.com/forum/ViewPost.jtp?post=15573024&framed=y > > Maciek
Thanks for the reminder Maciek. However, (although I am not a GPU programmer) it looks like the concept of stream programming might fit into the GRASS approach of using simple formulations over optimized ones-- and here is why: many raster operations use constructs like the following: for x in rows: for y in cols: get_cell_value(x,y,) do_something(x,y, value) end end Based on my reading of the GPGPU documents it appears that it is possible to give the (libSh/Brook) library the do_something(x, y, value) function (called a kernel in stream processing) and the GPU will limplicitly perform the loop in parallel. If the functionality used in the inner-most loop can be reduced to simple operations, it shouldn't be too hard to "drop-in" GPGPU extensions. That said, I am not at all experienced with programming the GPU-- however, after several years of using R the notion of being able to use vectorized functions sounds nice-- especially if the GPU can do those operations 10x faster than the CPU. I think that we would need a simple proof of concept raster module to see how hard it would be. I have heard that Manifold GIS has something like this for raster operations. Dylan -- Dylan Beaudette Soil Resource Laboratory http://casoilresource.lawr.ucdavis.edu/ University of California at Davis 530.754.7341 _______________________________________________ grass-dev mailing list grass-dev@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/grass-dev