MASS C++ Updates JENNIFER KOWALSKY, 2015
What is MASS? Multi-Agent Spatial Simulation A library for parallelizing simulations and data analysis Uses on a cluster of computing nodes for parallelization The abstraction of an array of Places holding Agents is used for developing programs
Why C++? MASS currently exists in three languages, C++, Java, and Cuda. The C++ version was made for performance testing against the other two versions of MASS. Performance tests require the three implementations to have the same feature set. Currently, the C++ version is lagging behind the Java implementation in features.
What I am Currently Working On Reflecting commits made to MASS Java in MASS C++ ◦Can see progress by visiting the MASS C++ Issue trackerMASS C++ Issue tracker ◦And by checking out the develop branch in Git Adding features requested by the MASS Research Group Updating and creating documentation for MASS C++ ◦Currently have MASS C++ Developer’s Guide ◦Doxygen for Code Documentation
Features to be Implemented 44 commits to be reflected from MASS Java ◦Most are small changes ◦Some involve extending MASS C++’s feature set ◦Others change MASS C++’s API and are being deferred until next quarter ◦Some are a result of using Maven in MASS Java and are currently not relevant Major Features to be Implemented before February 23 ◦Changes to ExchangeAll to implement neighbors ◦Changes to the Agent Bag ◦Changes related to the debugger
What’s Done So Far Setup development and minimal testing environment for MASS C++ Written first version of MASS C++ Development Guide ◦Found in kowalsky/MASS_CPP/MASS_Cpp_Developer_Guide.pdf Fixed AgentID Critical Section Bug Started on Exchange All neighbors changes, expect to be done by next Monday.
Remaining Work Finish reflecting commits Add any new requested changes to the issue tracker Update MASS C++ User Documentation Aiming to be done by February 20 th
Risks Slow start to my project means less time spent on development ◦Offsetting this by focusing on the three major features instead of going solely in chronological order for the commits
Questions or Comments?