[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