To achieve better parallelization of our applications, it would be nice to include contiguous tensors in bsparse:
The first two dimensions allow any sparsity format like csr, coo, dia. The sparsity in the higher dimensions is constant with respect to the first dimensions which can be understood as multiple sparse matrices with the same sparsity pattern. This would result in that the datastructure of csr/coo becomes 1*n dimensional and once the corresponding index pointer and indices. Similarly BSR would hold tensors instead of single 2D blocks. The accessing of the third dimension could be handelt in the following way A[i, j, k, ...] where i,j are the indices in the 2D sparse space and k in the first higher dimension.
To achieve better parallelization of our applications, it would be nice to include contiguous tensors in bsparse:
The first two dimensions allow any sparsity format like csr, coo, dia. The sparsity in the higher dimensions is constant with respect to the first dimensions which can be understood as multiple sparse matrices with the same sparsity pattern. This would result in that the datastructure of csr/coo becomes 1*n dimensional and once the corresponding index pointer and indices. Similarly BSR would hold tensors instead of single 2D blocks. The accessing of the third dimension could be handelt in the following way A[i, j, k, ...] where i,j are the indices in the 2D sparse space and k in the first higher dimension.