-
Notifications
You must be signed in to change notification settings - Fork 93
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Moving cusparse spgemm to unification layer Split symbolic, numeric, fused-jacobi into separate TPL avail/decl files. * Finish cusparse spgemm tpl wrapper - Symbolic now backwards compatible with bspgemm_numeric and spgemm_jacobi * Add proper rocsparse spgemm wrappers * More SpGEMM TPL work - Remove mentions of deprecated enum value SPGEMM_MKL and SPGEMM_MKL2PHASE - Add MKL wrapper under unification layer with correct symbolic/numeric separation - Remove SPGEMM_CUSP and SPGEMM_VIENNA enum values * Remove now unused spgemm impl files (CUSP, Vienna, MKL) * perftest: take out deprecated/removed spgemm algos * Enforce sorting of spgemm output * Update rocblas includes <rocblas.h> is deprecated and throws warnings; now we have to use <rocblas/rocblas.h> * Update the rest of the deprecated rocsparse includes <rocsparse.h> is deprecated, using <rocsparse/rocsparse.h> instead * rocsparse spgemm: remove unused typedefs * Make MKL sort the output of spgemm * Change the way fuzzy view comparison is done Assume values are close enough if their absolute value is less than eps. Values close to zero like this might be the result of summing many larger-magnitude terms, so the reference value and actual value might end up being (relatively) very different, even though each algorithm is behaving correctly (ignoring floating-point addition nonassociativity) * spgemm: buffer management fixes for cusparse 11.4+ * Fix cusparse 10 spgemm wrapper * Bump tolerance to make bspgemm test pass w/float * SpGEMM: test symbolic reuse Call symbolic, numeric, then change A/B values and do numeric again. * Remove redundant input check in spgemm * Fix order of m,n,k passed to cusparse 10.x spgemm Also make spgemm test use distinct m,n,k to catch similar bugs * spgemm all-at-once interface, debugging utils Add handle-less (non-reuse) spgemm interface, meaning the user can just compute C = AB in one line. Use this in the wiki example, since this should show off the most straightforward way to use the kernel. Implemented in terms of simplified symbolic/numeric (no separate unification layer yet) Debugging utils: KokkosSparse::Impl::isCrsGraphSorted(rowmap, entries): check that the graph has sorted rows. This test is designed to be efficient enough to run by default before kernels that require sorted input. KokkosSparse::Impl::validateCrsMatrix(m, n, rowmap, entries, values): sanity check the extents and entries of a matrix. Entries should be less than n (numCols), rowmap(m) should be equal to nnz, etc. Use isCrsGraphSorted test on A and B in spgemm_symbolic, unless NDEBUG is defined (as in a release build). This is important since sorted input is a new requirement. * spgemm perf test: fix "--algorithm KKDEBUG" It was causing SPGEMM_KK_LP (a completely differnet, parallel algo) to be used, rather than SPGEMM_DEBUG (the host serial reference implementation). * Sparse utils: zero-initialize, remove unused member
- Loading branch information
1 parent
61ff6a3
commit 4c06b6c
Showing
42 changed files
with
2,463 additions
and
3,154 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.