math/hptt: New port: High-Performance Tensor Transpose library

This commit is contained in:
Yuri Victorovich 2022-05-31 17:30:06 -07:00
parent 98bb07bb28
commit 7402f09157
7 changed files with 75 additions and 0 deletions

View file

@ -376,6 +376,7 @@
SUBDIR += hmat-oss
SUBDIR += hpcombi
SUBDIR += hpipm
SUBDIR += hptt
SUBDIR += hs-Agda
SUBDIR += hs-penrose
SUBDIR += hsl

26
math/hptt/Makefile Normal file
View file

@ -0,0 +1,26 @@
PORTNAME= hptt
DISTVERSIONPREFIX= v
DISTVERSION= 1.0.5-18
DISTVERSIONSUFFIX= -g9425386
CATEGORIES= math
MAINTAINER= yuri@FreeBSD.org
COMMENT= High-Performance Tensor Transpose library
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
TEST_DEPENDS= gmake:devel/gmake
USES= cmake:testing compiler:c++11-lang
USE_GCC= yes # workaround for https://github.com/springer13/hptt/issues/21
USE_GITHUB= yes
GH_ACCOUNT= springer13
CMAKE_ON= BUILD_SHARED_LIBS
do-test: # tests fail to build, see https://github.com/springer13/hptt/issues/23
@cd ${WRKSRC}/testframework && ${SETENV} ${MAKE_ENV} ${GMAKE} FREEBSD_GCC_DEFAULT=${GCC_DEFAULT} all
.include <bsd.port.mk>

3
math/hptt/distinfo Normal file
View file

@ -0,0 +1,3 @@
TIMESTAMP = 1654029691
SHA256 (springer13-hptt-v1.0.5-18-g9425386_GH0.tar.gz) = 00cc170a88bd7d3b18a02d6750a9475f34b2f1a9b9bf387e373e712282c4d556
SIZE (springer13-hptt-v1.0.5-18-g9425386_GH0.tar.gz) = 635751

View file

@ -0,0 +1,11 @@
--- CMakeLists.txt.orig 2022-05-31 20:45:22 UTC
+++ CMakeLists.txt
@@ -37,7 +37,7 @@ endif()
set(HPTT_SRCS src/hptt.cpp src/plan.cpp src/transpose.cpp src/utils.cpp)
-add_library(hptt STATIC ${HPTT_SRCS})
+add_library(hptt ${HPTT_SRCS})
target_compile_features(hptt PUBLIC cxx_std_11)
target_include_directories(hptt PUBLIC ${PROJECT_SOURCE_DIR}/include)
#target_compile_definitions(hptt PRIVATE ${HPTT_CXX_COMPILE_DEFS})

View file

@ -0,0 +1,11 @@
--- testframework/Makefile.orig 2022-05-31 21:42:42 UTC
+++ testframework/Makefile
@@ -3,7 +3,7 @@ CXX_FLAGS=-O3 -std=c++11
ifeq ($(CXX),icpc)
CXX_FLAGS += -qopenmp -xhost
else
-ifeq ($(CXX),g++)
+ifeq ($(CXX),g++$(FREEBSD_GCC_DEFAULT))
CXX_FLAGS += -fopenmp -march=native
else
ifeq ($(CXX),clang++)

15
math/hptt/pkg-descr Normal file
View file

@ -0,0 +1,15 @@
HPTT is a high-performance C++ library for out-of-place tensor
transpositions.
Key Features:
* Multi-threading support
* Explicit vectorization
* Auto-tuning (akin to FFTW)
* Loop order
* Parallelization
* Multi architecture support
* Explicitly vectorized kernels for (AVX and ARM)
* Supports float, double, complex and double complex data types
* Supports both column-major and row-major data layouts
WWW: https://github.com/springer13/hptt

8
math/hptt/pkg-plist Normal file
View file

@ -0,0 +1,8 @@
include/compute_node.h
include/hptt.h
include/hptt_types.h
include/macros.h
include/plan.h
include/transpose.h
include/utils.h
lib/libhptt.so