mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-18 03:46:03 +00:00
New port: devel/inastemp: C++ library to use SIMD vectorization
Submitted by: myself Approved by: tcberner (mentor) Differential Revision: https://reviews.freebsd.org/D13703
This commit is contained in:
parent
3310c2fb17
commit
d4cff33309
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=457842
@ -1196,6 +1196,7 @@
|
|||||||
SUBDIR += icu-lx
|
SUBDIR += icu-lx
|
||||||
SUBDIR += idutils
|
SUBDIR += idutils
|
||||||
SUBDIR += imake
|
SUBDIR += imake
|
||||||
|
SUBDIR += inastemp
|
||||||
SUBDIR += include-what-you-use
|
SUBDIR += include-what-you-use
|
||||||
SUBDIR += inifiled
|
SUBDIR += inifiled
|
||||||
SUBDIR += inilib
|
SUBDIR += inilib
|
||||||
|
22
devel/inastemp/Makefile
Normal file
22
devel/inastemp/Makefile
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# $FreeBSD$
|
||||||
|
|
||||||
|
PORTNAME= inastemp
|
||||||
|
DISTVERSION= 0.2.4
|
||||||
|
CATEGORIES= devel
|
||||||
|
MASTER_SITES= https://gitlab.mpcdf.mpg.de/bbramas/${PORTNAME}/repository/${DISTVERSION}/archive.tar.gz?ref=v${PORTVERSION}&dummy=/
|
||||||
|
|
||||||
|
MAINTAINER= yuri@FreeBSD.org
|
||||||
|
COMMENT= C++ library to use SIMD vectorization
|
||||||
|
|
||||||
|
LICENSE= MIT
|
||||||
|
LICENSE_FILE= ${WRKSRC}/LICENSE
|
||||||
|
|
||||||
|
USES= cmake:outsource
|
||||||
|
NO_ARCH= yes
|
||||||
|
CMAKE_ARGS= -DINASTEMP_DO_INSTALL:BOOL=ON \
|
||||||
|
-DINASTEMP_JUST_LIB:BOOL=ON
|
||||||
|
|
||||||
|
post-extract:
|
||||||
|
@${MV} ${WRKDIR}/${PORTNAME}-* ${WRKSRC}
|
||||||
|
|
||||||
|
.include <bsd.port.mk>
|
3
devel/inastemp/distinfo
Normal file
3
devel/inastemp/distinfo
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
TIMESTAMP = 1514683011
|
||||||
|
SHA256 (inastemp-0.2.4.tar.gz) = ee9b7dc7f23698cbe35fa0d5567a4f955f633a788e66b273d0961968a5eacf49
|
||||||
|
SIZE (inastemp-0.2.4.tar.gz) = 233546
|
11
devel/inastemp/files/patch-CMakeLists.txt
Normal file
11
devel/inastemp/files/patch-CMakeLists.txt
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- CMakeLists.txt.orig 2017-12-31 01:19:25 UTC
|
||||||
|
+++ CMakeLists.txt
|
||||||
|
@@ -288,7 +288,7 @@ configure_file(${INASTEMP_SOURCE_DIR}/CM
|
||||||
|
@ONLY IMMEDIATE
|
||||||
|
)
|
||||||
|
if(INASTEMP_DO_INSTALL)
|
||||||
|
- install(FILES ${INASTEMP_BINARY_DIR}/InastempInfo.cmake DESTINATION lib/ )
|
||||||
|
+ install(FILES ${INASTEMP_BINARY_DIR}/InastempInfo.cmake DESTINATION lib/cmake )
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(INASTEMP_AS_SUBPROJECT)
|
19
devel/inastemp/files/patch-Src_CMakeLists.txt
Normal file
19
devel/inastemp/files/patch-Src_CMakeLists.txt
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
--- Src/CMakeLists.txt.orig 2017-12-31 01:18:23 UTC
|
||||||
|
+++ Src/CMakeLists.txt
|
||||||
|
@@ -20,7 +20,7 @@ file(
|
||||||
|
FOREACH(hpp_file ${hpp_in_dir})
|
||||||
|
file(RELATIVE_PATH relative_hpp_file ${CMAKE_CURRENT_SOURCE_DIR} ${hpp_file})
|
||||||
|
if(INASTEMP_DO_INSTALL)
|
||||||
|
- INSTALL( FILES ${hpp_file} DESTINATION include/${relative_hpp_file} )
|
||||||
|
+ INSTALL( FILES ${hpp_file} DESTINATION include/inastemp/${relative_hpp_file} )
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if($ENV{VERBOSE})
|
||||||
|
@@ -29,6 +29,6 @@ FOREACH(hpp_file ${hpp_in_dir})
|
||||||
|
ENDFOREACH()
|
||||||
|
|
||||||
|
if(INASTEMP_DO_INSTALL)
|
||||||
|
- INSTALL( FILES "${INASTEMP_BINARY_DIR}/Src/InastempConfig.h" DESTINATION include/Src )
|
||||||
|
+ INSTALL( FILES "${INASTEMP_BINARY_DIR}/Src/InastempConfig.h" DESTINATION include/inastemp/Src )
|
||||||
|
endif()
|
||||||
|
|
22
devel/inastemp/pkg-descr
Normal file
22
devel/inastemp/pkg-descr
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
Inastemp provides a set of C++ classes to make vectorization with intrinsics
|
||||||
|
easier. It aims at developing numerical kernels by separating the algorithm
|
||||||
|
from the hardware target. Inastemp comes with several examples and patterns
|
||||||
|
related to widespread use-cases.
|
||||||
|
|
||||||
|
Features:
|
||||||
|
|
||||||
|
* The following x86 SIMD types are currently supported:
|
||||||
|
* SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AVX2, AVX512-KNL, AVX512-SKL
|
||||||
|
* The following Powere PC SIMD types are currently supported:
|
||||||
|
* Power-8 Altivec/VMX
|
||||||
|
* arithmetic operators */+- are provided
|
||||||
|
* CPU capacities are detected automatically during the CMake stage
|
||||||
|
* The compiler capacities are detected automatically during the CMake stage
|
||||||
|
* The library purely contains of headers, no linkage is necessary.
|
||||||
|
* CPU detection may use Intel SDE
|
||||||
|
* Unit-tests may use Intel SDE
|
||||||
|
* Fast intrinsic exp() function (if not supported natively by the compiler)
|
||||||
|
* Explicit branches vectorization several patterns which represent many
|
||||||
|
applications are demonstrated
|
||||||
|
|
||||||
|
WWW: https://gitlab.mpcdf.mpg.de/bbramas/inastemp
|
31
devel/inastemp/pkg-plist
Normal file
31
devel/inastemp/pkg-plist
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
include/inastemp/ALTIVEC/InaVecALTIVECDouble.hpp/InaVecALTIVECDouble.hpp
|
||||||
|
include/inastemp/ALTIVEC/InaVecALTIVECFloat.hpp/InaVecALTIVECFloat.hpp
|
||||||
|
include/inastemp/AVX/InaVecAVXDouble.hpp/InaVecAVXDouble.hpp
|
||||||
|
include/inastemp/AVX/InaVecAVXFloat.hpp/InaVecAVXFloat.hpp
|
||||||
|
include/inastemp/AVX2/InaVecAVX2Double.hpp/InaVecAVX2Double.hpp
|
||||||
|
include/inastemp/AVX2/InaVecAVX2Float.hpp/InaVecAVX2Float.hpp
|
||||||
|
include/inastemp/AVX512COMMON/InaVecAVX512COMMONDouble.hpp/InaVecAVX512COMMONDouble.hpp
|
||||||
|
include/inastemp/AVX512COMMON/InaVecAVX512COMMONFloat.hpp/InaVecAVX512COMMONFloat.hpp
|
||||||
|
include/inastemp/AVX512KNL/InaVecAVX512KNLDouble.hpp/InaVecAVX512KNLDouble.hpp
|
||||||
|
include/inastemp/AVX512KNL/InaVecAVX512KNLFloat.hpp/InaVecAVX512KNLFloat.hpp
|
||||||
|
include/inastemp/AVX512SKL/InaVecAVX512SKLDouble.hpp/InaVecAVX512SKLDouble.hpp
|
||||||
|
include/inastemp/AVX512SKL/InaVecAVX512SKLFloat.hpp/InaVecAVX512SKLFloat.hpp
|
||||||
|
include/inastemp/Common/InaFastExp.hpp/InaFastExp.hpp
|
||||||
|
include/inastemp/Common/InaIfElse.hpp/InaIfElse.hpp
|
||||||
|
include/inastemp/Common/InaMemory.hpp/InaMemory.hpp
|
||||||
|
include/inastemp/Common/InaTimer.hpp/InaTimer.hpp
|
||||||
|
include/inastemp/Common/InaUtils.hpp/InaUtils.hpp
|
||||||
|
include/inastemp/Common/InaVecInterface.hpp/InaVecInterface.hpp
|
||||||
|
include/inastemp/FLOPS/InaVecFLOPS.hpp/InaVecFLOPS.hpp
|
||||||
|
include/inastemp/SCALAR/InaVecSCALARDouble.hpp/InaVecSCALARDouble.hpp
|
||||||
|
include/inastemp/SCALAR/InaVecSCALARFloat.hpp/InaVecSCALARFloat.hpp
|
||||||
|
include/inastemp/SSE3/InaVecSSE3Double.hpp/InaVecSSE3Double.hpp
|
||||||
|
include/inastemp/SSE3/InaVecSSE3Float.hpp/InaVecSSE3Float.hpp
|
||||||
|
include/inastemp/SSE41/InaVecSSE41Double.hpp/InaVecSSE41Double.hpp
|
||||||
|
include/inastemp/SSE41/InaVecSSE41Float.hpp/InaVecSSE41Float.hpp
|
||||||
|
include/inastemp/SSE42/InaVecSSE42Double.hpp/InaVecSSE42Double.hpp
|
||||||
|
include/inastemp/SSE42/InaVecSSE42Float.hpp/InaVecSSE42Float.hpp
|
||||||
|
include/inastemp/SSSE3/InaVecSSSE3Double.hpp/InaVecSSSE3Double.hpp
|
||||||
|
include/inastemp/SSSE3/InaVecSSSE3Float.hpp/InaVecSSSE3Float.hpp
|
||||||
|
include/inastemp/Src/InastempConfig.h
|
||||||
|
lib/cmake/InastempInfo.cmake
|
Loading…
Reference in New Issue
Block a user