To allow conversion between the ELL format and other SpMV formats (and vice versa), we require assembleStorage and disassembleStorage methods. The assembleStorage method will take input locations (i, j) and non-zero (val) values and map them into the ELL format. The disassembleStorage method will do the inverse, that is, take the ELL fomrat and convert it to locations (i, j) and non-zero (val) values.
Tasks:
[ ] Define two arrays: colIdx and value
[ ] Iterate through all non-zero values in original (COO) format and group by rows (i)
[ ] Pad rows so each row is a consistent size
[ ] Store the padded rows in column-major order into colIdx and value arrays (ELL format complete)
[ ] Define three arrays: I, J, val
[ ] Take ELL format and iterate through all colIdx values
[ ] For each row i, get colIdx j and values and append each one to I, J, val arrays
Definition of done:
This issue is considered done when the ELL assembleStorage and disassembleStorage tests all pass.
Description:
To allow conversion between the ELL format and other SpMV formats (and vice versa), we require assembleStorage and disassembleStorage methods. The assembleStorage method will take input locations (i, j) and non-zero (val) values and map them into the ELL format. The disassembleStorage method will do the inverse, that is, take the ELL fomrat and convert it to locations (i, j) and non-zero (val) values.
Tasks:
Definition of done:
This issue is considered done when the ELL assembleStorage and disassembleStorage tests all pass.