Fwd: [GRASS-dev] grass 7 and pixel random access

Yann Chemin yann.chemin at gmail.com
Mon Apr 28 09:51:12 EDT 2008


2008/4/28 Yann Chemin <yann.chemin at gmail.com>:
> We have experimented a bit with parallel processing, and for a given
>  processor power, there is a minimum amount of operations on a pixel
>  that needs to be done before there is any time benefit of using
>  parallelization. I would also believe that multi-core parallelization
>  (OpenMP: easy to code in most of the case) would benefit earlier that
>  multi-cpus (MPICH: requires some stronger preparation about coding),
>  for the physical reason of transport distance of bits.
>
>  I honestly would not know at which "level" we should integrate
>  parallelization capacities, it would be great indeed to have the
>  library understand a direct row loop and choose to split the loop by
>  the number of core/cpus available, if we speak about direct raster
>  processing. This would mean, potentially every direct raster
>  processing module could benefit, if they actually need it (which is
>  the main question, actually).
>
>  Now many processing in raster (and vector) may now be parallelized
>  straight-forwardly. And this is the main thing, we often face complex
>  algorithms, those ones are connecting pixels together from places to
>  places in the map (i.e. interpolation), those required taylor-made
>  parallelization. Here we should need tools to ease the task of
>  parallelization of those complex systems.
>
>  Finally, the codes I am working on are mostly pixel-based, either
>  temporal signal processing, energy-balance, adata assimilation of 1-D
>  vertical models, some take minutes, some hours/days, and some may go
>  up to a month (i dont run those last ones, I am waiting for CPU
>  improvement). So I would benefit directly by anything even just
>  running half of the raster on each core of my dual-core laptop/desktop.
>
>  Well, I am sure there are more experienced people on this list about
>  parallelization, so I am waiting for comments.
>
>  Yann
>
>  2008/4/28 Hamish <hamish_b at yahoo.com>:
>
>
> > > Yann Chemin wrote:
>  >  > >  I would like to know the planned changes for the raster library,
>  >  > >  especially the random access of pixels in the raster.
>  >  Markus:
>  >
>  > > Not sure if all of those are actually planned, but here is a list:
>  >  > http://grass.osgeo.org/wiki/GRASS_7_ideas_collection#Raster
>  >  >
>  >  > >  I wanted to work on it some months back, but my daily job got more
>  >  > >  intense.
>  >  > >  In the coming future, we will need to access easily any row for
>  >  > >  parallel processing.
>  >
>  >
>  >  One thing I wonder about for parallel processing of (serial) raster
>  >  modules- do we really need random read access to send each individual row
>  >  into a separate thread? The overhead with that seems counter-productive.
>  >  Couldn't we read some GRASS_NPROC envrio variable and then split the
>  >  overall number of rows by that number and create a small number of
>  >  threads, ie matching the system.
>  >
>  >
>  >  like: ceil(rows/nproc)
>  >  nproc=4
>  >  rows=1035
>  >  chunk size=259
>  >
>  >
>  >  the last thread reads/processes/writes fewer rows than the others as it
>  >  finds the EOF.
>  >
>  >
>  >
>  >  another thing I still wonder about (see thread from a month or so back)
>  >  is  where to start? Modify the libs to support the concept, then tackle
>  >  each module on their own? ie concentrate on the non-I/O limited and
>  >  can't-do- much-about-it but throw more processor at the problem modules,
>  >  and leave non-number crunching modules alone? -- concentrate on areas
>  >  where we'll get the most bang for the buck / pick off low hanging fruit /
>  >  etc?
>  >
>  >
>  >  Hamish
>  >  (showing off his multi-proc naivet'e)
>  >
>  >
>  >
>  >
>  >       ____________________________________________________________________________________
>  >  Be a better friend, newshound, and
>  >  know-it-all with Yahoo! Mobile.  Try it now.  http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
>  >
>  >
>  >
>  >  _______________________________________________
>  >  grass-dev mailing list
>  >  grass-dev at lists.osgeo.org
>  >  http://lists.osgeo.org/mailman/listinfo/grass-dev
>  >
>
>
>
>
>
> --
>  Yann Chemin
>  International Rice Research Institute
>  Office: http://www.irri.org/gis
>  Perso: http://www.freewebs.com/ychemin
>



-- 
Yann Chemin
International Rice Research Institute
Office: http://www.irri.org/gis
Perso: http://www.freewebs.com/ychemin


More information about the grass-dev mailing list