Next-generation gravitational-wave (GW) detectors, such as the Laser Interferometer Space Antenna (LISA), will be able to detect GW signals from extreme mass ratio inspirals. Numerical simulation of these systems requires extremely long-time integration (~100,000 orbital cycles) and high accuracy for achieving the full scientific potential of LISA. We are developing a production-level simulation code for this purpose. The code is currently in Matlab, and initial work to rewrite it in C++17 is underway. This project aims to build a modernized software development ecosystem for the C++17 code that includes performance benchmarking tests and optimizations. In this project, the student will write benchmark tests that time computationally intensive parts of the code. The tests will be managed by the ctest tool that ships with cmake. We plan to run our performance tests on different HPC machines, including the MGHPCC and our local machine Carnie. The student will also explore single-core and single-node performance optimizations whose effectiveness will be assessed according to the benchmark tests.
Project Information Subsection
{Empty}
{Empty}
{Empty}
{Empty}
{Empty}
{Empty}
LIU Post
{Empty}
CR-Rensselaer Polytechnic Institute
{Empty}
No
Already behind3Start date is flexible
{Empty}
{Empty}
{Empty}
{Empty}
{Empty}
Milestone Title: Onboarding Milestone Description: Understand background information and any material provided by project researchers, set up development environment, give launch presentation
Milestone Title: Testing Familiarization Milestone Description: Become familiarized with possible testing frameworks in regards to the project. Write a test of an existing well understood functionality of the codebase. Note a possible hurdle of integer/floating point inconsistencies between MATLAB and C++
Milestone Title: Porting Functionality Milestone Description: Port some functionality from the MATLAB codebase to the C++ codebase and write a test for it -- document the process for both
Milestone Title: Testing Automation / Continuous Integration Milestone Description: Explore CI techniques and/or develop scripts for automated testing so project developers can verify if new functionality breaks existing functionality.
Milestone Title: Wrap Up Milestone Description: Finish compiling documentation, provide all developed material/documentation to project researchers, give wrap up presentation, complete exit interview with steering committee member.