NVIDIA / NVIDIA/cudf

[FEA][JNI] expose an RMM allocator API in cuDF JNI

Open
#9,209 3 comments 0 reactions 0 assignees View on GitHub
feature request Java
Dominant language
C++
Stars
9.8k
Forks
1.1k
Avg merge
3d 6m
Merged PRs (30d)
278

Description

We currently support in the Java side some combinations of allocators and wrappers that make it easy to setup pools (default, arena, and now async), backing allocators (cuda, managed memory). But it is getting to the point that the options in these allocators don't all fit the min/max pool size pattern.

- The non-pooled allocators don't have a minimum or maximum setting.
- The async allocator doesn't support managed memory, and it also has a third setting "threshold" that isn't exposed in RMM but it probably could/should, and we don't really have a way to express that.
- The allocators are composed with the tracking and likely the limiting adapters as well, by default.

For general users of the cuDF JNI side of things the above combinations may not be desired. We propose exposing an RMM that would allow better composability of the various allocators we use and test with (note this is a good chance to clean up some tech debt as well for allocators we no longer use or intend to support).

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.