owned this note changed 7 hours ago
Published Linked with GitHub

Video call link: https://meet.google.com/jrp-qgcf-nxh
If not working: https://colgate.zoom.us/j/276854695


Monday March 31, 2025

Attendees:

PRs Ready for Review:

  • Ready for review/merge (*approved already):

    • 22647 validateaxis
    • 22527 * add returns sections to construct.py function
    • 22169 refactor CSC to use CSR sparsetools
  • Think about:

    • 21925 broadcasting of _binop at C++ level
      • row broadcasting is easy. col requires a few differences
      • do we put col broadcasting into the existing functions, or as a separate func?
      • if we split col broadcasting, do we support both general and canonical for this case?
    • 21743 test_base.py split.  2 issues:
      • right now Test64bit sparray tests are run when "slow" tests are run. spmatrix tests always.
      • Test64bit is hard to separate from the rest of test_base.py when testing
      • Q1: should we turn on sparray beyond "slow" tests? should we change spmatrix at all?
      • Q2: is it worth splitting out Test64Bit  to a separate module to allow partial testing?
    • 19984 binop general/canonical discussion
      - simple heuristic to pick general or sort+canonical
      - or docs to push users to choose

Monday March 17, 2025

Attendees: CJ, Stefan

PRs Ready for Review:

  • Ready for review/merge (*approved already):

    • 22647 validateaxis
    • 22535 * add returns sections to construct.py function
    • 22169 refactor CSC to use CSR sparsetools
  • Read through (easy?)

    • 22535 update roadmap sparse
  • Think about:

    • 21925 broadcasting of _binop at C++ level
      • row broadcasting is easy. col requires a few differences
      • do we put col broadcasting into the existing functions, or as a separate func?
      • if we split col broadcasting, do we support both general and canonical for this case?
    • 21743 test_base.py split.  2 issues:
      • right now Test64bit sparray tests are run when "slow" tests are run. spmatrix tests always.
      • Test64bit is hard to separate from the rest of test_base.py when testing
      • Q1: should we turn on sparray beyond "slow" tests? should we change spmatrix at all?
      • Q2: is it worth splitting out Test64Bit  to a separate module to allow partial testing?
    • 19984 binop general/canonical discussion
      - simple heuristic to pick general or sort+canonical
      - or docs to push users to choose

Monday March 3, 2025

Attendees: Dan, CJ

Active PRs and Issues


Monday February 17, 2025

Attendees: CJ, Dan

News:

PR discussions, Topics/Questions:

  • nD features:
    • PR 22540: nD binop split from broadcasting
      • coo copies python code for binopt & minmax from _compressed.py and _data.py
      • minmax calls mixin methods without subclassing. works, but why not subclass?
    • PR 21613: broadcasting with copies
    • Currently nD-add/sub creates duplicates without calling sum_duplicates
    • Q: should CSR support nD with an axis arg? Or call it something other than CSR? (1D currently uses the name CSR)
  • Q: How to reliably time binop sparsetools?
    • Issue 19984: predictably slow "add"
      • Considering general vs sort & canonical, general is predictably slower for some parameter regions. (most of the time it is faster)
      • Posts from commit 618c4ea and #1385 (comment) suggest that nbell put general back in due to an incorrect timing reported on the issue.
      • Need to check whether sorting followed by canonical is faster than general. My timing comment shows that the general method is usually faster for unsorted indices. But some conditions make it slower than sort & canonical. The conditions seem to be large M with small nnz. But large M suggests should switch to CSC format.
    • PR 21925: broadcasting without copy will need timing for this
      • Currently general & canonical
      • broadcast indptr can be easily included
      • broadcast indices could be separate func or separated in an if clause.
      • C++ changes: PR 21925 csr.h
    • PR 22169: CSC binop via CSR and _swap Timing? (no difference? but how to check that)

Follow-up items for 1.16

  • dont copy when broadcasting
  • support int32 index arrays for nD
  • improve coo_todense_nd performance?
  • avoid assigning to self? Maybe assign self/other -> A/B
  • choose priority between CSR nD and broadcasting w/o copy

Monday December 9, 2024

Attendees: Dan, CJ, Stéfan

News:

Follow-up items for 1.16

  • dont copy when broadcasting
  • support int32 index arrays for nD
  • improve csr_todense_nd performance??
  • avoid assigning to self? Maybe assign self/other -> A/B

PR Discussion:

  • Try Broadcasting in sparsetools.
  • nD elementwise mixed with broadcasting
    • PR 21613
    • lots here. should we split? or try to fix/merge/follow-up
    • broadcasting works, but copies data
    • coo copies binopt & minmax from _compressed
    • minmax calls mixin methods without subclass (which might be ok?)

sparray migration PR Tracking:

Conversion of SciPy subpackages to sparray

  • sparray migration: csgraph docs: PR 21873 merged
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →
  • sparray migration: csgraph code: PR 21779 merged
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →
  • sparray migration: linalg: PR 21710 merged
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →
  • sparray migration: optimize: 1st pass PR 21785 merged
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →
  • sparray migration: io: PR 21905
  • scikit-image
  • sparray migration optimize pass 2 in progress.
  • pyamg
  • scikit-sparse
  • cvxpy
  • sklearn

Monday November 25, 2024

Attendees: Dan, CJ

News:

Topics Discussion:

  • For v1.15
  • Broadcasting in sparsetools.
    • two PRs. not trying to do views. Just changing loop control with B/C in mind.
  • Other nD topics:
    • 32-bit indexing for COO nd

PR Review Discussions:

sparray migration PR Tracking:

Conversion of SciPy subpackages to sparray

  • sparray migration: csgraph docs: PR 21873 merged
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →
  • sparray migration: csgraph code: PR 21779 merged
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →
  • sparray migration: linalg: PR 21710 merged
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →
  • sparray migration: optimize: 1st pass PR 21785 merged
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →
  • sparray migration: io: PR Requires new keyword arg to indicate sparray/spmatrix. Can we go over the deprecation plan to see if it looks OK?
  • sparray migration optimize pass 2 in progress. waiting for HIGHS library to be setup. That's in. linprog still not removed.
  • PR 21799: is_sptriangular function merged
    Image Not Showing Possible Reasons
    • The image file may be corrupted
    • The server hosting the image is unavailable
    • The image path is incorrect
    • The image format is not supported
    Learn More →

More minutes in the 2024 hackmd file

More minutes in the 2023 hackmd file

Select a repo