git: 8063b9baa59d - main - devel/chai: New port: Copy-hiding array abstraction for data migration
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 30 Oct 2025 22:51:20 UTC
The branch main has been updated by yuri:
URL: https://cgit.FreeBSD.org/ports/commit/?id=8063b9baa59da69ca788b82d40488ea769cf3b08
commit 8063b9baa59da69ca788b82d40488ea769cf3b08
Author: Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2025-10-30 17:33:25 +0000
Commit: Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2025-10-30 22:51:18 +0000
devel/chai: New port: Copy-hiding array abstraction for data migration
---
devel/Makefile | 1 +
devel/chai/Makefile | 37 ++++++++++++++++++++++
devel/chai/distinfo | 5 +++
...atch-cmake_thirdparty_SetupChaiThirdparty.cmake | 20 ++++++++++++
devel/chai/pkg-descr | 3 ++
devel/chai/pkg-plist | 23 ++++++++++++++
6 files changed, 89 insertions(+)
diff --git a/devel/Makefile b/devel/Makefile
index 8c47e2774240..1e79cdf8083a 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -408,6 +408,7 @@
SUBDIR += cgdb
SUBDIR += cgit
SUBDIR += cgprof
+ SUBDIR += chai
SUBDIR += charva
SUBDIR += check
SUBDIR += checkbashisms
diff --git a/devel/chai/Makefile b/devel/chai/Makefile
new file mode 100644
index 000000000000..ac9dcbe9a6ac
--- /dev/null
+++ b/devel/chai/Makefile
@@ -0,0 +1,37 @@
+PORTNAME= chai
+DISTVERSIONPREFIX= v
+DISTVERSION= 2025.09.1
+CATEGORIES= devel
+PKGNAMESUFFIX= -library
+
+MAINTAINER= yuri@FreeBSD.org
+COMMENT= Copy-hiding array abstraction for data migration
+WWW= https://github.com/LLNL/CHAI
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+LIB_DEPENDS= libcamp.so:devel/camp \
+ libRAJA.so:misc/raja \
+ libumpire.so:devel/umpire \
+ libfmt.so:devel/libfmt
+TEST_DEPENDS= googletest>0:devel/googletest
+
+USES= cmake:testing compiler:c++17-lang localbase:ldflags pkgconfig
+USE_LDCONFIG= yes
+
+USE_GITHUB= yes
+GH_ACCOUNT= LLNL
+GH_PROJECT= ${PORTNAME:tu}
+GH_TUPLE= LLNL:blt:e783e30:blt/blt
+
+CMAKE_ON= BUILD_SHARED_LIBS
+CMAKE_OFF= UMPIRE_ENABLE_EXAMPLES \
+ ENABLE_TESTS
+CMAKE_TESTING_ON= ENABLE_TESTS
+
+LDFLAGS+= -lexecinfo
+
+# tests as of 2025.09.1: 100% tests passed, 0 tests failed out of 10
+
+.include <bsd.port.mk>
diff --git a/devel/chai/distinfo b/devel/chai/distinfo
new file mode 100644
index 000000000000..0111ddffa61b
--- /dev/null
+++ b/devel/chai/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1761844777
+SHA256 (LLNL-CHAI-v2025.09.1_GH0.tar.gz) = 8d5ff6363e37f0fb5b4606b2165a881a76f2b4f384813afe871052ccd2bb40de
+SIZE (LLNL-CHAI-v2025.09.1_GH0.tar.gz) = 113209
+SHA256 (LLNL-blt-e783e30_GH0.tar.gz) = 4c8efec699708da3b552e533b80dd4ce3bf81da825840b3c18b9b56690898644
+SIZE (LLNL-blt-e783e30_GH0.tar.gz) = 1342801
diff --git a/devel/chai/files/patch-cmake_thirdparty_SetupChaiThirdparty.cmake b/devel/chai/files/patch-cmake_thirdparty_SetupChaiThirdparty.cmake
new file mode 100644
index 000000000000..f3ed050eafcd
--- /dev/null
+++ b/devel/chai/files/patch-cmake_thirdparty_SetupChaiThirdparty.cmake
@@ -0,0 +1,20 @@
+--- cmake/thirdparty/SetupChaiThirdparty.cmake.orig 2025-10-30 17:20:50 UTC
++++ cmake/thirdparty/SetupChaiThirdparty.cmake
+@@ -5,6 +5,8 @@
+ # SPDX-License-Identifier: BSD-3-Clause
+ ##############################################################################
+
++find_package(umpire REQUIRED)
++
+ if (NOT TARGET umpire)
+ if (DEFINED umpire_DIR OR DEFINED UMPIRE_DIR)
+ message(STATUS "[CHAI] Using external Umpire")
+@@ -27,6 +29,8 @@ endif ()
+ endif ()
+ endif ()
+ endif ()
++
++find_package(raja REQUIRED)
+
+ if (CHAI_ENABLE_RAJA_PLUGIN)
+ if (NOT TARGET RAJA)
diff --git a/devel/chai/pkg-descr b/devel/chai/pkg-descr
new file mode 100644
index 000000000000..3e464a1134d4
--- /dev/null
+++ b/devel/chai/pkg-descr
@@ -0,0 +1,3 @@
+CHAI is a C++ library that provides a copy-hiding array abstraction
+to automatically migrate data between different memory spaces, such as
+between CPU and GPU memory.
diff --git a/devel/chai/pkg-plist b/devel/chai/pkg-plist
new file mode 100644
index 000000000000..3c78f46351ce
--- /dev/null
+++ b/devel/chai/pkg-plist
@@ -0,0 +1,23 @@
+include/chai/ArrayManager.hpp
+include/chai/ArrayManager.inl
+include/chai/ChaiMacros.hpp
+include/chai/DeviceHelpers.hpp
+include/chai/ExecutionSpaces.hpp
+include/chai/ManagedArray.hpp
+include/chai/ManagedArray.inl
+include/chai/ManagedArrayView.hpp
+include/chai/PointerRecord.hpp
+include/chai/RajaExecutionSpacePlugin.hpp
+include/chai/Types.hpp
+include/chai/config.hpp
+include/chai/managed_ptr.hpp
+include/chai/pluginLinker.hpp
+include/chai/util/forall.hpp
+lib/cmake/chai/BLTInstallableMacros.cmake
+lib/cmake/chai/BLTSetupTargets.cmake
+lib/cmake/chai/BLTThirdPartyConfigFlags.cmake
+lib/cmake/chai/chai-config-version.cmake
+lib/cmake/chai/chai-config.cmake
+lib/cmake/chai/chai-targets-%%CMAKE_BUILD_TYPE%%.cmake
+lib/cmake/chai/chai-targets.cmake
+lib/libchai.so