From 2779ba603ea1317f5f54b22a4a2a14cac6b41afb Mon Sep 17 00:00:00 2001 From: Peter Rudenko Date: Sat, 12 Dec 2020 14:57:11 +0200 Subject: [PATCH] JUCX: UCS Memory type constants. --- .../java/org/openucx/jucx/ucs/UcsConstants.java | 14 ++++++++++++++ bindings/java/src/main/native/ucs_constants.cc | 10 ++++++++++ 2 files changed, 24 insertions(+) diff --git a/bindings/java/src/main/java/org/openucx/jucx/ucs/UcsConstants.java b/bindings/java/src/main/java/org/openucx/jucx/ucs/UcsConstants.java index e775a3b4daf..77a620fafa1 100644 --- a/bindings/java/src/main/java/org/openucx/jucx/ucs/UcsConstants.java +++ b/bindings/java/src/main/java/org/openucx/jucx/ucs/UcsConstants.java @@ -72,6 +72,20 @@ public static class STATUS { public static int UCS_ERR_LAST; } + public static class MEMORY_TYPE { + static { + load(); + } + + public static int UCS_MEMORY_TYPE_HOST; // Default system memory + public static int UCS_MEMORY_TYPE_CUDA; // NVIDIA CUDA memory + public static int UCS_MEMORY_TYPE_CUDA_MANAGED; // NVIDIA CUDA managed (or unified) memory + public static int UCS_MEMORY_TYPE_ROCM; // AMD ROCM memory + public static int UCS_MEMORY_TYPE_ROCM_MANAGED; // AMD ROCM managed system memory + public static int UCS_MEMORY_TYPE_LAST; + public static int UCS_MEMORY_TYPE_UNKNOWN; + } + private static void load() { NativeLibs.load(); loadConstants(); diff --git a/bindings/java/src/main/native/ucs_constants.cc b/bindings/java/src/main/native/ucs_constants.cc index f255c3a04d7..3461748959f 100644 --- a/bindings/java/src/main/native/ucs_constants.cc +++ b/bindings/java/src/main/native/ucs_constants.cc @@ -54,4 +54,14 @@ Java_org_openucx_jucx_ucs_UcsConstants_loadConstants(JNIEnv *env, jclass ucs_cla JUCX_DEFINE_INT_CONSTANT(UCS_ERR_ENDPOINT_TIMEOUT); JUCX_DEFINE_INT_CONSTANT(UCS_ERR_LAST_ENDPOINT_FAILURE); JUCX_DEFINE_INT_CONSTANT(UCS_ERR_LAST); + + // Memory type + cls = env->FindClass("org/openucx/jucx/ucs/UcsConstants$MEMORY_TYPE"); + JUCX_DEFINE_INT_CONSTANT(UCS_MEMORY_TYPE_HOST); + JUCX_DEFINE_INT_CONSTANT(UCS_MEMORY_TYPE_CUDA); + JUCX_DEFINE_INT_CONSTANT(UCS_MEMORY_TYPE_CUDA_MANAGED); + JUCX_DEFINE_INT_CONSTANT(UCS_MEMORY_TYPE_ROCM); + JUCX_DEFINE_INT_CONSTANT(UCS_MEMORY_TYPE_ROCM_MANAGED); + JUCX_DEFINE_INT_CONSTANT(UCS_MEMORY_TYPE_LAST); + JUCX_DEFINE_INT_CONSTANT(UCS_MEMORY_TYPE_UNKNOWN); }