Closed johnmauff closed 1 month ago
@sjsprecious Thanks for your thorough review. I am fine with waiting for PR #66 to be committed first.
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 32.62%. Comparing base (
12e3fc1
) to head (1367543
).
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
This PR represents a complete rewrite of the calcHTranspose operator. The previous implementation only stored the H matrix and accessed it using several indirect addressing arrays for the calcHTranspose operation. The previous storage format was non-standard and on large problems like the hurricane_4panel test case actually consumed more memory than just explicitly storing the H^t matrix. This PR changes the form of the calcHTranspose operator such that the H^t matrix is explicitly stored in a CSR format. This change enables both a reduction in memory usage for computationally large problems and execution time on the CPU. Due to reduction in memory usage, both the hurricane_4panel configuration can be run on 80GB H100 GPU's and the hurricane case can be run on a 40 GB A100 GPU without code changes. The version of the code has been tested on the following platforms and input configurations:
Derecho CPU
beltrami supercell hurricane typhoonChanthu2020 hurricane_4panel
Derecho A100 GPU
beltrami supercell hurricane typhoonChanthu2020
Casper H100 GPU
beltrami supercell hurricane typhoonChanthu2020 hurricane_4panel