Learning Chip
Learning Chip
> I started implementing a benchmark, but got some errors and gave up. Thanks for trying. What error do you get? (and from what code?) I may submit a PR...
> You could also take it up with the DaCe devs Issue opened: spcl/dace#669
This `rs_direct_interpolation_pass2` function is templated and should take complex arrays as well? So the `TypeError` comes from the pybind11 interface? https://github.com/pyamg/pyamg/blob/1fd1ef6915969ebd24cf16cf6b9532644e0e0e23/pyamg/amg_core/ruge_stuben.h#L721-L733
A breakdown: ```python import pyamg A = pyamg.gallery.gauge_laplacian(100) S = pyamg.strength.classical_strength_of_connection(A, norm='abs') # works, although norm='min' requires real-number splitting = pyamg.classical.classical.split.RS(S) # works, since S is real pyamg.classical.interpolate.direct_interpolation(A, S, splitting)...
`rs_direct_interpolation_pass2` contains comparisons to zero (`Ax[jj] < 0`) which is undefined for complex numbers. Does it make sense to use real part for comparison while keeping the rest of complex...
Not sure if relevant -- mlir-npcomp (https://github.com/llvm/mlir-npcomp) does the conversion of NumPy -> MLIR, but it doesn't feel very mature yet.
@rgommers Thanks for this useful summary. Do you know if SciPy has any discussions/plans similar to https://github.com/scikit-learn/scikit-learn/pull/16574 ? There are several efforts reimplementing SciPy: - `cupyx.scipy`: https://docs.cupy.dev/en/stable/reference/scipy.html - `jax.scipy`: https://jax.readthedocs.io/en/latest/jax.scipy.html...
@rgommers Thanks for the replies. Regarding sparse matrix and its operations, I feel that PyTorch has decent support -- see [pytorch_sparse](https://github.com/rusty1s/pytorch_sparse) and [pytorch_scatter](https://github.com/rusty1s/pytorch_scatter), which are used by the [pytorch_geometric](https://github.com/rusty1s/pytorch_geometric) GNN...
> The third-party implementations are even more incomplete I believe. This is exactly the reason why I bring up the third party `torch_scatter` -- it has [Scatter](https://pytorch-scatter.readthedocs.io/en/latest/functions/scatter.html), [Segment COO](https://pytorch-scatter.readthedocs.io/en/latest/functions/segment_coo.html), and...
> PyData Sparse has the right API for this. I totally agree that [Pydata Sparse API](https://sparse.pydata.org/en/stable/generated/sparse.html) is most consistent with `numpy.ndarray` semantics. However, from my 8+ years of numerical computing...