Thesis - DHSVM Parallel

My Graduate thesis consisted of taking an old C program desinged to simulate water sheds and making key parts of it run in parallel. In addition I modified the program to run many instances at a time, and allowed random ranges to be specified in the parameter files.

Description

This project takes the scientific simulation made by the Univerisity of Washington here and optimizes it serially and makes it run in parallel. This project was completed and defended in 2018.

This project has a number of interesting challenges. First off, from a Software Engineering standpoint, I'm taking a nontrivial amount of unknown code and having to write a test case suite to ensure integrity over time as I work on optimizing it. From a performance stand point this program has a variety of optimizations that can be made from compacting needlessly duplicated for loops, to large loops that can be distributed across many cores. Finally, this project isn't purely academic. This project was used by another master thesis in the Agriculture Science Department at CalPoly. This follow-up thesis dictated the direction my work took.

Github page here

Original Thesis paper here

Published version of the paper here

Work used by this master thesis here

Original credit to Wigmosta et al. (1994)

An official parallel update now exists based off of this research. Which takes a different approach to my implementation. However, it references my work which is neat.