Skip to content

Matrix optimizations #42

@tbenthompson

Description

  • 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
    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