Skip to content

Commit

Permalink
Make HostMemoryBuffer call into the DefaultHostMemoryAllocator
Browse files Browse the repository at this point in the history
Signed-off-by: Robert (Bobby) Evans <[email protected]>
  • Loading branch information
revans2 committed Oct 29, 2024
1 parent 63b773e commit ca35305
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 12 deletions.
14 changes: 10 additions & 4 deletions java/src/main/java/ai/rapids/cudf/DefaultHostMemoryAllocator.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
*
* Copyright (c) 2023, NVIDIA CORPORATION.
* Copyright (c) 2023-2024, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -32,19 +32,25 @@ public static HostMemoryAllocator get() {

/**
* Sets a new default host memory allocator implementation by default.
* @param hostMemoryAllocator
* @param hostMemoryAllocator the new allocator to use.
*/
public static void set(HostMemoryAllocator hostMemoryAllocator) {
instance = hostMemoryAllocator;
}

@Override
public HostMemoryBuffer allocate(long bytes, boolean preferPinned) {
return HostMemoryBuffer.allocate(bytes, preferPinned);
if (preferPinned) {
HostMemoryBuffer pinnedBuffer = PinnedMemoryPool.tryAllocate(bytes);
if (pinnedBuffer != null) {
return pinnedBuffer;
}
}
return new HostMemoryBuffer(UnsafeMemoryAccessor.allocate(bytes), bytes);
}

@Override
public HostMemoryBuffer allocate(long bytes) {
return HostMemoryBuffer.allocate(bytes);
return allocate(bytes, HostMemoryBuffer.defaultPreferPinned);
}
}
10 changes: 2 additions & 8 deletions java/src/main/java/ai/rapids/cudf/HostMemoryBuffer.java
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
* Be aware that the off heap memory limits set by Java do not apply to these buffers.
*/
public class HostMemoryBuffer extends MemoryBuffer {
private static final boolean defaultPreferPinned;
static final boolean defaultPreferPinned;
private static final Logger log = LoggerFactory.getLogger(HostMemoryBuffer.class);

static {
Expand Down Expand Up @@ -135,13 +135,7 @@ public boolean isClean() {
* @return the newly created buffer
*/
public static HostMemoryBuffer allocate(long bytes, boolean preferPinned) {
if (preferPinned) {
HostMemoryBuffer pinnedBuffer = PinnedMemoryPool.tryAllocate(bytes);
if (pinnedBuffer != null) {
return pinnedBuffer;
}
}
return new HostMemoryBuffer(UnsafeMemoryAccessor.allocate(bytes), bytes);
return DefaultHostMemoryAllocator.get().allocate(bytes, preferPinned);
}

/**
Expand Down

0 comments on commit ca35305

Please sign in to comment.