GPU/Parallelism support
According to the paper: https://arxiv.org/abs/2001.00532
Hi @hameerabbasi ! Do we have any progress on parallelism?
Hi! This will take quite a while; it's a large project. It's on the back burner for now.
If you would like parallelism today, please consider using Dask to wrap PyData/Sparse arrays. That works.
Hi! This will take quite a while; it's a large project. It's on the back burner for now.
If you would like parallelism today, please consider using Dask to wrap PyData/Sparse arrays. That works.
Thank you @hameerabbasi !
@hameerabbasi Sir I think this should also help.
I saw the roadmap and it is mentioned that cupy integration will follow. Do you plan a straightforward integration by replacing straightforward API calls? Or do you have another plan in mind? I am asking because cupy integration would be something I am very much looking forward.
@alexandrupaler It isn't as simple as that as we also use Numba to do some algorithmic stuff, and translating that to the GPU is non-trivial.
I understand. The particular method that would be great to have with cupy support is https://github.com/pydata/sparse/blob/d33bf5f4693fbe8bb26c5491a900ea41ac8a2d67/sparse/_common.py#L89 Is at any point numba called behind the scenes there? The documentation mentions that it is mostly similar to the numpy original.
Yes, the tensordot is converted to a 2D dot which is then executed via Numba.
Would using NUMBA_DISABLE_JIT and enabling CuPy through a flag not be a (temporary) solution?