mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-17 03:25:46 +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 += idutils
|
||||
SUBDIR += imake
|
||||
SUBDIR += inastemp
|
||||
SUBDIR += include-what-you-use
|
||||
SUBDIR += inifiled
|
||||
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