ELL (ELLPACK)
E839062
ELL (ELLPACK) is a sparse matrix storage format that stores each row with a fixed number of nonzero elements, enabling efficient and regular memory access patterns on parallel architectures like GPUs.
Statements (46)
| Predicate | Object |
|---|---|
| instanceOf |
data structure
ⓘ
matrix representation ⓘ sparse matrix storage format ⓘ |
| advantageOver | CSR for regular GPU SpMV due to more regular memory access ⓘ |
| alsoKnownAs |
ELL format
ⓘ
ELLPACK sparse format ⓘ |
| comparedTo |
COO (Coordinate) format
ⓘ
CSR (Compressed Sparse Row) format ⓘ |
| componentOf | hybrid sparse formats such as HYB (ELL+COO) ⓘ |
| dataStored |
column indices of nonzero values
ⓘ
nonzero values ⓘ |
| designedFor | efficient parallel sparse matrix-vector multiplication ⓘ |
| disadvantageComparedTo | CSR for highly irregular sparsity patterns ⓘ |
| fullName | ELLPACK NERFINISHED ⓘ |
| hasProperty |
best suited for matrices with nearly uniform number of nonzeros per row
ⓘ
each thread can process one row independently ⓘ enables coalesced memory accesses on GPUs ⓘ fixed-stride access pattern ⓘ good cache utilization for regular sparsity patterns ⓘ indexing typically uses (row, k) where k is position within fixed row length ⓘ inefficient for matrices with highly variable row lengths ⓘ may incur storage overhead due to padding ⓘ memory layout is typically column-major for the ELL arrays ⓘ no per-row pointer array is required ⓘ often used in GPU-accelerated linear algebra libraries ⓘ padding overhead increases with row length imbalance ⓘ row length equals maximum number of nonzeros in any row ⓘ rows are padded with zeros or dummy entries to a uniform length ⓘ simple indexing arithmetic ⓘ stores each matrix row with a fixed number of nonzero entries ⓘ supports efficient vectorized access across rows ⓘ supports straightforward parallelization over rows ⓘ uses regular memory access patterns ⓘ uses two main arrays: values and column indices ⓘ well-suited for GPU architectures ⓘ well-suited for SIMD architectures ⓘ well-suited for many-core processors ⓘ |
| originField | numerical linear algebra ⓘ |
| requires | knowledge of maximum nonzeros per row at construction time ⓘ |
| usedFor |
SpMV
NERFINISHED
ⓘ
sparse matrix-vector multiplication ⓘ storing sparse matrices ⓘ |
| usedIn |
GPU computing
ⓘ
high-performance computing ⓘ iterative solvers for sparse linear systems ⓘ scientific computing ⓘ |
Referenced by (1)
Full triples — surface form annotated when it differs from this entity's canonical label.