Skip to content

fix: balance compilation time and memory usage for MFD kernels#4026

Merged
castelletto1 merged 3 commits intodevelopfrom
fix/oduran/balanced_compilation_time_memory_polyehdral_kernels
Apr 11, 2026
Merged

fix: balance compilation time and memory usage for MFD kernels#4026
castelletto1 merged 3 commits intodevelopfrom
fix/oduran/balanced_compilation_time_memory_polyehdral_kernels

Conversation

@OmarDuran
Copy link
Copy Markdown
Contributor

This PR is addressing issue-3894 by refactoring the CMake-generated kernel dispatch for MFD discretizations.

The previous CMake-generated dispatch created a single translation unit per generated type. While this approach minimized memory usage during compilation, it resulted in longer compilation times. An attempt was made to address this by creating a single translation unit containing all possible types; however, this approach is also suboptimal, as it reduces compilation time at the cost of excessive memory usage.

The current refactor proposes a solution between these two extremes by grouping translation units according to the number of faces of the intended polyhedral cell. This approach moderates memory consumption while keeping compilation times practical for developers.

Fixes #3894

@OmarDuran OmarDuran self-assigned this Apr 10, 2026
@OmarDuran OmarDuran added ci: run CUDA builds Allows to triggers (costly) CUDA jobs ci: run integrated tests Allows to run the integrated tests in GEOS CI flag: no rebaseline Does not require rebaseline ci: run code coverage enables running of the code coverage CI jobs labels Apr 10, 2026
@OmarDuran OmarDuran requested a review from castelletto1 April 10, 2026 22:18
@castelletto1 castelletto1 merged commit de8920c into develop Apr 11, 2026
23 checks passed
@castelletto1 castelletto1 deleted the fix/oduran/balanced_compilation_time_memory_polyehdral_kernels branch April 11, 2026 16:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci: run code coverage enables running of the code coverage CI jobs ci: run CUDA builds Allows to triggers (costly) CUDA jobs ci: run integrated tests Allows to run the integrated tests in GEOS CI flag: no rebaseline Does not require rebaseline

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Issue: Refactor use of old vs. CMake-generated kernel dispatch lists

3 participants