-
-
Notifications
You must be signed in to change notification settings - Fork 856
GSoC 2021 Project Ideas
CuPy covers many of the functions that are provided by NumPy/SciPy, but not all of them. Review the functions that CuPy doesn't cover yet, and implement them in CuPy to use the full speed of the GPU.
@takagi
Difficulty: Easy to Medium
Requirements:
- Python 3
- Experience in NumPy/SciPy API
- Understanding of the CUDA semantics (e.g., use of CUDA Toolkit APIs, host/device synchronization)
We will have a student approved for GSoC. It's because of GSoC's scheme where students are paid stipends. Of course, if you are interested in contributing to opensources (as opposed to GSoC itsef), it's highly welcome. We can discuss your idea deeper than usual with your proposal.
Look at the NumPy/SciPy functions that are not yet implemented in CuPy, and prioritize that list by which functions you think will be most helpful and used.
- https://docs.cupy.dev/en/stable/reference/comparison.html
- https://github.com/cupy/cupy/issues?q=is%3Aopen+is%3Aissue+label%3Acontribution-welcome
We expect you to implement the routines in a way that they take advantage of the GPU compute model rather than just copy-pasting NumPy source code. Routines have to be properly documented and with the required tests. Furthermore, we also request to do a performance comparison with NumPy using cupyx.time.repeat
to avoid merging poorly-performant routines. We expect quality over quantity.
Your contribution will help everyone in the Python/CUDA ecosystem as CuPy being one of the important building blocks for major projects like [NVIDIA RAPIDS], [spaCy], and more. You will also get in-depth knowledge of NumPy/SciPy functionality and specifications.
On the student registration form, please prefix your title with CuPy: XXXXXXXXXXXX
and choose N/A
for NumFOCUS proposal tag, which has only ten slots and CuPy is not listed on it. It's there just for filtering proposals easier.