summaryrefslogtreecommitdiff
path: root/devel/umpire
diff options
context:
space:
mode:
Diffstat (limited to 'devel/umpire')
-rw-r--r--devel/umpire/Makefile37
-rw-r--r--devel/umpire/distinfo7
-rw-r--r--devel/umpire/files/patch-src_tpl_CMakeLists.txt36
-rw-r--r--devel/umpire/files/patch-src_umpire_resource_FileMemoryResource.cpp19
-rw-r--r--devel/umpire/pkg-descr3
-rw-r--r--devel/umpire/pkg-plist91
6 files changed, 193 insertions, 0 deletions
diff --git a/devel/umpire/Makefile b/devel/umpire/Makefile
new file mode 100644
index 000000000000..0f0078b7018b
--- /dev/null
+++ b/devel/umpire/Makefile
@@ -0,0 +1,37 @@
+PORTNAME= umpire
+DISTVERSIONPREFIX= v
+DISTVERSION= 2025.09.0
+CATEGORIES= devel
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= API for memory management on NUMA & GPU architectures
+WWW= https://umpire.readthedocs.io/en/develop/sphinx/tutorial.html \
+ https://github.com/LLNL/Umpire
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+LIB_DEPENDS= libcamp.so:devel/camp \
+ libfmt.so:devel/libfmt
+
+USES= cmake:testing compiler:c++17-lang localbase:ldflags pkgconfig
+USE_LDCONFIG= yes
+
+USE_GITHUB= yes
+GH_ACCOUNT= LLNL
+GH_PROJECT= Umpire
+GH_TUPLE= LLNL:blt:e783e30:blt/blt
+
+CMAKE_ARGS= -DUMPIRE_FMT_TARGET=fmt
+CMAKE_ON= BUILD_SHARED_LIBS
+CMAKE_OFF= UMPIRE_ENABLE_EXAMPLES \
+ ENABLE_TESTS
+CMAKE_TESTING_ON= ENABLE_TESTS
+
+CXXFLAGS+= -Dftruncate64=ftruncate \
+ -DMAP_NORESERVE=0
+LDFLAGS+= -lexecinfo
+
+# tests as of 2025.09.0: 100% tests passed, 0 tests failed out of 38
+
+.include <bsd.port.mk>
diff --git a/devel/umpire/distinfo b/devel/umpire/distinfo
new file mode 100644
index 000000000000..f1e1837aceab
--- /dev/null
+++ b/devel/umpire/distinfo
@@ -0,0 +1,7 @@
+TIMESTAMP = 1761837209
+SHA256 (LLNL-Umpire-v2025.09.0_GH0.tar.gz) = f05075c314c6ae5eee906b8374584e70e8741143e31af6e063f826941c1fc752
+SIZE (LLNL-Umpire-v2025.09.0_GH0.tar.gz) = 1073159
+SHA256 (LLNL-blt-e783e30_GH0.tar.gz) = 4c8efec699708da3b552e533b80dd4ce3bf81da825840b3c18b9b56690898644
+SIZE (LLNL-blt-e783e30_GH0.tar.gz) = 1342801
+SHA256 (fmtlib-fmt-12.1.0_GH0.tar.gz) = ea7de4299689e12b6dddd392f9896f08fb0777ac7168897a244a6d6085043fea
+SIZE (fmtlib-fmt-12.1.0_GH0.tar.gz) = 711419
diff --git a/devel/umpire/files/patch-src_tpl_CMakeLists.txt b/devel/umpire/files/patch-src_tpl_CMakeLists.txt
new file mode 100644
index 000000000000..7e195b9c1e78
--- /dev/null
+++ b/devel/umpire/files/patch-src_tpl_CMakeLists.txt
@@ -0,0 +1,36 @@
+--- src/tpl/CMakeLists.txt.orig 2025-09-09 19:07:47 UTC
++++ src/tpl/CMakeLists.txt
+@@ -106,6 +106,8 @@ add_subdirectory(umpire/judy)
+
+ add_subdirectory(umpire/judy)
+
++find_package(camp REQUIRED)
++
+ if (NOT TARGET camp)
+ if (DEFINED camp_DIR)
+ find_package(camp REQUIRED
+@@ -136,6 +138,8 @@ endif ()
+ endif()
+ endif ()
+
++find_package(fmt REQUIRED)
++
+ if (NOT TARGET ${UMPIRE_FMT_TARGET})
+ if (DEFINED fmt_DIR)
+ find_package(fmt REQUIRED
+@@ -144,8 +148,7 @@ if (NOT TARGET ${UMPIRE_FMT_TARGET})
+ ${fmt_DIR}
+ ${fmt_DIR}/lib64/cmake/fmt)
+
+- set_target_properties(${UMPIRE_FMT_TARGET} PROPERTIES IMPORTED_GLOBAL TRUE)
+- blt_convert_to_system_includes(TARGET ${UMPIRE_FMT_TARGET})
++ #blt_convert_to_system_includes(TARGET ${UMPIRE_FMT_TARGET})
+ set(UMPIRE_CONFIG_fmt_DIR ${fmt_DIR} CACHE PATH "")
+ else ()
+ if (NOT EXISTS ${PROJECT_SOURCE_DIR}/src/tpl/umpire/fmt/CMakeLists.txt)
+@@ -161,4 +164,4 @@ set(UMPIRE_ENABLE_TESTS ${OLD_ENABLE_TESTS})
+ endif ()
+
+ set(UMPIRE_ENABLE_TESTS ${OLD_ENABLE_TESTS})
+-set(UMPIRE_ENABLE_FORTRAN ${OLD_ENABLE_FORTRAN})
++#set(UMPIRE_ENABLE_FORTRAN FALSE)
diff --git a/devel/umpire/files/patch-src_umpire_resource_FileMemoryResource.cpp b/devel/umpire/files/patch-src_umpire_resource_FileMemoryResource.cpp
new file mode 100644
index 000000000000..7ab4055f6da1
--- /dev/null
+++ b/devel/umpire/files/patch-src_umpire_resource_FileMemoryResource.cpp
@@ -0,0 +1,19 @@
+--- src/umpire/resource/FileMemoryResource.cpp.orig 2025-09-09 19:07:47 UTC
++++ src/umpire/resource/FileMemoryResource.cpp
+@@ -12,6 +12,7 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <sys/mman.h>
++#include <sys/stat.h>
+ #include <unistd.h>
+
+ #include "umpire/util/Platform.hpp"
+@@ -62,7 +63,7 @@ void* FileMemoryResource::allocate(std::size_t bytes)
+ ss << default_dir << "umpire_mem_" << getpid() << "_" << s_file_counter;
+ s_file_counter++;
+
+- int fd{open(ss.str().c_str(), O_RDWR | O_CREAT | O_LARGEFILE, S_IRWXU)};
++ int fd{open(ss.str().c_str(), O_RDWR | O_CREAT, S_IRWXU)};
+ if (fd == -1) {
+ UMPIRE_ERROR(runtime_error, fmt::format("Opening file {} failed: {}", ss.str(), strerror(errno)));
+ }
diff --git a/devel/umpire/pkg-descr b/devel/umpire/pkg-descr
new file mode 100644
index 000000000000..2f91b9c60e50
--- /dev/null
+++ b/devel/umpire/pkg-descr
@@ -0,0 +1,3 @@
+Umpire is a resource management library that allows the discovery, provision,
+and management of memory on machines with multiple memory devices like NUMA and
+GPUs.
diff --git a/devel/umpire/pkg-plist b/devel/umpire/pkg-plist
new file mode 100644
index 000000000000..77b32f983514
--- /dev/null
+++ b/devel/umpire/pkg-plist
@@ -0,0 +1,91 @@
+include/umpire/Allocator.hpp
+include/umpire/Allocator.inl
+include/umpire/CLI11/CLI11.hpp
+include/umpire/ResourceManager.hpp
+include/umpire/ResourceManager.inl
+include/umpire/Tracking.hpp
+include/umpire/TypedAllocator.hpp
+include/umpire/TypedAllocator.inl
+include/umpire/Umpire.hpp
+include/umpire/alloc/MallocAllocator.hpp
+include/umpire/config.hpp
+include/umpire/event/event.hpp
+include/umpire/event/event_store.hpp
+include/umpire/event/event_store_recorder.hpp
+include/umpire/event/json_file_store.hpp
+include/umpire/event/quest_database.hpp
+include/umpire/event/recorder_factory.hpp
+include/umpire/json/json.hpp
+include/umpire/judy/judy.h
+include/umpire/judy/judyL2Array.h
+include/umpire/judy/judyLArray.h
+include/umpire/op/GenericReallocateOperation.hpp
+include/umpire/op/HostCopyOperation.hpp
+include/umpire/op/HostMemsetOperation.hpp
+include/umpire/op/HostReallocateOperation.hpp
+include/umpire/op/MemoryOperation.hpp
+include/umpire/op/MemoryOperationRegistry.hpp
+include/umpire/resource/DefaultMemoryResource.hpp
+include/umpire/resource/DefaultMemoryResource.inl
+include/umpire/resource/FileMemoryResource.hpp
+include/umpire/resource/FileMemoryResourceFactory.hpp
+include/umpire/resource/HostResourceFactory.hpp
+include/umpire/resource/MemoryResource.hpp
+include/umpire/resource/MemoryResourceFactory.hpp
+include/umpire/resource/MemoryResourceRegistry.hpp
+include/umpire/resource/MemoryResourceTypes.hpp
+include/umpire/resource/NullMemoryResource.hpp
+include/umpire/resource/NullMemoryResourceFactory.hpp
+include/umpire/strategy/AlignedAllocator.hpp
+include/umpire/strategy/AllocationAdvisor.hpp
+include/umpire/strategy/AllocationPrefetcher.hpp
+include/umpire/strategy/AllocationStrategy.hpp
+include/umpire/strategy/DynamicPoolList.hpp
+include/umpire/strategy/DynamicSizePool.hpp
+include/umpire/strategy/FixedPool.hpp
+include/umpire/strategy/FixedSizePool.hpp
+include/umpire/strategy/MixedPool.hpp
+include/umpire/strategy/MonotonicAllocationStrategy.hpp
+include/umpire/strategy/NamedAllocationStrategy.hpp
+include/umpire/strategy/NamingShim.hpp
+include/umpire/strategy/PoolCoalesceHeuristic.hpp
+include/umpire/strategy/QuickPool.hpp
+include/umpire/strategy/ResourceAwarePool.hpp
+include/umpire/strategy/SizeLimiter.hpp
+include/umpire/strategy/SlotPool.hpp
+include/umpire/strategy/StdAllocator.hpp
+include/umpire/strategy/ThreadSafeAllocator.hpp
+include/umpire/strategy/mixins/AlignedAllocation.hpp
+include/umpire/strategy/mixins/AlignedAllocation.inl
+include/umpire/strategy/mixins/AllocateNull.hpp
+include/umpire/strategy/mixins/Inspector.hpp
+include/umpire/util/AllocationMap.hpp
+include/umpire/util/AllocationRecord.hpp
+include/umpire/util/FixedMallocPool.hpp
+include/umpire/util/Logger.hpp
+include/umpire/util/MPI.hpp
+include/umpire/util/Macros.hpp
+include/umpire/util/MemoryMap.hpp
+include/umpire/util/MemoryMap.inl
+include/umpire/util/MemoryResourceTraits.hpp
+include/umpire/util/OutputBuffer.hpp
+include/umpire/util/Platform.hpp
+include/umpire/util/allocation_statistics.hpp
+include/umpire/util/backtrace.hpp
+include/umpire/util/backtrace.inl
+include/umpire/util/detect_vendor.hpp
+include/umpire/util/error.hpp
+include/umpire/util/find_first_set.hpp
+include/umpire/util/io.hpp
+include/umpire/util/make_unique.hpp
+include/umpire/util/memory_sanitizers.hpp
+include/umpire/util/shared_memory_helper.hpp
+include/umpire/util/wrap_allocator.hpp
+lib/cmake/umpire/BLTInstallableMacros.cmake
+lib/cmake/umpire/BLTSetupTargets.cmake
+lib/cmake/umpire/BLTThirdPartyConfigFlags.cmake
+lib/cmake/umpire/umpire-config-version.cmake
+lib/cmake/umpire/umpire-config.cmake
+lib/cmake/umpire/umpire-targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/umpire/umpire-targets.cmake
+lib/libumpire.so