Skip to content

[Tracker] Implement all scipy.* APIs in CuPy #6324

@kmaehashi

Description

@kmaehashi

Implement GPU version of scipy.* functions in cupyx.scipy.* namespace.

This is a tracker issue that summarizes the implementation status of each SciPy public module in CuPy. See the comparison table for details.

Legends

  • 🥚 Module not yet available in CuPy.
  • 🐥 Module available in CuPy but coverage needs improvement.
  • :shipit: Module available in CuPy and major features are implemented (may still have a few unimplemented APIs).
  • ❌ Out of scope.

List of Modules

Note: Several modules in SciPy such as scipy.cluster.hierarchy accepts CuPy ndarrays as inputs through the Array API standard.

Starter Task

If you are new to CuPy and wondering where to start, here are some good first things to try. They are relatively simple and independent.

Steps to Contribute

  1. Fork and star ⭐ the CuPy repository 😉

  2. Pick a function you want to work on from any of the modules listed above. You can find the function in the SciPy API Reference to understand what should be implemented. If you want to work on new modules (🥚), first discuss with us on this issue.

  3. Implement a function in your branch. If you need help, join Gitter or just ask for help in this issue.

  4. Don't forget to write a test code!

  5. Build CuPy and run tests to confirm that the function runs fine:
    pip install -e . && pytest tests/cupyx_tests/scipy_tests/PATH_TO_YOUR_TEST
    See the Contribution Guide for details.

  6. Submit a pull-request to the main branch.

Note that you will need a GPU environment to develop CuPy.

See also: NumPy API Tracker Issue #6078

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions