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

Add initial implementation for Sparse Matrix Mult #3516

Merged
merged 4 commits into from
Jul 24, 2024

Conversation

ShreyasKhandekar
Copy link
Contributor

This PR does the following:

  1. Add new types to the Symbol Table:
  • SparseGenSymEntry and SparseSymEntry are added to support sparse matrices.
  1. Add a new type to the client
  • sparray is the client representation of sparse matrices
  1. Add functionality for this new type

I am not adding the new SparseMatrixMsg to ServerModule.cfg by default today because it is an unstable prototype and may change in the future.

Future work here is to add support for printing the sparrays and add a test for the new functions.

Copy link
Contributor

@bmcdonald3 bmcdonald3 left a comment

Choose a reason for hiding this comment

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

Mainly looks good, I think we want to remove the debug output though. Also, one question on naming that I've pinged Tess about.

src/SparseMatrix.chpl Outdated Show resolved Hide resolved
src/SparseMatrix.chpl Outdated Show resolved Hide resolved
src/SparseMatrix.chpl Outdated Show resolved Hide resolved
src/SparseMatrixMsg.chpl Outdated Show resolved Hide resolved
src/SparseMatrix.chpl Show resolved Hide resolved
arkouda/sparrayclass.py Show resolved Hide resolved
Copy link
Contributor

@bmcdonald3 bmcdonald3 left a comment

Choose a reason for hiding this comment

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

Whoops, missed this first time around, but looks like the failing CI checks will need to be resolved as well.

@ShreyasKhandekar
Copy link
Contributor Author

ShreyasKhandekar commented Jul 23, 2024

The error with make doc might be an issue with chpldoc I've pinged the Chapel team to see if that is the case.
Edit: yes, its a bug with chpldoc

Details in PR

Signed-off-by: Shreyas Khandekar <[email protected]>
Signed-off-by: Shreyas Khandekar <[email protected]>
mypy really wants the sparray type to be indexable, but that is not in
the scope of this PR. I can make it the case in a future PR, but for now
I would like to silence the error and move on.
Therefore I added a __get_item__ method to the sparray class which just
raises a NotImplementedError.

Signed-off-by: Shreyas Khandekar <[email protected]>
This worked around the bug in chpldoc by not use'ing the layout enum

Signed-off-by: Shreyas Khandekar <[email protected]>
@bmcdonald3 bmcdonald3 enabled auto-merge July 24, 2024 20:25
@bmcdonald3 bmcdonald3 added this pull request to the merge queue Jul 24, 2024
Merged via the queue into Bears-R-Us:master with commit ac1bc19 Jul 24, 2024
16 checks passed
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.

3 participants