Skip to content

Examine bumping cuvs-java to a minimum of Java 22 #1066

@ChrisHegarty

Description

@ChrisHegarty

This GitHub issue has been opened to initiate a discussion about raising the minimum required Java version for cuvs-java.

Currently, the cuvs-java API is compiled against Java 21, while its implementation targets Java 22. The implementation is packaged within the Java 22 section of a multi-release JAR (MR-JAR), meaning that cuvs-java requires a Java 22 (or newer) runtime to function properly. This structure was originally chosen to simplify development, as many Java projects prefer to compile against the latest long-term support (LTS) release — which, at the time of writing, is Java 21.

The main reason for reconsidering the minimum Java version is the use of MemorySegment in the cuvs-java API. Incorporating MemorySegment allows users to transfer datasets between the host and GPU directly from host memory — including memory-mapped files or off-heap memory — instead of relying on on-heap memory or temporary files. This capability can lead to significant performance improvements.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions