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

Hi everyone,

Week 5 has concluded and here’s my report for this week.

  1. What did I get done this week?
    To benchmark both r.mfilter and r.neighbor implementation, I have made use of the recently merged benchmark library on randomly generated raster using r.surf.fractal.

The preliminary result is as follows for both modules (y-axis - time/secs, x-axis - nprocs | benchmarked on my local workstation):

Furthermore, checks are done to compare between performance on master branch vs after implementation (nprocs = 1), and the results are comparable.

These two implementations make use of extensive disk I/O to write to temporary file buffer before transferring to the final raster file format. This behavior is default in r.mfilter, but is explicitly introduced in r.neighbors to allow for parallelization. Upon discussion with the mentors, we decided that we should make better use of memory over disk. Ideally, the user will be able to input the size of memory usage to be used for buffer. However, r.mfilter will still preserve its original usage of temporary files buffer.

  1. What do I plan on doing next week?
  • Complete rework of r.neighbors implementation

  • Compare benchmark between the two implementations

  1. Am I blocked on anything?
    No major roadblock, but I need to catch up a bit to rework my r.neighbor implementation.

Thanks,
Aaron

Hello Aaron,

2021-07-12 18:23 GMT+03:00, Aaron Saw Min Sern <aaronsms@u.nus.edu>:

Hi everyone,

2) What do I plan on doing next week?

  * Complete rework of r.neighbors implementation
  * Compare benchmark between the two implementations

To make most impact of your GSoC I strongly support your idea of
getting your implementations right. Better to have fewer modules
parallelized than having unstable code in them and thus risking
potential removal of the parallel code.
Anna was testing your code in r.mfilter and it was failing for her.
You should look into it as similar problem could also affect your work
in r.neighbors.

Good luck & keep up good work,
Māris.