Skip to content

Assumptions in abstract sparse array interface #648

@gdalle

Description

@gdalle

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
    • CUDA: no
    • AMDGPU: no
  • 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/DeviceSparseArrays.jl#8

Related: JuliaGPU/CUDA.jl#2942

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions