Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

[Tracker] Implement all numpy.* APIs in CuPy #6078

Copy link
Copy link
@kmaehashi

Description

@kmaehashi
Issue body actions

Implement GPU version of numpy.* functions in cupy.* namespace.

This is a tracker issue that lists the remaining numpy.* APIs (see also: comparison table). I've categorized them based on difficulty so that new contributors can pick the right task. Your contribution is highly welcomed and appreciated!

List of APIs

Very Easy

Easy

Medium

Medium to Hard

Low priority

Iterator functions

  • numpy.ndenumerate
  • numpy.nditer
  • numpy.nested_iters

Help functions

  • numpy.info
  • numpy.lookfor
  • numpy.source
  • numpy.show_runtime (needs a design decision: we currently provide runtime info via cupy.show_config)

Internal functions

  • numpy.deprecate
  • numpy.deprecate_with_doc

Dtype APIs - need to filter types unsupported by CuPy

  • numpy.maximum_sctype
  • numpy.cast (undocumented API) (hint: see numpy/core/numerictypes.py)
  • numpy.typecodes (undocumented API)
  • numpy.sctypeDict (undocumented API)
  • numpy.sctypes (undocumented API)
  • numpy.nbytes (undocumented API)

Rarely used APIs

Steps to Contribute

Note: You will need a GPU environment to develop CuPy.

  1. Fork and star ⭐ the CuPy repository 😉

  2. Pick a function you want to work on. Check out the NumPy API Reference to understand what should be implemented. Please search for pull requests before start working on, somebody may have opened a PR already.

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

  4. Implement test code.

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

  6. Submit a pull-request to the main branch. (example: Implement cupy.linalg.cond #9140)

See also:

Reactions are currently unavailable

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

      Morty Proxy This is a proxified and sanitized view of the page, visit original site.