[Lunar-commits] <moonbase-other> Vc: Readding to moonbase along with a version bump to 0.7.1. It will be an
stumbles
stumbles at lunar-linux.org
Wed Mar 27 19:55:25 CET 2013
commit 2dd2f69864b80786e89cafc2b209e00d3e58141c
Author: stumbles <stumbles at lunar-linux.org>
Date: Wed, 27 Mar 2013 11:55:25 -0700
URL: https://github.com/lunar-linux/moonbase-other/commit/2dd2f69864b80786e89cafc2b209e00d3e58141c
Vc: Readding to moonbase along with a version bump to 0.7.1. It will be an
optional_depends for calligra.
---
libs/Vc/BUILD | +10/-0
libs/Vc/CONFIGURE | +15/-0
libs/Vc/DEPENDS | +1/-0
libs/Vc/DETAILS | +38/-0
4 files changed, 64 insertions(+)
--- /dev/null
+++ b/libs/Vc/BUILD
@@ -0,0 +1,10 @@
+(
+
+ cmake -DCMAKE_INSTALL_PREFIX=$MODULE_PREFIX \
+ -DCMAKE_BUILD_TYPE=RELEASE \
+ -DTARGET_ARCHITECTURE=auto \
+ $OPTS &&
+
+ default_make
+
+) > $C_FIFO 2>&1
--- /dev/null
+++ b/libs/Vc/CONFIGURE
@@ -0,0 +1,15 @@
+mquery USE_AVX "Use AVX? This will double some of the vector sizes relative to SSE." y "-DUSE_AVX=ON" "-DUSE_AVX=OFF"
+mquery USE_FMA4 "Use FMA4?" y "-DUSE_FMA4=ON" "-DUSE_FMA4=OFF"
+mquery USE_MLOCK "Use memlock to get more reliable results in the benchmarks?" y "-DUSE_MLOCK_IN_BENCHMARKS=ON" "-DUSE_MLOCK_IN_BENCHMARKS=OFF"
+mquery USE_SSE2 "Use SSE2? If SSE2 instructions are not enabled the SSE implementation will be disabled." y "-DUSE_SSE2=ON" "-DUSE_SSE2=OFF"
+mquery USE_SSE3 "Use SSE3? If SSE3 instructions are not enabled they will be emulated." y "-DUSE_SSE3=ON" "-DUSE_SSE3=OFF"
+mquery USE_SSE4_1 "Use SSE4.1? If SSE4.1 instructions are not enabled they will be emulated." y "-DUSE_SSE4_1=ON" "-DUSE_SSE4_1=OFF"
+mquery USE_SSE4_2 "Use SSE4.2? If SSE4.2 instructions are not enabled they will be emulated." y "-DUSE_SSE4_2=ON" "-DUSE_SSE4_2=OFF"
+mquery USE_SSE4a "Use SSE4a? If SSE4a instructions are not enabled they will be emulated." y "-DUSE_SSE4a=ON" "-DUSE_SSE4a=OFF"
+mquery USE_SSSE3 "Use SSSE3? If SSSE3 instructions are not enabled they will be emulated." y "-DUSE_SSSE3=ON" "-DUSE_SSSE3=OFF"
+mquery USE_XOP "Use XOP?" y "-DUSE_XOP=ON" "-DUSE_XOP=OFF"
+mquery BUILD_BENCHMARKS "Build benchmarks?" y "-DBUILD_BENCHMARKS=ON" "BUILD_BENCHMARKS=OFF"
+mquery BUILD_EXAMPLES "Build examples?" n "-DBUILD_EXAMPLES=ON" "-DBUILD_EXAMPLES=OFF"
+mquery BUILD_TESTING "Build the testing tree." y "-DBUILD_TESTING=ON" "-DBUILD_TESTING=OFF"
+mquery STRICT_ALIASING "Enable strict aliasing rules for more aggressive optimizations" n "-DENABLE_STRICT_ALIASING=ON" "-DENABLE_STRICT_ALIASING=OFF"
+
--- /dev/null
+++ b/libs/Vc/DEPENDS
@@ -0,0 +1 @@
+depends cmake
--- /dev/null
+++ b/libs/Vc/DETAILS
@@ -0,0 +1,38 @@
+ MODULE=Vc
+ VERSION=0.7.1
+ SOURCE=$MODULE-$VERSION.tar.gz
+ SOURCE_URL=http://code.compeng.uni-frankfurt.de/attachments/download/161/
+ SOURCE_VFY=sha1:1669303dcd6f808aeedc8ef793b035dc4e442f69
+ WEB_SITE=http://code.compeng.uni-frankfurt.de/projects/vc
+ ENTERED=20110517
+ UPDATED=20130327
+ SHORT="library to ease explicit vectorization of C++ code"
+
+cat << EOF
+The use of SIMD is becoming increasingly important with modern CPUs. The SIMD
+instruction sets are being improved: new instructions are added as well as
+performance improvements relative to the scalar instructions. The next
+generations of CPUs will double the vector width. Neglecting SIMD in
+high-performance code thus becomes more expensive, compared to the theoretical
+performance of CPUs.
+
+The use of SIMD instructions is not easy. C/C++ compilers support some
+extensions to ease development for SSE and the upcoming AVX instructions.
+Commonly intrinsics are the available extension of choice. Intrinsics basically
+map every SSE instruction to a C function. The use of these intrinsics leads to
+code which is hard to read and maintain in addition to making portability to
+other vector units complicated.
+
+Vc: Vector Classes
+
+Vc is a free software library to ease explicit vectorization of C++ code. It
+has an intuitive API and provides portability between different compilers and
+compiler versions as well as portability between different vector instruction
+sets. Thus an application written with Vc can be compiled for
+
+ SSE2 up to SSE4.2 or SSE4a
+ LRBni (currently possible by use of the LRBni prototype header)
+ Scalar (fallback which works everywhere)
+ in development: AVX
+
+EOF
More information about the Lunar-commits
mailing list