What's Changed * Support sparse element-wise multiplication in `SparseTensor` via `sparse_mat1 * sparse_mat2` (https://github.com/rusty1s/pytorch_sparse/pull/323) * Fix gradient computation in `to_symmetric` (https://github.com/rusty1s/pytorch_sparse/pull/327) * Fix empty edge indices handling (https://github.com/rusty1s/pytorch_sparse/pull/332) * Add `mps` Apple silicon GPU Acceleration support (https://github.com/rusty1s/pytorch_sparse/pull/335) * Fix shape of `node_weight` in `metis` computation (https://github.com/rusty1s/pytorch_sparse/pull/342) * Add PyTorch 2.1.0 support (https://github.com/rusty1s/pytorch_sparse/pull/344)
New Contributors * AndreasBergmeister made their first contribution in https://github.com/rusty1s/pytorch_sparse/pull/323 * ezyang made their first contribution in https://github.com/rusty1s/pytorch_sparse/pull/325 * jamesmyatt made their first contribution in https://github.com/rusty1s/pytorch_sparse/pull/330 * AgarwalSaurav made their first contribution in https://github.com/rusty1s/pytorch_sparse/pull/331 * NripeshN made their first contribution in https://github.com/rusty1s/pytorch_sparse/pull/335
* PyTorch 2.0 support (317) * Integrated faster `index_sort` in case `pyg-lib` is installed as well (306) * Added a `balance_edge` option to the METIS graph partitioning algorithm (309) * Added `SparseTensor.to_torch_sparse_csc_tensor` functionality (319)
0.6.16
* Fix `spspmm` on newer CUDA versions/GPUs * PyTorch 1.13 support * `torch.bfloat16` support in `spmm` * Use faster hash-map routine in CPP code paths
0.6.15
* Temporal sampling is now correctly performed in disjoint mode (267) * Replace `std::unordered_map` with `phmap::flat_hash_map` for faster sampling (266) * Neighborhood sampling on heterogeneous graphs is now fully-deterministic (265)
0.6.14
* Internal C++ method for sampling neighbors based on temporal constraints (202, 225, 226) * Sampling operators now respect `torch.manual_seed` (217)
0.6.13
* `SparseTensor`: `__eq__` functionality * `SparseTensor`: `add` functionality of two sparse matrices (177) * `SparseTensor`: `to_torch_csr_tensor` and `from_torch_csr_tensor` functionality * `SparseTensor`: Allow indexing via `np.array` (194) * `SparseTensor`: Skip unnecessary assertions and enable non-blocking data transfers (195) * Allow loading of CPU wheels in a PyTorch CUDA installation