math/costa: New port: Distributed Communication-Optimal Shuffle and Transpose Algorithm

This commit is contained in:
Yuri Victorovich 2022-08-26 11:05:49 -07:00
parent 1f43020b38
commit 0a2156eceb
5 changed files with 85 additions and 0 deletions

View file

@ -248,6 +248,7 @@
SUBDIR += convertall
SUBDIR += coq
SUBDIR += cosma
SUBDIR += costa
SUBDIR += couenne
SUBDIR += coxeter3
SUBDIR += cppad

41
math/costa/Makefile Normal file
View file

@ -0,0 +1,41 @@
PORTNAME= costa
DISTVERSIONPREFIX= v
DISTVERSION= 2.1
CATEGORIES= math
MAINTAINER= yuri@FreeBSD.org
COMMENT= Distributed Communication-Optimal Shuffle and Transpose Algorithm
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE
LIB_DEPENDS= libopenblas.so:math/openblas \
libscalapack.so:math/scalapack
USES= cmake:testing pkgconfig
USE_LDCONFIG= yes
USE_GITHUB= yes
GH_ACCOUNT= eth-cscs
GH_PROJECT= COSTA
CMAKE_ON= BUILD_SHARED_LIBS
CMAKE_ARGS= -DCOSTA_SCALAPACK=CUSTOM
CMAKE_OFF= COSTA_WITH_TESTS
CMAKE_TESTING_ON= COSTA_WITH_TESTS
OPTIONS_SINGLE= MPI
OPTIONS_SINGLE_MPI= MPICH OPENMPI
OPTIONS_DEFAULT= MPICH
MPICH_USES= mpi:mpich
OPENMPI_USES= mpi:openmpi
post-install: # workaround for https://github.com/eth-cscs/COSTA/issues/9
@cd ${STAGEDIR}${PREFIX} && ${RMDIR} \
include/costa/pxtran \
include/costa/pxtranc \
include/costa/pxtranu
.include <bsd.port.mk>

3
math/costa/distinfo Normal file
View file

@ -0,0 +1,3 @@
TIMESTAMP = 1661524865
SHA256 (eth-cscs-COSTA-v2.1_GH0.tar.gz) = c1e86452415083f7470b292d93ec60708b7c8dbafc2bac383636bb4b28135866
SIZE (eth-cscs-COSTA-v2.1_GH0.tar.gz) = 804671

5
math/costa/pkg-descr Normal file
View file

@ -0,0 +1,5 @@
COSTA is a communication-optimal, highly-optimised algorithm for data
redistribution accross multiple processors, using MPI and OpenMP and
offering the possibility to transpose and scale some or all data.
WWW: https://github.com/eth-cscs/COSTA

35
math/costa/pkg-plist Normal file
View file

@ -0,0 +1,35 @@
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/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/libcosta.so
lib/libcosta_prefixed_scalapack.so
lib/libcosta_scalapack.so
libdata/pkgconfig/costa.pc