Repository navigation
Move suitesparse-specific operators to .ss namespace (and deprecate current location). - #366
Conversation
|
I would like us to explore whether we can come up with good vanilla recipes for the aggregators |
|
Before we merge or release this, I want to verify that we can create UDFs with numba to create all the operators we may need in order to support other backends. This exercise will also be useful for #298. |
|
Alright, I think this is ready if anybody wants to skim through it (CC @jim22k) |
|
A surprising amount of changes needed, but I agree this will help with supporting multiple backends. |
Right?!
Yup. It'll be particularly interesting to support a non-cffi backend. Still plenty to do to get there. Thanks for reviewing @jim22k! Merging. |
Closes #364
Edit: also closes #356
I kinda wish we had done this from the very beginning to better enable support for different implementations.
So far I only moved "positional" operators such as
positioniandfirstj, b/c I think we can probably make UDFs for the rest.To enable deprecations, the current code is somewhat complicated. We'll be able to clean it up again once the deprecated methods are removed in eight-ish months.
This ended up required quite a few changes. I relied on having good test coverage to drive what changes need made. It's very possible I missed some corner case somewhere 🤷♂️
I think it would be nice if the GraphBLAS spec had positional operators in some way, but it's TBD whether they should be as e.g.
BinaryOporIndexBinaryOpand maybeIndexSemiring.