-
Notifications
You must be signed in to change notification settings - Fork 41
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(symmetric): support SPD GPU #112
Conversation
…e_positive_definite()
…SymmetricPositiveDefinite
I observed that the matching process in STRUMPACK relies on the mc64ad algorithm (STRUMPACK ./src/sparse/MC64ad.cpp), which unfortunately does not support symmetric matrices. I found an alternative approach for Cholesky decomposition of symmetric matrices by incorporating the mc64_matching from HSL_MC64 ("matrix type indicates if the matrix is symmetric or not". section 2.5 in https://www.hsl.rl.ac.uk/specs/hsl_mc64_C.pdf). So I think we should implement our own symmetric version or use HSL_MC64 directly. I suggest that we can make it a separate pull request. |
@pghysels Could you please check this PR? |
Can you add a few tests? Maybe you can rename files like |
Maybe we should add a routine like The current |
How did you format codes? @pghysels |
I don't use any strict formatting guidelines. |
Sounds great! I opened a new issue (#114) for this. I think we can do this in the next PR for clarity because I usually follow the philosophy that one PR for one feature. |
…pp in test/CMakeLists.txt. 2.add "set_lower_triangle_matrix" for taking the lower triangle
"test_SPD_mixedPrecison" and "test_SPD_seq" in test/CMakeList and routine "set_lower_triangle_matrix" for taking a symmetric matrix are ready. Please review. I also changed symm_sparse() to is_symmetric(opts_) to check whether the matrix is symmetric. |
This looks good. I will merge and then clean up a bit myself. There might be licensing issue with the newer MC64 version. |
This PR
Future