Skip to content

[RFC] Introduce a configuration mechanism #2436

@hvy

Description

@hvy

There is no mechanism in CuPy to give the user (thread local) control over various behaviors in CuPy e.g. how to trade off performance vs debuggability/NumPy compatibility on a routine-level. This is not an issue for most of the routines, but there are cases where this matters.

  1. Allow synchronous CUDA kernel calls to report proper errors (e.g. check ndarray values or device status codes to report errors similar to NumPy) instead of writing special values or have UB. Missing error checks for cuSOLVER calls #2414
  2. Allow slower execution but deterministic results (e.g. CUB).
  3. NumPy fallback mode (Cc. @asi1024)

How about introducing some configuration mechanism to CuPy? This would incur some overhead to existing code but would make CuPy more usable.

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