To fully harmonize formats, we need to specify:
- In CSC/CSR, whether the indices are sorted or not within each column/row
- CUDA: not necessarily
- AMDGPU: yes
- In COO, whether the coefficients are sorted and how
- CUDA: sorted by row but not necessarily by column inside each row
- AMDGPU: sorted by row and then by column inside each row
- In all formats, whether index duplicates are allowed
- Whether the interpretation of BSR is the same (this seems like a spot where backend variation is expected)
If we go for the strict option and the CUDA input doesn't satisfy the sorting assumptions, we need to error or perform a sorting step.
Useful table with links to backend docs: albertomercurio/GenericSparseArrays.jl#8
Related: JuliaGPU/CUDA.jl#2942
To fully harmonize formats, we need to specify:
If we go for the strict option and the CUDA input doesn't satisfy the sorting assumptions, we need to error or perform a sorting step.
Useful table with links to backend docs: albertomercurio/GenericSparseArrays.jl#8
Related: JuliaGPU/CUDA.jl#2942