Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Matrix optimizations #42

Open
5 tasks
tbenthompson opened this issue Aug 6, 2020 · 1 comment
Open
5 tasks

Matrix optimizations #42

tbenthompson opened this issue Aug 6, 2020 · 1 comment
Labels

Comments

@tbenthompson
Copy link
Collaborator

tbenthompson commented Aug 6, 2020

  • 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?
@tbenthompson tbenthompson self-assigned this Aug 6, 2020
@tbenthompson

This comment has been minimized.

@tbenthompson tbenthompson changed the title Add output array as an optional argument to dot/transpose_dot/sandwich. Matrix optimizations Aug 11, 2020
@tbenthompson tbenthompson removed their assignment Sep 29, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant