-
Notifications
You must be signed in to change notification settings - Fork 61
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
LAGraph needs a faster Matrix Market reader/writer. #175
Comments
Out of curiosity, are you interested in improving serial matrix market IO or adding parallel options? |
Both would be nice.
…On Fri, Mar 24, 2023, 1:11 PM James E T Smith ***@***.***> wrote:
Out of curiosity, are you interested in improving serial matrix market IO
or adding parallel options?
—
Reply to this email directly, view it on GitHub
<#175 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AANXEP2GK6GAGN4NQHPJK2TW5X5VXANCNFSM6AAAAAAWEJL5CI>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Comments from Kasimir Gabert, about one potential solution:
Scott McMillan writes:
|
Kasimir eloquently articulated my motivation for writing fast_matrix_market. Such a common and important operation should not be so slow. Thanks for the PIGO link! There are some great ideas in the paper. It made me curious how their approach compares to FMM, so I wrote some benchmarks to compare the various loaders: https://github.com/alugowski/sparse-matrix-io-comparison Quick summary of the points relevant to this discussion:
That is on my laptop (6 core). I would love it if someone tried it on a large machine as I currently don't have easy access to one. |
I hope folks are finding this useful! Feedback very welcome, positive or negative. For those that don't know, FMM includes ready-made methods to read and write It's a complex code, but both MM and GraphBLAS support several data structures each and there is a lot of complexity if you choose to support more than just the basics. Even more so if you want to minimize duplicating the matrix. A lot of care has been taken to implement all variations in the most efficient way that the GraphBLAS API allows, with less efficient fallbacks if not possible. For example the write function has about a half-dozen or so code paths depending on coordinate/array, row/column ordering, and library feature support. With SuiteSparse:GraphBLAS writing to MatrixMarket is nearly always zero-copy, with data fetched directly from the GrB_Matrix via iterators. That means the graph can take up a majority of RAM. Also supports complex values, which LAGraph's MM methods do not. |
No description provided.
The text was updated successfully, but these errors were encountered: