Skip to content

Matrix optimizations #42

@tbenthompson

Description

@tbenthompson
  • Add to the benchmark suite: problems with mild and severe row restrictions, problems with mild and severe column restrictions.
  • Add exceptions everywhere for when cols is None or rows is None.
  • Add output array as an optional argument to dot/transpose_dot/sandwich. This will be useful for avoiding unnecessary allocations. It will solve High memory usage for split matrix dot and transpose dot #25 and will enable some improvements in speed, particularly for SplitMatrix.dot which is allocating a new output array for each submatrix. After the optimization, SplitMatrix will only need one output array instead of len(matrices). Relatedly (complete now): Support an output array parameter. flatironinstitute/sparse_dot#9
  • Cythonize row and column limiting for categorical sandwiches (currently just have rows)
  • Think about reducing duplication across different implementations that differ based on whether rows or cols are restricted: Reduce duplication in the Cython/C++ for sandwich and dot products. #5 -- is there some inspiration that would come from thinking about the restrictions as sparse matrices?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions