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

[SPARSE] Add support for cuSPARSE backend #527

Merged
merged 44 commits into from
Oct 29, 2024
Merged
Changes from 1 commit
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
fac276d
[SPARSE] Add support for cuSPARSE backend
Rbiessy Sep 6, 2024
3d02b34
Remove previous compile time example
Rbiessy Sep 10, 2024
1122221
Update compile time example description
Rbiessy Sep 10, 2024
f42eab5
Remove unused mkl_helper file
Rbiessy Sep 10, 2024
8584899
Update README with cuSPARSE
Rbiessy Sep 10, 2024
7aa5177
Fix typos and rewording
Rbiessy Sep 11, 2024
70cdbe0
Rework test accuracy for spsv
Rbiessy Sep 12, 2024
8173331
Remove get_mem for USM
Rbiessy Sep 12, 2024
9c16425
Map statuses CUSPARSE_STATUS_NOT_INITIALIZED and CUSPARSE_STATUS_MATR…
Rbiessy Sep 13, 2024
36599a9
Reword comment
Rbiessy Sep 13, 2024
3b29e32
Reword comment
Rbiessy Sep 20, 2024
84565a9
Remove redundant namespace
Rbiessy Sep 20, 2024
44dc73d
Remove redundant namespace in MKL backends
Rbiessy Sep 20, 2024
050f22a
Add comments on the assumption made for buffers
Rbiessy Sep 23, 2024
77d19e8
Throw unimplemented for some cases with csr_alg3
Rbiessy Sep 23, 2024
d23b24d
Introduce sorted_by_rows property
Rbiessy Sep 23, 2024
4db2187
Avoid placeholder accessor
Rbiessy Sep 24, 2024
f73fd0b
Remove description from algorithms tables
Rbiessy Sep 26, 2024
18156e5
Use COO sorted_by_rows in example
Rbiessy Sep 26, 2024
5addc14
Document missing feature
Rbiessy Sep 30, 2024
6946d64
Remove workaround for alpha and beta spmv
Rbiessy Sep 30, 2024
8e77ead
Reword comment on empty accessors
Rbiessy Sep 30, 2024
325f794
Fix function name in exceptions
Rbiessy Sep 30, 2024
9bc77d1
Throw unimplemented for spsv using no_optimize_alg
Rbiessy Sep 30, 2024
710b80b
Fix documentation typo
Rbiessy Sep 30, 2024
00e5ced
an -> a
Rbiessy Sep 30, 2024
342380e
Revert throwing unsupported for spsv + no_optimize_alg
Rbiessy Sep 30, 2024
96b38fd
Fix documentation enums
Rbiessy Oct 1, 2024
c5ba2c4
Do not retrieve global handle for set_*_data functions using buffer API
Rbiessy Sep 13, 2024
1f5c80c
Remove host_task for set_*_data functions using USM API
Rbiessy Sep 13, 2024
58f08c9
Cache CUstream and cusparseHandle_t in operation descriptor
Rbiessy Oct 22, 2024
c0eae1e
Ensure descriptor is kept alive long enough when buffers are used
Rbiessy Oct 24, 2024
2149e39
USM tests using reset_data wait before updating device values
Rbiessy Oct 24, 2024
bad6bfb
Force inputs to be copied on device before the optimize step
Rbiessy Jul 29, 2024
6318d53
Disable specific case of spmm with csr_alg3 failing
Rbiessy Oct 24, 2024
956ae49
Disable enqueue_native_command extension for out-of-order queues
Rbiessy Oct 24, 2024
43428ca
Test in-order queues
Rbiessy Oct 25, 2024
790d018
clang-format-19.1
Rbiessy Oct 25, 2024
ae5e387
Merge branch 'develop' into romain/cusparse
Rbiessy Oct 25, 2024
97eef5c
Move more functions to the detail namespace
Rbiessy Oct 25, 2024
2888232
Fix CT example return value and expected result
Rbiessy Oct 25, 2024
b4f553c
Update example README output
Rbiessy Oct 25, 2024
a2177f7
clang-format
Rbiessy Oct 25, 2024
eef836a
Rename variables that are not placeholder anymore
Rbiessy Oct 28, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Update README with cuSPARSE
Rbiessy committed Sep 10, 2024
commit 8584899e00fc00b2f5f9ee46ed82129952f7e8fa
20 changes: 15 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -18,8 +18,8 @@ oneMKL is part of the [UXL Foundation](http://www.uxlfoundation.org).
</thead>
<tbody>
<tr>
<td rowspan=12 align="center">oneMKL interface</td>
<td rowspan=12 align="center">oneMKL selector</td>
<td rowspan=13 align="center">oneMKL interface</td>
<td rowspan=13 align="center">oneMKL selector</td>
<td align="center"><a href="https://software.intel.com/en-us/oneapi/onemkl">Intel(R) oneAPI Math Kernel Library (oneMKL)</a></td>
<td align="center">x86 CPU, Intel GPU</td>
</tr>
@@ -28,10 +28,10 @@ oneMKL is part of the [UXL Foundation](http://www.uxlfoundation.org).
<td align="center"><a href="https://developer.nvidia.com/cublas"> NVIDIA cuBLAS</a></td>
<td align="center">NVIDIA GPU</td>
</tr>
<tr>
<tr>
<td align="center"><a href="https://developer.nvidia.com/cusolver"> NVIDIA cuSOLVER</a></td>
<td align="center">NVIDIA GPU</td>
</tr>
</tr>
<tr>
<td align="center"><a href="https://developer.nvidia.com/curand"> NVIDIA cuRAND</a></td>
<td align="center">NVIDIA GPU</td>
@@ -40,6 +40,10 @@ oneMKL is part of the [UXL Foundation](http://www.uxlfoundation.org).
<td align="center"><a href="https://developer.nvidia.com/cufft"> NVIDIA cuFFT</a></td>
<td align="center">NVIDIA GPU</td>
</tr>
<tr>
<td align="center"><a href="https://developer.nvidia.com/cusparse"> NVIDIA cuSPARSE</a></td>
<td align="center">NVIDIA GPU</td>
</tr>
<tr>
<td align="center"><a href="https://ww.netlib.org"> NETLIB LAPACK</a> </td>
<td align="center">x86 CPU</td>
@@ -317,7 +321,7 @@ Supported compilers include:
<td align="center">Dynamic, Static</td>
</tr>
<tr>
<td rowspan=2 align="center">SPARSE_BLAS</td>
<td rowspan=3 align="center">SPARSE_BLAS</td>
<td align="center">x86 CPU</td>
<td align="center">Intel(R) oneMKL</td>
<td align="center">Intel DPC++</td>
@@ -329,6 +333,12 @@ Supported compilers include:
<td align="center">Intel DPC++</td>
<td align="center">Dynamic, Static</td>
</tr>
<tr>
<td align="center">NVIDIA GPU</td>
<td align="center">NVIDIA cuSPARSE</td>
<td align="center">Open DPC++</td>
<td align="center">Dynamic, Static</td>
</tr>
</tbody>
</table>