devitocodes / devito

DSL and compiler framework for automated finite-differences and stencil computation
http://www.devitoproject.org
MIT License
536 stars 221 forks source link

compiler: Revamp code generation for asynchronous operations #2376

Closed FabioLuporini closed 2 weeks ago

FabioLuporini commented 1 month ago

This PR is the result of the last 40 days of work, more or less. It would deserve to be split over multiple PRs, as what I've done here is really really bad, but point is, 1) I didn't have the time to go back and forth and 2) it's all intertwined, somehow...

Strictly speaking, there are no new features here. "Just" a major revamp to generalise code generation for asynchronous operations, which will mostly impact PRO.

A lot of compiler passes have been rewritten from scratch, and in my opinion, the code quality has increased significantly. Some legacy code has finally gone for good...

Despite being a giant PR, it's worth saying that all edits go in the same direction and contribute to the same goal; in other words, this PR isn't the sum of N orthogonal changes, even though, I agree, the appearance may be deceptive

codecov[bot] commented 1 month ago

Codecov Report

Attention: Patch coverage is 61.75772% with 483 lines in your changes missing coverage. Please review.

Project coverage is 86.77%. Comparing base (210f899) to head (0decbb2).

Files Patch % Lines
devito/passes/clusters/asynchrony.py 9.77% 157 Missing :warning:
devito/passes/iet/asynchrony.py 9.47% 86 Missing :warning:
devito/passes/iet/engine.py 45.00% 29 Missing and 4 partials :warning:
devito/passes/iet/orchestration.py 25.00% 33 Missing :warning:
devito/passes/clusters/buffering.py 88.50% 15 Missing and 15 partials :warning:
devito/passes/clusters/implicit.py 72.81% 25 Missing and 3 partials :warning:
tests/test_gpu_common.py 0.00% 23 Missing :warning:
devito/core/gpu.py 30.00% 14 Missing :warning:
devito/operator/operator.py 54.16% 9 Missing and 2 partials :warning:
devito/ir/support/syncs.py 67.74% 10 Missing :warning:
... and 18 more
Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #2376 +/- ## ========================================== - Coverage 86.81% 86.77% -0.05% ========================================== Files 234 234 Lines 44004 44245 +241 Branches 8127 8181 +54 ========================================== + Hits 38204 38393 +189 - Misses 5093 5137 +44 - Partials 707 715 +8 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

review-notebook-app[bot] commented 1 month ago

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB