File: api.rst

package info (click to toggle)
rocsparse 6.4.3-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 20,428 kB
  • sloc: cpp: 234,069; f90: 9,307; sh: 2,262; python: 1,939; makefile: 1,585; ansic: 440; xml: 26
file content (486 lines) | stat: -rw-r--r-- 35,708 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
.. meta::
  :description: rocSPARSE API reference library documentation
  :keywords: rocSPARSE, ROCm, API, documentation

.. _api:

Exported rocSPARSE functions
============================

Auxiliary Functions
-------------------

+-----------------------------------------------------+
|Function name                                        |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_create_handle`                  |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_destroy_handle`                 |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_set_stream`                     |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_get_stream`                     |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_set_pointer_mode`               |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_get_pointer_mode`               |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_get_version`                    |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_get_git_rev`                    |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_create_mat_descr`               |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_destroy_mat_descr`              |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_copy_mat_descr`                 |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_set_mat_index_base`             |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_get_mat_index_base`             |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_set_mat_type`                   |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_get_mat_type`                   |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_set_mat_fill_mode`              |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_get_mat_fill_mode`              |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_set_mat_diag_type`              |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_get_mat_diag_type`              |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_set_mat_storage_mode`           |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_get_mat_storage_mode`           |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_create_hyb_mat`                 |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_destroy_hyb_mat`                |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_copy_hyb_mat`                   |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_create_mat_info`                |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_copy_mat_info`                  |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_destroy_mat_info`               |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_create_color_info`              |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_destroy_color_info`             |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_copy_color_info`                |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_create_spvec_descr`             |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_destroy_spvec_descr`            |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_spvec_get`                      |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_spvec_get_index_base`           |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_spvec_get_values`               |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_spvec_set_values`               |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_create_coo_descr`               |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_create_coo_aos_descr`           |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_create_csr_descr`               |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_create_csc_descr`               |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_create_ell_descr`               |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_create_bsr_descr`               |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_create_bell_descr`              |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_create_const_coo_descr`         |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_create_const_csr_descr`         |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_create_const_csc_descr`         |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_create_const_bell_descr`        |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_destroy_spmat_descr`            |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_create_extract_descr`           |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_destroy_extract_descr`          |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_create_sparse_to_sparse_descr`  |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_destroy_sparse_to_sparse_descr` |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_sparse_to_sparse_permissive`    |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_coo_get`                        |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_coo_aos_get`                    |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_csr_get`                        |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_ell_get`                        |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_bell_get`                       |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_coo_set_pointers`               |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_coo_aos_set_pointers`           |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_csr_set_pointers`               |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_csc_set_pointers`               |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_ell_set_pointers`               |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_bsr_set_pointers`               |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_spmat_get_size`                 |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_spmat_get_nnz`                  |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_spmat_get_format`               |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_spmat_get_index_base`           |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_spmat_get_values`               |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_spmat_set_values`               |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_spmat_get_strided_batch`        |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_spmat_set_strided_batch`        |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_coo_set_strided_batch`          |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_csr_set_strided_batch`          |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_csc_set_strided_batch`          |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_spmat_get_attribute`            |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_spmat_set_attribute`            |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_create_dnvec_descr`             |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_create_const_dnvec_descr`       |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_destroy_dnvec_descr`            |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_dnvec_get`                      |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_dnvec_get_values`               |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_dnvec_set_values`               |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_create_dnmat_descr`             |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_create_const_dnmat_descr`       |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_destroy_dnmat_descr`            |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_dnmat_get`                      |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_dnmat_get_values`               |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_dnmat_set_values`               |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_dnmat_get_strided_batch`        |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_dnmat_set_strided_batch`        |
+-----------------------------------------------------+

Sparse Level 1 Functions
------------------------

================================================= ====== ====== ============== ==============
Function name                                     single double single complex double complex
================================================= ====== ====== ============== ==============
:cpp:func:`rocsparse_Xaxpyi() <rocsparse_saxpyi>` x      x      x              x
:cpp:func:`rocsparse_Xdoti() <rocsparse_sdoti>`   x      x      x              x
:cpp:func:`rocsparse_Xdotci() <rocsparse_cdotci>`               x              x
:cpp:func:`rocsparse_Xgthr() <rocsparse_sgthr>`   x      x      x              x
:cpp:func:`rocsparse_Xgthrz() <rocsparse_sgthrz>` x      x      x              x
:cpp:func:`rocsparse_Xroti() <rocsparse_sroti>`   x      x
:cpp:func:`rocsparse_Xsctr() <rocsparse_ssctr>`   x      x      x              x
================================================= ====== ====== ============== ==============

Sparse Level 2 Functions
------------------------

============================================================================= ====== ====== ============== ==============
Function name                                                                 single double single complex double complex
============================================================================= ====== ====== ============== ==============
:cpp:func:`rocsparse_Xbsrmv_ex_analysis() <rocsparse_sbsrmv_ex_analysis>`     x      x      x              x
:cpp:func:`rocsparse_bsrmv_ex_clear`
:cpp:func:`rocsparse_Xbsrmv_ex() <rocsparse_sbsrmv_ex>`                       x      x      x              x
:cpp:func:`rocsparse_Xbsrmv() <rocsparse_sbsrmv>`                             x      x      x              x
:cpp:func:`rocsparse_Xbsrxmv() <rocsparse_sbsrxmv>`                           x      x      x              x
:cpp:func:`rocsparse_Xbsrsv_buffer_size() <rocsparse_sbsrsv_buffer_size>`     x      x      x              x
:cpp:func:`rocsparse_Xbsrsv_analysis() <rocsparse_sbsrsv_analysis>`           x      x      x              x
:cpp:func:`rocsparse_bsrsv_zero_pivot`
:cpp:func:`rocsparse_bsrsv_clear`
:cpp:func:`rocsparse_Xbsrsv_solve() <rocsparse_sbsrsv_solve>`                 x      x      x              x
:cpp:func:`rocsparse_Xcoomv() <rocsparse_scoomv>`                             x      x      x              x
:cpp:func:`rocsparse_Xcsrmv_analysis() <rocsparse_scsrmv_analysis>`           x      x      x              x
:cpp:func:`rocsparse_csrmv_clear`
:cpp:func:`rocsparse_Xcsrmv() <rocsparse_scsrmv>`                             x      x      x              x
:cpp:func:`rocsparse_Xcsrsv_buffer_size() <rocsparse_scsrsv_buffer_size>`     x      x      x              x
:cpp:func:`rocsparse_Xcsrsv_analysis() <rocsparse_scsrsv_analysis>`           x      x      x              x
:cpp:func:`rocsparse_csrsv_zero_pivot`
:cpp:func:`rocsparse_csrsv_clear`
:cpp:func:`rocsparse_Xcsrsv_solve() <rocsparse_scsrsv_solve>`                 x      x      x              x
:cpp:func:`rocsparse_Xcsritsv_buffer_size() <rocsparse_scsritsv_buffer_size>` x      x      x              x
:cpp:func:`rocsparse_Xcsritsv_analysis() <rocsparse_scsritsv_analysis>`       x      x      x              x
:cpp:func:`rocsparse_csritsv_zero_pivot`
:cpp:func:`rocsparse_csritsv_clear`
:cpp:func:`rocsparse_Xcsritsv_solve() <rocsparse_scsritsv_solve>`             x      x      x              x
:cpp:func:`rocsparse_Xcsritsv_solve_ex() <rocsparse_scsritsv_solve_ex>`       x      x      x              x
:cpp:func:`rocsparse_Xellmv() <rocsparse_sellmv>`                             x      x      x              x
:cpp:func:`rocsparse_Xhybmv() <rocsparse_shybmv>`                             x      x      x              x
:cpp:func:`rocsparse_Xgebsrmv() <rocsparse_sgebsrmv>`                         x      x      x              x
:cpp:func:`rocsparse_Xgemvi_buffer_size() <rocsparse_sgemvi_buffer_size>`     x      x      x              x
:cpp:func:`rocsparse_Xgemvi() <rocsparse_sgemvi>`                             x      x      x              x
============================================================================= ====== ====== ============== ==============

Sparse Level 3 Functions
------------------------

========================================================================= ====== ====== ============== ==============
Function name                                                             single double single complex double complex
========================================================================= ====== ====== ============== ==============
:cpp:func:`rocsparse_Xbsrmm() <rocsparse_sbsrmm>`                         x      x      x              x
:cpp:func:`rocsparse_Xgebsrmm() <rocsparse_sgebsrmm>`                     x      x      x              x
:cpp:func:`rocsparse_Xcsrmm() <rocsparse_scsrmm>`                         x      x      x              x
:cpp:func:`rocsparse_Xcsrsm_buffer_size() <rocsparse_scsrsm_buffer_size>` x      x      x              x
:cpp:func:`rocsparse_Xcsrsm_analysis() <rocsparse_scsrsm_analysis>`       x      x      x              x
:cpp:func:`rocsparse_csrsm_zero_pivot`
:cpp:func:`rocsparse_csrsm_clear`
:cpp:func:`rocsparse_Xcsrsm_solve() <rocsparse_scsrsm_solve>`             x      x      x              x
:cpp:func:`rocsparse_Xbsrsm_buffer_size() <rocsparse_sbsrsm_buffer_size>` x      x      x              x
:cpp:func:`rocsparse_Xbsrsm_analysis() <rocsparse_sbsrsm_analysis>`       x      x      x              x
:cpp:func:`rocsparse_bsrsm_zero_pivot`
:cpp:func:`rocsparse_bsrsm_clear`
:cpp:func:`rocsparse_Xbsrsm_solve() <rocsparse_sbsrsm_solve>`             x      x      x              x
:cpp:func:`rocsparse_Xgemmi() <rocsparse_sgemmi>`                         x      x      x              x
========================================================================= ====== ====== ============== ==============

Sparse Extra Functions
----------------------

============================================================================= ====== ====== ============== ==============
Function name                                                                 single double single complex double complex
============================================================================= ====== ====== ============== ==============
:cpp:func:`rocsparse_bsrgeam_nnzb`
:cpp:func:`rocsparse_Xbsrgeam() <rocsparse_sbsrgeam>`                         x      x      x              x
:cpp:func:`rocsparse_Xbsrgemm_buffer_size() <rocsparse_sbsrgemm_buffer_size>` x      x      x              x
:cpp:func:`rocsparse_bsrgemm_nnzb`
:cpp:func:`rocsparse_Xbsrgemm() <rocsparse_sbsrgemm>`                         x      x      x              x
:cpp:func:`rocsparse_csrgeam_nnz`
:cpp:func:`rocsparse_Xcsrgeam() <rocsparse_scsrgeam>`                         x      x      x              x
:cpp:func:`rocsparse_Xcsrgemm_buffer_size() <rocsparse_scsrgemm_buffer_size>` x      x      x              x
:cpp:func:`rocsparse_csrgemm_nnz`
:cpp:func:`rocsparse_csrgemm_symbolic`
:cpp:func:`rocsparse_Xcsrgemm() <rocsparse_scsrgemm>`                         x      x      x              x
:cpp:func:`rocsparse_Xcsrgemm_numeric() <rocsparse_scsrgemm_numeric>`         x      x      x              x
============================================================================= ====== ====== ============== ==============

Preconditioner Functions
------------------------

===================================================================================================================== ====== ====== ============== ==============
Function name                                                                                                         single double single complex double complex
===================================================================================================================== ====== ====== ============== ==============
:cpp:func:`rocsparse_Xbsric0_buffer_size() <rocsparse_sbsric0_buffer_size>`                                           x      x      x              x
:cpp:func:`rocsparse_Xbsric0_analysis() <rocsparse_sbsric0_analysis>`                                                 x      x      x              x
:cpp:func:`rocsparse_bsric0_zero_pivot`
:cpp:func:`rocsparse_bsric0_clear`
:cpp:func:`rocsparse_Xbsric0() <rocsparse_sbsric0>`                                                                   x      x      x              x
:cpp:func:`rocsparse_Xbsrilu0_buffer_size() <rocsparse_sbsrilu0_buffer_size>`                                         x      x      x              x
:cpp:func:`rocsparse_Xbsrilu0_analysis() <rocsparse_sbsrilu0_analysis>`                                               x      x      x              x
:cpp:func:`rocsparse_bsrilu0_zero_pivot`
:cpp:func:`rocsparse_Xbsrilu0_numeric_boost() <rocsparse_sbsrilu0_numeric_boost>`                                     x      x      x              x
:cpp:func:`rocsparse_bsrilu0_clear`
:cpp:func:`rocsparse_Xbsrilu0() <rocsparse_sbsrilu0>`                                                                 x      x      x              x
:cpp:func:`rocsparse_Xcsric0_buffer_size() <rocsparse_scsric0_buffer_size>`                                           x      x      x              x
:cpp:func:`rocsparse_Xcsric0_analysis() <rocsparse_scsric0_analysis>`                                                 x      x      x              x
:cpp:func:`rocsparse_csric0_zero_pivot`
:cpp:func:`rocsparse_csric0_clear`
:cpp:func:`rocsparse_Xcsric0() <rocsparse_scsric0>`                                                                   x      x      x              x
:cpp:func:`rocsparse_Xcsrilu0_buffer_size() <rocsparse_scsrilu0_buffer_size>`                                         x      x      x              x
:cpp:func:`rocsparse_Xcsrilu0_numeric_boost() <rocsparse_scsrilu0_numeric_boost>`                                     x      x      x              x
:cpp:func:`rocsparse_Xcsrilu0_analysis() <rocsparse_scsrilu0_analysis>`                                               x      x      x              x
:cpp:func:`rocsparse_csrilu0_zero_pivot`
:cpp:func:`rocsparse_csrilu0_clear`
:cpp:func:`rocsparse_Xcsrilu0() <rocsparse_scsrilu0>`                                                                 x      x      x              x
:cpp:func:`rocsparse_csritilu0_buffer_size`
:cpp:func:`rocsparse_csritilu0_preprocess`
:cpp:func:`rocsparse_Xcsritilu0_compute() <rocsparse_scsritilu0_compute>`                                             x      x      x              x
:cpp:func:`rocsparse_Xcsritilu0_compute_ex() <rocsparse_scsritilu0_compute_ex>`                                       x      x      x              x
:cpp:func:`rocsparse_Xcsritilu0_history() <rocsparse_scsritilu0_history>`                                             x      x      x              x
:cpp:func:`rocsparse_Xgtsv_buffer_size() <rocsparse_sgtsv_buffer_size>`                                               x      x      x              x
:cpp:func:`rocsparse_Xgtsv() <rocsparse_sgtsv>`                                                                       x      x      x              x
:cpp:func:`rocsparse_Xgtsv_no_pivot_buffer_size() <rocsparse_sgtsv_no_pivot_buffer_size>`                             x      x      x              x
:cpp:func:`rocsparse_Xgtsv_no_pivot() <rocsparse_sgtsv_no_pivot>`                                                     x      x      x              x
:cpp:func:`rocsparse_Xgtsv_no_pivot_strided_batch_buffer_size() <rocsparse_sgtsv_no_pivot_strided_batch_buffer_size>` x      x      x              x
:cpp:func:`rocsparse_Xgtsv_no_pivot_strided_batch() <rocsparse_sgtsv_no_pivot_strided_batch>`                         x      x      x              x
:cpp:func:`rocsparse_Xgtsv_interleaved_batch_buffer_size() <rocsparse_sgtsv_interleaved_batch_buffer_size>`           x      x      x              x
:cpp:func:`rocsparse_Xgtsv_interleaved_batch() <rocsparse_sgtsv_interleaved_batch>`                                   x      x      x              x
:cpp:func:`rocsparse_Xgpsv_interleaved_batch_buffer_size() <rocsparse_sgpsv_interleaved_batch_buffer_size>`           x      x      x              x
:cpp:func:`rocsparse_Xgpsv_interleaved_batch() <rocsparse_sgpsv_interleaved_batch>`                                   x      x      x              x
===================================================================================================================== ====== ====== ============== ==============

Conversion Functions
--------------------

========================================================================================================================= ====== ====== ============== ==============
Function name                                                                                                             single double single complex double complex
========================================================================================================================= ====== ====== ============== ==============
:cpp:func:`rocsparse_csr2coo`
:cpp:func:`rocsparse_csr2csc_buffer_size`
:cpp:func:`rocsparse_Xcsr2csc() <rocsparse_scsr2csc>`                                                                     x      x      x              x
:cpp:func:`rocsparse_Xgebsr2gebsc_buffer_size() <rocsparse_sgebsr2gebsc_buffer_size>`                                     x      x      x              x
:cpp:func:`rocsparse_Xgebsr2gebsc() <rocsparse_sgebsr2gebsc>`                                                             x      x      x              x
:cpp:func:`rocsparse_csr2ell_width`
:cpp:func:`rocsparse_Xcsr2ell() <rocsparse_scsr2ell>`                                                                     x      x      x              x
:cpp:func:`rocsparse_Xcsr2hyb() <rocsparse_scsr2hyb>`                                                                     x      x      x              x
:cpp:func:`rocsparse_csr2bsr_nnz`
:cpp:func:`rocsparse_Xcsr2bsr() <rocsparse_scsr2bsr>`                                                                     x      x      x              x
:cpp:func:`rocsparse_csr2gebsr_nnz`
:cpp:func:`rocsparse_Xcsr2gebsr_buffer_size() <rocsparse_scsr2gebsr_buffer_size>`                                         x      x      x              x
:cpp:func:`rocsparse_Xcsr2gebsr() <rocsparse_scsr2gebsr>`                                                                 x      x      x              x
:cpp:func:`rocsparse_coo2csr`
:cpp:func:`rocsparse_ell2csr_nnz`
:cpp:func:`rocsparse_Xell2csr() <rocsparse_sell2csr>`                                                                     x      x      x              x
:cpp:func:`rocsparse_hyb2csr_buffer_size`
:cpp:func:`rocsparse_Xhyb2csr() <rocsparse_shyb2csr>`                                                                     x      x      x              x
:cpp:func:`rocsparse_Xbsr2csr() <rocsparse_sbsr2csr>`                                                                     x      x      x              x
:cpp:func:`rocsparse_Xgebsr2csr() <rocsparse_sgebsr2csr>`                                                                 x      x      x              x
:cpp:func:`rocsparse_Xgebsr2gebsr_buffer_size() <rocsparse_sgebsr2gebsr_buffer_size>`                                     x      x      x              x
:cpp:func:`rocsparse_gebsr2gebsr_nnz()`
:cpp:func:`rocsparse_Xgebsr2gebsr() <rocsparse_sgebsr2gebsr>`                                                             x      x      x              x
:cpp:func:`rocsparse_Xcsr2csr_compress() <rocsparse_scsr2csr_compress>`                                                   x      x      x              x
:cpp:func:`rocsparse_create_identity_permutation`
:cpp:func:`rocsparse_inverse_permutation`
:cpp:func:`rocsparse_cscsort_buffer_size`
:cpp:func:`rocsparse_cscsort`
:cpp:func:`rocsparse_csrsort_buffer_size`
:cpp:func:`rocsparse_csrsort`
:cpp:func:`rocsparse_coosort_buffer_size`
:cpp:func:`rocsparse_coosort_by_row`
:cpp:func:`rocsparse_coosort_by_column`
:cpp:func:`rocsparse_Xdense2csr() <rocsparse_sdense2csr>`                                                                 x      x      x              x
:cpp:func:`rocsparse_Xdense2csc() <rocsparse_sdense2csc>`                                                                 x      x      x              x
:cpp:func:`rocsparse_Xdense2coo() <rocsparse_sdense2coo>`                                                                 x      x      x              x
:cpp:func:`rocsparse_Xcsr2dense() <rocsparse_scsr2dense>`                                                                 x      x      x              x
:cpp:func:`rocsparse_Xcsc2dense() <rocsparse_scsc2dense>`                                                                 x      x      x              x
:cpp:func:`rocsparse_Xcoo2dense() <rocsparse_scoo2dense>`                                                                 x      x      x              x
:cpp:func:`rocsparse_Xnnz_compress() <rocsparse_snnz_compress>`                                                           x      x      x              x
:cpp:func:`rocsparse_Xnnz() <rocsparse_snnz>`                                                                             x      x      x              x
:cpp:func:`rocsparse_Xprune_dense2csr_buffer_size() <rocsparse_sprune_dense2csr_buffer_size>`                             x      x
:cpp:func:`rocsparse_Xprune_dense2csr_nnz() <rocsparse_sprune_dense2csr_nnz>`                                             x      x
:cpp:func:`rocsparse_Xprune_dense2csr() <rocsparse_sprune_dense2csr>`                                                     x      x
:cpp:func:`rocsparse_Xprune_csr2csr_buffer_size() <rocsparse_sprune_csr2csr_buffer_size>`                                 x      x
:cpp:func:`rocsparse_Xprune_csr2csr_nnz() <rocsparse_sprune_csr2csr_nnz>`                                                 x      x
:cpp:func:`rocsparse_Xprune_csr2csr() <rocsparse_sprune_csr2csr>`                                                         x      x
:cpp:func:`rocsparse_Xprune_dense2csr_by_percentage_buffer_size() <rocsparse_sprune_dense2csr_by_percentage_buffer_size>` x      x
:cpp:func:`rocsparse_Xprune_dense2csr_nnz_by_percentage() <rocsparse_sprune_dense2csr_nnz_by_percentage>`                 x      x
:cpp:func:`rocsparse_Xprune_dense2csr_by_percentage() <rocsparse_sprune_dense2csr_by_percentage>`                         x      x
:cpp:func:`rocsparse_Xprune_csr2csr_by_percentage_buffer_size() <rocsparse_sprune_csr2csr_by_percentage_buffer_size>`     x      x
:cpp:func:`rocsparse_Xprune_csr2csr_nnz_by_percentage() <rocsparse_sprune_csr2csr_nnz_by_percentage>`                     x      x
:cpp:func:`rocsparse_Xprune_csr2csr_by_percentage() <rocsparse_sprune_csr2csr_by_percentage>`                             x      x
:cpp:func:`rocsparse_Xbsrpad_value() <rocsparse_sbsrpad_value>`                                                           x      x      x              x
========================================================================================================================= ====== ====== ============== ==============

Reordering Functions
--------------------

======================================================= ====== ====== ============== ==============
Function name                                           single double single complex double complex
======================================================= ====== ====== ============== ==============
:cpp:func:`rocsparse_Xcsrcolor() <rocsparse_scsrcolor>` x      x      x              x
======================================================= ====== ====== ============== ==============

Utility Functions
-----------------

=================================================================================================== ====== ====== ============== ==============
Function name                                                                                       single double single complex double complex
=================================================================================================== ====== ====== ============== ==============
:cpp:func:`rocsparse_Xcheck_matrix_csr_buffer_size() <rocsparse_scheck_matrix_csr_buffer_size>`     x      x      x              x
:cpp:func:`rocsparse_Xcheck_matrix_csr() <rocsparse_scheck_matrix_csr>`                             x      x      x              x
:cpp:func:`rocsparse_Xcheck_matrix_csc_buffer_size() <rocsparse_scheck_matrix_csc_buffer_size>`     x      x      x              x
:cpp:func:`rocsparse_Xcheck_matrix_csc() <rocsparse_scheck_matrix_csc>`                             x      x      x              x
:cpp:func:`rocsparse_Xcheck_matrix_coo_buffer_size() <rocsparse_scheck_matrix_coo_buffer_size>`     x      x      x              x
:cpp:func:`rocsparse_Xcheck_matrix_coo() <rocsparse_scheck_matrix_coo>`                             x      x      x              x
:cpp:func:`rocsparse_Xcheck_matrix_gebsr_buffer_size() <rocsparse_scheck_matrix_gebsr_buffer_size>` x      x      x              x
:cpp:func:`rocsparse_Xcheck_matrix_gebsr() <rocsparse_scheck_matrix_gebsr>`                         x      x      x              x
:cpp:func:`rocsparse_Xcheck_matrix_gebsc_buffer_size() <rocsparse_scheck_matrix_gebsc_buffer_size>` x      x      x              x
:cpp:func:`rocsparse_Xcheck_matrix_gebsc() <rocsparse_scheck_matrix_gebsc>`                         x      x      x              x
:cpp:func:`rocsparse_Xcheck_matrix_ell_buffer_size() <rocsparse_scheck_matrix_ell_buffer_size>`     x      x      x              x
:cpp:func:`rocsparse_Xcheck_matrix_ell() <rocsparse_scheck_matrix_ell>`                             x      x      x              x
:cpp:func:`rocsparse_check_matrix_hyb_buffer_size() <rocsparse_check_matrix_hyb_buffer_size>`       x      x      x              x
:cpp:func:`rocsparse_check_matrix_hyb() <rocsparse_check_matrix_hyb>`                               x      x      x              x
=================================================================================================== ====== ====== ============== ==============

Sparse Generic Functions
------------------------

The generic API allows different combinations of data types and compute types to be used. See the specific routine 
documentation for details on what data types and compute types are supported.

+-----------------------------------------------------+
|Function name                                        |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_axpby()`                        |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_gather()`                       |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_scatter()`                      |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_rot()`                          |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_spvv()`                         |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_sparse_to_dense()`              |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_dense_to_sparse()`              |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_spmv()`                         |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_spmv_ex()`                      |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_spsv()`                         |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_spmm()`                         |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_spsm()`                         |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_spgemm()`                       |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_sddmm_buffer_size()`            |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_sddmm_preprocess()`             |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_sddmm()`                        |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_sparse_to_sparse_buffer_size()` |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_sparse_to_sparse()`             |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_extract_buffer_size()`          |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_extract_nnz()`                  |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_extract()`                      |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_check_spmat()`                  |
+-----------------------------------------------------+
|:cpp:func:`rocsparse_spitsv()`                       |
+-----------------------------------------------------+