[GRASS-dev] [SoC] GSoC 2021 - Parallelization of raster modules for GRASS GIS

Aaron Saw Min Sern aaronsms at u.nus.edu
Mon Jul 5 02:23:40 PDT 2021


Hi everyone,

Week 4 has concluded, and this is my report for this week.


1) What did I get done this week?

r.mfilter (PR: https://github.com/OSGeo/grass/pull/1708<https://github.com/OSGeo/grass/pull/1634/files>)

  *   Add test cases for different input options (Sequential/Parallel filters, repeated, null_mode)
  *   Add parallel implementations for all options excluding Sequential filters (inherently not possible to do parallelization

2) What do I plan on doing next week?
Upon discussion with the mentors, we decided to change the current implementation for r.neighbor that currently uses Segment libraries that uses a temporary file buffer for the different threads to work on before producing the raster file format. We realized that the Segment library does not fit the use cases enough to compensate for the overhead it might add. It was essentially used as an API to write to the file buffer, and we are not making good use of its caching capabilities. A native temporary file buffer should fit our use cases the most where the threads can write output simultaneously (which is the current implementation for r.mfilter).

Next week, I aimed to make the necessary changes for r.neighbor and do proper benchmarking on large raster files to monitor the performance gain from parallelization (r.mfilter).


3) Am I blocked on anything?

No, it has been good so far.


Github repo: https://github.com/aaronsms/grass


Any suggestions are welcome. Thanks!


Warmest regards,

Aaron

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/grass-dev/attachments/20210705/a17ee1ba/attachment-0001.html>


More information about the grass-dev mailing list