Submission information
Submission Number: 145
Submission ID: 285
Submission UUID: f77af041-d389-4f8f-8399-ee16207a4de3
Submission URI: /form/project
Created: Tue, 04/26/2022 - 15:17
Completed: Tue, 04/26/2022 - 15:17
Changed: Wed, 09/04/2024 - 15:37
Remote IP address: 134.88.255.84
Submitted by: Steven Liebling
Language: English
Is draft: No
Webform: Project
Project Title: Performance Benchmarks and Optimizations of a Gravitational-Wave Simulation Software Program: CAREERS (323) Project Image: {Empty} Tags: astrophysics (297), c++ (321), matlab (2) Status: Complete Project Leader -------------- Project Leader: steven liebling Email: liebling@gmail.com Mobile Phone: {Empty} Work Phone: {Empty} Project Personnel ----------------- Mentor(s): {Empty} Student-facilitator(s): MANAS VISHAL (1580) Mentee(s): {Empty} Project Information ------------------- Project Description: 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 ------------------------------ Project Deliverables: {Empty} Project Deliverables: {Empty} Student Research Computing Facilitator Profile: {Empty} Mentee Research Computing Profile: {Empty} Student Facilitator Programming Skill Level: {Empty} Mentee Programming Skill Level: {Empty} Project Institution: LIU Post Project Address: {Empty} Anchor Institution: CR-Rensselaer Polytechnic Institute Preferred Start Date: {Empty} Start as soon as possible.: No Project Urgency: Already behind3Start date is flexible Expected Project Duration (in months): {Empty} Launch Presentation: {Empty} Launch Presentation Date: {Empty} Wrap Presentation: {Empty} Wrap Presentation Date: {Empty} Project Milestones: - 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. Github Contributions: {Empty} Planned Portal Contributions (if any): {Empty} Planned Publications (if any): {Empty} What will the student learn?: {Empty} What will the mentee learn?: {Empty} What will the Cyberteam program learn from this project?: {Empty} HPC resources needed to complete this project?: {Empty} Notes: {Empty} Final Report ------------ What is the impact on the development of the principal discipline(s) of the project?: {Empty} What is the impact on other disciplines?: {Empty} Is there an impact physical resources that form infrastructure?: {Empty} Is there an impact on the development of human resources for research computing?: {Empty} Is there an impact on institutional resources that form infrastructure?: {Empty} Is there an impact on information resources that form infrastructure?: {Empty} Is there an impact on technology transfer?: {Empty} Is there an impact on society beyond science and technology?: {Empty} Lessons Learned: {Empty} Overall results: {Empty}