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

src/sparse: Fix supernodal sptrsv build with LayoutRight=ON #5

Merged
merged 1 commit into from
Jun 7, 2021

Conversation

e10harvey
Copy link

Sorry for the formatting changes; I can back those out if you'd like. My pre-commit hook ran:

for FILE in $(git diff --cached --name-only)
do
        clang-format -i -style=file $FILE
	git add $FILE
done

@e10harvey
Copy link
Author

@iyamazaki, Using this branch built with LayoutRight=ON and LayoutLeft=OFF shows:

$ ./KokkosKernels_sparse_serial --gtest_filter=*sptrsv*
Note: Google Test filter = *sptrsv*
[==========] Running 8 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 8 tests from serial
[ RUN      ] serial.sparse_sptrsv_double_int_int_TestExecSpace
Supernode Tri Solve SUCCESS
SUPERNODAL_DAG
Supernode Tri Solve SUCCESS
SUPERNODAL_DAG
[       OK ] serial.sparse_sptrsv_double_int_int_TestExecSpace (1 ms)
[ RUN      ] serial.sparse_sptrsv_double_int_size_t_TestExecSpace
Supernode Tri Solve SUCCESS
SUPERNODAL_DAG
Supernode Tri Solve SUCCESS
SUPERNODAL_DAG
[       OK ] serial.sparse_sptrsv_double_int_size_t_TestExecSpace (2 ms)
[ RUN      ] serial.sparse_sptrsv_float_int_int_TestExecSpace
Supernode Tri Solve SUCCESS
SUPERNODAL_DAG
Supernode Tri Solve SUCCESS
SUPERNODAL_DAG
[       OK ] serial.sparse_sptrsv_float_int_int_TestExecSpace (1 ms)
[ RUN      ] serial.sparse_sptrsv_float_int_size_t_TestExecSpace
Supernode Tri Solve SUCCESS
SUPERNODAL_DAG
Supernode Tri Solve SUCCESS
SUPERNODAL_DAG
[       OK ] serial.sparse_sptrsv_float_int_size_t_TestExecSpace (1 ms)
[ RUN      ] serial.sparse_sptrsv_kokkos_complex_double_int_int_TestExecSpace
Supernode Tri Solve SUCCESS
SUPERNODAL_DAG
Supernode Tri Solve SUCCESS
SUPERNODAL_DAG
[       OK ] serial.sparse_sptrsv_kokkos_complex_double_int_int_TestExecSpace (1 ms)
[ RUN      ] serial.sparse_sptrsv_kokkos_complex_double_int_size_t_TestExecSpace
Supernode Tri Solve SUCCESS
SUPERNODAL_DAG
Supernode Tri Solve SUCCESS
SUPERNODAL_DAG
[       OK ] serial.sparse_sptrsv_kokkos_complex_double_int_size_t_TestExecSpace (1 ms)
[ RUN      ] serial.sparse_sptrsv_kokkos_complex_float_int_int_TestExecSpace
Supernode Tri Solve SUCCESS
SUPERNODAL_DAG
Supernode Tri Solve SUCCESS
SUPERNODAL_DAG
[       OK ] serial.sparse_sptrsv_kokkos_complex_float_int_int_TestExecSpace (1 ms)
[ RUN      ] serial.sparse_sptrsv_kokkos_complex_float_int_size_t_TestExecSpace
Supernode Tri Solve SUCCESS
SUPERNODAL_DAG
Supernode Tri Solve SUCCESS
SUPERNODAL_DAG
[       OK ] serial.sparse_sptrsv_kokkos_complex_float_int_size_t_TestExecSpace (1 ms)
[----------] 8 tests from serial (9 ms total)

[----------] Global test environment tear-down
[==========] 8 tests from 1 test case ran. (9 ms total)
[  PASSED  ] 8 tests.

@iyamazaki
Copy link
Owner

Thank you, @e10harvey. Yes, this is because the unit-test takes each column as supernode, and we don't need to specify the matrix is upper/lower, for instance. I will modify the unit test to have a non-trivial supernode.

@e10harvey
Copy link
Author

@iyamazaki, should we merge this to fix the link errors?

@iyamazaki
Copy link
Owner

Now, we require LayoutLeft. So, we are okay? And, this may fix the link errors, but we need more to support LayoutRight.

@e10harvey
Copy link
Author

I think this should be merged in case someone wants to start working on supporting LayoutRight; this will put them a step closer.

@iyamazaki
Copy link
Owner

Thank you @e10harvey. I am running a test locally, just to make sure!! Right now, if we try to enable SUPERNODAL_SPTRSV without LayoutLeft, we should see an error message. But, I wonder if we can add comments somewhere in the codes, saying we only support default_layout = LayoutLeft.. I may forget..

@e10harvey
Copy link
Author

Right now, if we try to enable SUPERNODAL_SPTRSV without LayoutLeft, we should see an error message. But, I wonder if we can add comments somewhere in the codes, saying we only support default_layout = LayoutLeft.. I may forget..

I think the CMake check you added via kokkos@88cb062 is clear but a comment would be nice.

@iyamazaki
Copy link
Owner

Hi, @e10harvey. My quick local unit-test passed. Do you want to add the comments before merging this?

@e10harvey
Copy link
Author

No. I am ready to merge.

@iyamazaki iyamazaki merged commit 6b4e189 into iyamazaki:sptrsv-tpl Jun 7, 2021
@e10harvey e10harvey deleted the sptrsv-tpl branch July 23, 2021 15:54
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.

2 participants