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

KokkosKernels,Tpetra: Plug in TPLs (MKL, cuSPARSE, ...) for sparse matrix-matrix multiply #430

Closed
mhoemmen opened this issue Jun 9, 2016 · 16 comments
Labels
CLOSED_DUE_TO_INACTIVITY Issue or PR has been closed by the GitHub Actions bot due to inactivity. MARKED_FOR_CLOSURE Issue or PR is marked for auto-closure by the GitHub Actions bot. pkg: Tpetra TpetraRF

Comments

@mhoemmen
Copy link
Contributor

mhoemmen commented Jun 9, 2016

@trilinos/tpetra @trilinos/muelu @mndevec @csiefer2

See #147 for discussion.
Depends on #148 (otherwise we can't plug in a local kernel).
Depends on #415 (MKL sparse matrix-matrix multiply wants to own deallocation of the result matrix's arrays, so Kokkos can't own them; deallocation has to happen in the handle)

@kddevin
Copy link
Contributor

kddevin commented Aug 26, 2016

Discussion with @csiefer2 today:
@csiefer2 will be the assignee; targeting FY17 Q1-Q2 for the work.

@mhoemmen mhoemmen added the story The issue corresponds to a Kanban Story (vs. Epic or Task) label Sep 16, 2016
@mhoemmen mhoemmen added this to the Tpetra-threading milestone Sep 19, 2016
@mhoemmen mhoemmen added task and removed story The issue corresponds to a Kanban Story (vs. Epic or Task) pkg: MueLu labels Sep 19, 2016
@mhoemmen mhoemmen modified the milestones: Tpetra-backlog, Tpetra-threading Nov 2, 2016
@mhoemmen
Copy link
Contributor Author

mhoemmen commented Dec 6, 2016

@csiefer2 discovered possible bugs in MKL's sparse matrix-matrix multiply, for the case of empty rows and/or columns in the input matrices. This suggests that we should avoid relying on MKL for this critical kernel.

@nmhamster
Copy link
Contributor

@mhoemmen - can you provide a small reproducer so we can file a bug report?

@mhoemmen
Copy link
Contributor Author

mhoemmen commented Dec 6, 2016

@csiefer2, would you happen to know what matrices didn't work with MKL's implementation?

@srajama1
Copy link
Contributor

srajama1 commented Dec 6, 2016

Note that KokkosKernel SpGEMM is anyway faster than MKL (except when using small number of threads and there is no reuse of structure). So we might not rely on it anyway.

@maherou
Copy link
Member

maherou commented Dec 6, 2016 via email

@mhoemmen
Copy link
Contributor Author

mhoemmen commented Dec 6, 2016

I just heard from @csiefer2 today about this. I know his time is limited this fiscal year, so if he finds something, he should feel welcome just to point out the example (e.g., test number or matrix file) and put the rest of us to work in helping him turn that into a test case for MKL.

@csiefer2
Copy link
Member

csiefer2 commented Dec 6, 2016

Mehmet already has a lists of problems where MKL doesn't work.

@mhoemmen
Copy link
Contributor Author

mhoemmen commented Dec 7, 2016

@mndevec , would you happen to have some matrices that are known to fail with MKL? Thanks!

@mndevec
Copy link
Contributor

mndevec commented Dec 7, 2016

@mhoemmen
In my case, MKL does not complete (in 20 min) with 256 threads on KNL (with intel 17) for laplace and brick matrices. I can provide the matrix market formats for those.

@nmhamster
Copy link
Contributor

@mndevec please can you supply these so we can file an issue with Intel?

@mhoemmen
Copy link
Contributor Author

mhoemmen commented Dec 7, 2016

@mndevec wrote:

... MKL does not complete (in 20 min) with 256 threads on KNL (with intel 17) for laplace and brick matrices.

Wow ;-P

@mndevec
Copy link
Contributor

mndevec commented Dec 7, 2016

@nmhamster
The matrices are a bit large, laplace A and P matrices are located under /home/mndevec/matrix_market
in bowman.

@mndevec
Copy link
Contributor

mndevec commented Dec 7, 2016

By the way, I am using inspector executor with the function: mkl_sparse_spmm.
There is another function in MKL for matrix-matrix multiply. I will plug that too in coming weeks.

@github-actions
Copy link

This issue has had no activity for 365 days and is marked for closure. It will be closed after an additional 30 days of inactivity.
If you would like to keep this issue open please add a comment and remove the MARKED_FOR_CLOSURE label.
If this issue should be kept open even with no activity beyond the time limits you can add the label DO_NOT_AUTOCLOSE.

@github-actions github-actions bot added the MARKED_FOR_CLOSURE Issue or PR is marked for auto-closure by the GitHub Actions bot. label Dec 17, 2020
@github-actions
Copy link

This issue was closed due to inactivity for 395 days.

@github-actions github-actions bot added the CLOSED_DUE_TO_INACTIVITY Issue or PR has been closed by the GitHub Actions bot due to inactivity. label Jan 16, 2021
@jhux2 jhux2 added this to Tpetra Aug 12, 2024
@jhux2 jhux2 moved this to Done in Tpetra Aug 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLOSED_DUE_TO_INACTIVITY Issue or PR has been closed by the GitHub Actions bot due to inactivity. MARKED_FOR_CLOSURE Issue or PR is marked for auto-closure by the GitHub Actions bot. pkg: Tpetra TpetraRF
Projects
Status: Done
Development

No branches or pull requests

7 participants