git: 91eafc4ac8d9 - main - math/cosma: update 2.6.2 → 2.8.4
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 01 Oct 2026 05:58:14 UTC
The branch main has been updated by yuri:
URL: https://cgit.FreeBSD.org/ports/commit/?id=91eafc4ac8d9efdd387b9d0bce33b045931079d9
commit 91eafc4ac8d9efdd387b9d0bce33b045931079d9
Author: Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2026-10-01 05:14:17 +0000
Commit: Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2026-10-01 05:58:09 +0000
math/cosma: update 2.6.2 → 2.8.4
---
math/cosma/Makefile | 31 ++++++++-----------
math/cosma/distinfo | 8 ++---
math/cosma/files/patch-src_cosma_strategy.cpp | 19 ++++++++++++
math/cosma/pkg-plist | 44 +++++++--------------------
4 files changed, 46 insertions(+), 56 deletions(-)
diff --git a/math/cosma/Makefile b/math/cosma/Makefile
index 6f233a3a4f4a..a481eb66bbf9 100644
--- a/math/cosma/Makefile
+++ b/math/cosma/Makefile
@@ -1,7 +1,6 @@
PORTNAME= cosma
DISTVERSIONPREFIX= v
-DISTVERSION= 2.6.2
-PORTREVISION= 6
+DISTVERSION= 2.8.4
CATEGORIES= math
MAINTAINER= yuri@FreeBSD.org
@@ -11,33 +10,29 @@ WWW= https://github.com/eth-cscs/COSMA
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
-.if !exists(/usr/include/omp.h)
-BROKEN= requires OpenMP support that is missing on this architecture
-.endif
+BUILD_DEPENDS= cxxopts>0:devel/cxxopts
+LIB_DEPENDS= libcosta.so:math/costa \
+ libopenblas.so:math/openblas
-BUILD_DEPENDS= openmpi4>0:net/openmpi4
-LIB_DEPENDS= libopenblas.so:math/openblas
-RUN_DEPENDS= openmpi4>0:net/openmpi4
-
-USES= cmake:testing
+USES= cmake:testing mpi:mpich
USE_LDCONFIG= yes
USE_GITHUB= yes
GH_ACCOUNT= eth-cscs
GH_PROJECT= COSMA
-GH_TUPLE= eth-cscs:COSTA:5f1ea59:costa/libs/COSTA \
- eth-cscs:Tiled-MM:9e880f9:tiledmm/libs/Tiled-MM
+GH_TUPLE= eth-cscs:Tiled-MM:9e880f9:tiledmm/libs/Tiled-MM
CMAKE_ON= BUILD_SHARED_LIBS
CMAKE_OFF= COSMA_WITH_TESTS
CMAKE_ARGS= -DCOSMA_BLAS="OPENBLAS"
CMAKE_TESTING_ON= COSMA_WITH_TESTS
-post-install:
- @cd ${STAGEDIR}${PREFIX} && \
- ${RMDIR} \
- include/costa/pxtran \
- include/costa/pxtranc \
- include/costa/pxtranu
+LDFLAGS+= -pthread
+
+.if !exists(/usr/include/omp.h)
+BROKEN= requires OpenMP support that is missing on this architecture
+.endif
+
+# tests as of 2.8.4: 100% tests passed, 0 tests failed out of 4
.include <bsd.port.mk>
diff --git a/math/cosma/distinfo b/math/cosma/distinfo
index c460612f6a6c..87a0bc9f9347 100644
--- a/math/cosma/distinfo
+++ b/math/cosma/distinfo
@@ -1,7 +1,5 @@
-TIMESTAMP = 1661720404
-SHA256 (eth-cscs-COSMA-v2.6.2_GH0.tar.gz) = 1f13579ab7e1fab903f7a8a8a76395d8fbbe42012e1a48e207bce3d88064c5a8
-SIZE (eth-cscs-COSMA-v2.6.2_GH0.tar.gz) = 1647903
-SHA256 (eth-cscs-COSTA-5f1ea59_GH0.tar.gz) = dedd4891cbce9bbf40bc5061ad761d6467626cae0635643d8bb0f8d21ebdeabd
-SIZE (eth-cscs-COSTA-5f1ea59_GH0.tar.gz) = 804689
+TIMESTAMP = 1790829487
+SHA256 (eth-cscs-COSMA-v2.8.4_GH0.tar.gz) = b478cc239a99baf6fdf889d123308a6b01a4521330bdb3f4def457feb0f7dfa0
+SIZE (eth-cscs-COSMA-v2.8.4_GH0.tar.gz) = 1562576
SHA256 (eth-cscs-Tiled-MM-9e880f9_GH0.tar.gz) = bde0484ec241a393bb0fd82cb1d4ab0421ecbbfa85b50e442bf1c364803070a3
SIZE (eth-cscs-Tiled-MM-9e880f9_GH0.tar.gz) = 139512
diff --git a/math/cosma/files/patch-src_cosma_strategy.cpp b/math/cosma/files/patch-src_cosma_strategy.cpp
new file mode 100644
index 000000000000..7593cd21011d
--- /dev/null
+++ b/math/cosma/files/patch-src_cosma_strategy.cpp
@@ -0,0 +1,19 @@
+-- Avoid undefined behavior when enable_overlapping_comm_and_comp() is called
+-- on an empty strategy. With n_steps() == 0, last_step becomes -1 and the
+-- subsequent split_dimension[last_step] access is out-of-bounds; Clang turns
+-- that path into a ud2 "privileged opcode" and the process dies with SIGILL.
+-- This is exercised by the parameterized test.multiply case (3,4,5,1).
+
+--- src/cosma/strategy.cpp.orig 2026-10-01 04:56:44 UTC
++++ src/cosma/strategy.cpp
+@@ -927,6 +927,10 @@ void Strategy::enable_overlapping_comm_and_comp() {
+
+ // enables overlapping and updates the value of the `irregular` variable
+ void Strategy::enable_overlapping_comm_and_comp() {
++ if (n_steps() == 0) {
++ return;
++ }
++
+ int last_step = n_steps() - 1;
+
+ // if comm and comp are overlapped, then in the last step
diff --git a/math/cosma/pkg-plist b/math/cosma/pkg-plist
index b3c95df23c55..500481271f63 100644
--- a/math/cosma/pkg-plist
+++ b/math/cosma/pkg-plist
@@ -34,43 +34,21 @@ include/cosma/statistics.hpp
include/cosma/strategy.hpp
include/cosma/timer.hpp
include/cosma/two_sided_communicator.hpp
-include/costa/blacs.hpp
-include/costa/cinterface/transform.hpp
-include/costa/grid2grid/block.hpp
-include/costa/grid2grid/cantor_mapping.hpp
-include/costa/grid2grid/comm_volume.hpp
-include/costa/grid2grid/communication_data.hpp
-include/costa/grid2grid/grid2D.hpp
-include/costa/grid2grid/grid_cover.hpp
-include/costa/grid2grid/grid_layout.hpp
-include/costa/grid2grid/interval.hpp
-include/costa/grid2grid/memory_utils.hpp
-include/costa/grid2grid/mpi_type_wrapper.hpp
-include/costa/grid2grid/profiler.hpp
-include/costa/grid2grid/ranks_reordering.hpp
-include/costa/grid2grid/scalapack_layout.hpp
-include/costa/grid2grid/threads_workspace.hpp
-include/costa/grid2grid/transform.hpp
-include/costa/grid2grid/transformer.hpp
-include/costa/grid2grid/utils.hpp
-include/costa/layout.hpp
-include/costa/pxgemr2d/costa_pxgemr2d.hpp
-include/costa/pxgemr2d/pxgemr2d_params.hpp
-include/costa/pxtran_op/costa_pxtran_op.hpp
-include/costa/pxtran_op/pxtran_op_params.hpp
-include/costa/random_generator.hpp
-include/costa/scalapack.hpp
+lib/cmake/cosma/FindARMPL.cmake
+lib/cmake/cosma/FindATLAS.cmake
+lib/cmake/cosma/FindBLIS.cmake
+lib/cmake/cosma/FindBlas.cmake
+lib/cmake/cosma/FindCRAY_LIBSCI.cmake
+lib/cmake/cosma/FindFLEXIBLAS.cmake
+lib/cmake/cosma/FindGenericBLAS.cmake
lib/cmake/cosma/FindMKL.cmake
+lib/cmake/cosma/FindNCCL.cmake
+lib/cmake/cosma/FindNVPL.cmake
+lib/cmake/cosma/FindOPENBLAS.cmake
+lib/cmake/cosma/FindSCALAPACK.cmake
lib/cmake/cosma/cosmaConfig.cmake
lib/cmake/cosma/cosmaConfigVersion.cmake
lib/cmake/cosma/cosmaTargets-%%CMAKE_BUILD_TYPE%%.cmake
lib/cmake/cosma/cosmaTargets.cmake
-lib/cmake/costa/FindMKL.cmake
-lib/cmake/costa/costaConfig.cmake
-lib/cmake/costa/costaConfigVersion.cmake
-lib/cmake/costa/costaTargets-%%CMAKE_BUILD_TYPE%%.cmake
-lib/cmake/costa/costaTargets.cmake
lib/libcosma.so
-lib/libcosta.so
libdata/pkgconfig/cosma.pc
-libdata/pkgconfig/costa.pc