-
Notifications
You must be signed in to change notification settings - Fork 17
Fixed performance issues in consistent/assemble, new and improved distributed sparse matrix multiplication algorithms. #170
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
base: master
Are you sure you want to change the base?
Conversation
…d versions of repartition(A,rows,cols) and centralize that support non-default sparse method.
…improved cosistent further by reusing own_ghost_block as much as possible through new sparse utils expand_sparse_matrix _columns
…atency hiding to PartitionedArrays. Additional tests for these functions have been added. Sparse utils has been extended with some new functions required by SpMM, etc. Serial kernels for the methods are provided in a new file 'sequential implementations'.
…plications algorithms
@@ -948,9 +948,9 @@ parallel implementations. | |||
|
|||
# Properties | |||
|
|||
- `matrix_partition::A` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this really needed?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The first line of the doc string says struct PSparseMatrix{V,B,C,D,T}
, and the first property used to say matrix_partition::A
, but A it not an existing field, so to me it feels like my changes are correct, and the existing documentation is not.
src/sequential_implementations.jl
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is a lot of "type piracy in this file". One cannot define methods for functions and types in other packages.
If you want to work with your own versions of the functions, then you need to consider different function names.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I believe I resolved this now, but this probably means that *
,\
, +
, -
do not behave as expected for SparseMatrixCSR
structs. mul! is replaced by matmul!, which I believe is not exported by any library
Performance changes to consistent and assemble.