Version 5 (modified by 3 years ago) ( diff ) | ,
---|
GSoC 2021: Parallelization of existing modules for GRASS GIS
Title: | Parallelization of existing modules for GRASS GIS |
Student Name: | Aaron Saw Min Sern |
Organization: | OSGeo - Open Source Geospatial Foundation |
Mentor Name: | Huidae Cho, Vaclav Petras, Māris Nartišs |
GSoC proposal: | View proposal |
GitHub Repository: | View account |
Abstract
The current state of OpenMP support for raster modules is limited. Many of such modules can benefit from parallelization. This project aims to provide parallelization to modules chosen based on their frequency of usage and its implementation complexity.
Timeline
Time Period | Milestones | |
---|---|---|
Tasks | Status | |
May 17th - June 7th |
|
|
June 7th - June 11th |
|
|
June 14th - June 18th |
| |
June 21st - June 25 |
| |
June 28 - July 2 |
| |
July 5th - July 9th |
| |
July 12th - July 16th |
| |
July 19th - July 23rd |
| |
July 26th - July 30th |
| |
August 2nd - August 6th |
| |
August 9th - August 13th |
| |
August 16th- August 23rd |
|
Bonding period report
1) What did I get done this period?
- I have set up a wiki page detailing my project and its progress. (1)
- I have set up my development environment. Here's the link to my repository. (2)
- I have gotten in touch with my mentors, and we are arranging a meeting this week.
2) What do I plan on doing next week?
I will be working on parallelizing 3 modules: r.proj, r.neighbor, r.univar. Based on the results, I will adjust my plans in the future weeks.
3) Am I blocked on anything?
No, it has been good so far.
(1) https://trac.osgeo.org/grass/wiki/GSoC/2021/RasterParallelization
(2) https://github.com/aaronsms/grass
Weekly reports
Week 1
1) What did I get done this week?
r.univar
- Updated Makefile to include OpenMP dependencies
- Wrote multi-threaded test cases to ensure consistency of the program
- Wrote benchmarking script to measure speedup
- Implemented parallel support
- Drafted the PR of abovementioned changes (1)
r.neighbor
- Investigated Segment library to support random access and write operations
2) What do I plan on doing next week?
The goal is to come out with a design for output-based modules. The next step is to finish the implementation for r.neighbor. Furthermore, I plan to investigate the thread-safety of Raster3D module for pthread implementation of r.mapcalc, which has known issues. (2)
3) Am I blocked on anything?
No, it has been good so far, but I hope to improve on my pace.