Skip to content

Assumptions in abstract sparse array interface #648

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/GenericSparseArrays.jl#8

Related: JuliaGPU/CUDA.jl#2942

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions