Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add ability to do vector-vector loop #75

Merged
merged 48 commits into from
Sep 23, 2024
Merged

Conversation

steven-murray
Copy link
Contributor

This adds the ability to do the matrix-matrix calculation instead as a targeted set of vector-vector dot products for only the pairs we care about.

BREAKING CHANGE: this is very much a breaking change. The biggest
    API-facing change is that the output is now (Ntime, Nfeed, Nfeed, Npairs)
    instead of (Ntime, Nfeed, Nfeed, Nant, Nant). However, other
    additions are the inclusion of the choice of different methods for
    performing the matrix product.
src/matvis/gpu.py Outdated Show resolved Hide resolved
src/matvis/gpu/matprod.py Outdated Show resolved Hide resolved
Copy link

codecov bot commented Dec 15, 2023

Codecov Report

Attention: Patch coverage is 97.84946% with 16 lines in your changes missing coverage. Please review.

Project coverage is 97.82%. Comparing base (8770e6b) to head (bef352a).
Report is 50 commits behind head on main.

Files with missing lines Patch % Lines
src/matvis/core/coords.py 92.30% 2 Missing and 2 partials ⚠️
src/matvis/gpu/_cublas.py 88.23% 2 Missing and 2 partials ⚠️
src/matvis/_utils.py 94.73% 1 Missing and 2 partials ⚠️
src/matvis/core/getz.py 93.10% 1 Missing and 1 partial ⚠️
src/matvis/gpu/gpu.py 98.14% 1 Missing and 1 partial ⚠️
src/matvis/core/beams.py 98.50% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##             main      #75       +/-   ##
===========================================
+ Coverage   63.95%   97.82%   +33.86%     
===========================================
  Files           8       21       +13     
  Lines         566      828      +262     
  Branches       88       98       +10     
===========================================
+ Hits          362      810      +448     
+ Misses        196        9      -187     
- Partials        8        9        +1     
Flag Coverage Δ
unittests 97.22% <97.17%> (+33.26%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Collaborator

@piyanatk piyanatk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for a hard work @steven-murray . I have some comments and small suggestions, just for clarification and aesthetic. I didn't try to read into the algorithm too much -- I believe you already tested and think through it.

src/matvis/_uvbeam_to_raw.py Outdated Show resolved Hide resolved
src/matvis/cli.py Outdated Show resolved Hide resolved
src/matvis/coordinates.py Show resolved Hide resolved
src/matvis/core/__init__.py Show resolved Hide resolved
src/matvis/core/beams.py Show resolved Hide resolved
src/matvis/wrapper.py Outdated Show resolved Hide resolved
src/matvis/wrapper.py Outdated Show resolved Hide resolved
tests/test_beams.py Outdated Show resolved Hide resolved
tests/test_cpu_vs_gpu.py Outdated Show resolved Hide resolved
compare_errors.txt Outdated Show resolved Hide resolved
Copy link
Collaborator

@piyanatk piyanatk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These look good now @steven-murray . Thanks again for your efforts. Thanks for cleaning up some unused functions that I have missed in the review as well.

setup.cfg Outdated
@@ -21,6 +21,7 @@ packages = find_namespace:
install_requires =
astropy
click
docstring-parser
line-profiler
numpy
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we ready to pin numpy>=2.0.0 and pyuvdata>=3.0.0?

Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

@steven-murray steven-murray merged commit bb1ed6d into main Sep 23, 2024
12 checks passed
@steven-murray steven-murray deleted the vector-vector branch September 23, 2024 19:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants