[GRASS-dev] [SoC] Parallelization of Raster and Vector libraries

Glynn Clements glynn at gclements.plus.com
Tue Mar 30 10:29:51 EDT 2010


Jordan Neumeyer wrote:

> Just kind of my thought process about how I would try to go about
> parallelizing a module.

The main issue with parallelising raster input is that the library
keeps a copy of the current row's data, so that consecutive reads of
the same row (as happen when upsampling) don't re-read the data.

For concurrent access to a single map, you would need to either keep
one row per thread, or abandon caching. Also, you would need to use
pread() rather than fseek()+read().

It's more straightfoward to read multiple maps concurrently. In 7.0,
this case should be thread-safe.

Alternatively, you could have one thread for reading, one for writing,
and multiple worker threads for the actual processing. However, unless
the processing is complex, I/O will be the bottleneck.

-- 
Glynn Clements <glynn at gclements.plus.com>


More information about the grass-dev mailing list