[arch-commits] Commit in openimagedenoise/trunk (PKGBUILD fix-unwanted-simd.patch)

Filipe Laíns ffy00 at archlinux.org
Fri Jun 12 19:23:51 UTC 2020


    Date: Friday, June 12, 2020 @ 19:23:51
  Author: ffy00
Revision: 642556

upgpkg: openimagedenoise 1.2.0-3

Added:
  openimagedenoise/trunk/fix-unwanted-simd.patch
Modified:
  openimagedenoise/trunk/PKGBUILD

-------------------------+
 PKGBUILD                |   17 +++++++++----
 fix-unwanted-simd.patch |   59 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 71 insertions(+), 5 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2020-06-12 18:58:34 UTC (rev 642555)
+++ PKGBUILD	2020-06-12 19:23:51 UTC (rev 642556)
@@ -4,19 +4,23 @@
 pkgname=openimagedenoise
 _pkgname=oidn
 pkgver=1.2.0
-pkgrel=2
+pkgrel=3
 pkgdesc='Intel(R) Open Image Denoise library'
 arch=('x86_64')
 url='https://openimagedenoise.github.io'
 license=('Apache')
-depends=('intel-tbb' 'python')
-makedepends=('git' 'cmake' 'ninja' 'ispc')
+depends=('intel-tbb')
+makedepends=('git' 'cmake' 'ninja' 'ispc' 'python' 'git-lfs')
 source=("git+https://github.com/OpenImageDenoise/oidn#tag=v$pkgver"
         'git+https://github.com/OpenImageDenoise/oidn-weights'
-        "oidn-mkl-dnn::git+https://github.com/OpenImageDenoise/mkl-dnn")
+        "oidn-mkl-dnn::git+https://github.com/OpenImageDenoise/mkl-dnn"
+        'fix-ispc.patch::https://github.com/OpenImageDenoise/oidn/commit/e321d7c90a2c706a521a3afd8913af36b121dc9e.patch'
+        'fix-unwanted-simd.patch')
 sha512sums=('SKIP'
             'SKIP'
-            'SKIP')
+            'SKIP'
+            'b03916098e771fb0467d32d60aa687c804da1d184956b392489e5943c8d71e439c05d05d809fc8e616a45a1cdcc9425cd29e73bd2222f4b6a2093c3eb09fadb2'
+            'e180338d0b1fbfd52c3c7fe29cabcb482a6ec80f6459e7096b7773bd7f3ae77035168cec62d20103d25d14eeb809e769166a9d0f645c4dba8f1a59cdf1d2157b')
 
 prepare() {
     cd $_pkgname
@@ -25,6 +29,9 @@
     git config submodule.weights.url "$srcdir"/oidn-weights
     git config submodule.mkl-dnn.url "$srcdir"/oidn-mkl-dnn
     git submodule update
+
+    patch -p1 -i ../fix-ispc.patch
+    patch -p1 -i ../fix-unwanted-simd.patch
 }
 
 build() {

Added: fix-unwanted-simd.patch
===================================================================
--- fix-unwanted-simd.patch	                        (rev 0)
+++ fix-unwanted-simd.patch	2020-06-12 19:23:51 UTC (rev 642556)
@@ -0,0 +1,59 @@
+From a0060e2b7055f903ffd3de01adafa2eb75cf68a8 Mon Sep 17 00:00:00 2001
+From: Attila Afra <attila.t.afra at intel.com>
+Date: Tue, 9 Jun 2020 23:26:39 +0300
+Subject: [PATCH] fixed crash on pre-SSE4 CPUs when using some recent compilers
+ (e.g. GCC 10)
+
+---
+ cmake/oidn_dnnl.cmake     | 2 +-
+ cmake/oidn_platform.cmake | 5 -----
+ 2 files changed, 0 insertions(+), 6 deletions(-)
+--- a/cmake/oidn_dnnl.cmake
++++ b/cmake/oidn_dnnl.cmake
+@@ -118,7 +118,7 @@ target_compile_definitions(dnnl
+     -DDNNL_ENABLE_CONCURRENT_EXEC
+ )
+ 
+-set(DNNL_COMPILE_OPTIONS ${OIDN_ISA_FLAGS_SSE41})
++set(DNNL_COMPILE_OPTIONS "")
+ if(WIN32 AND CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
+   # Correct 'jnl' macro/jit issue
+   list(APPEND DNNL_COMPILE_OPTIONS "/Qlong-double")
+diff --git a/cmake/oidn_platform.cmake b/cmake/oidn_platform.cmake
+index 9a03d017..b06853e4 100644
+--- a/cmake/oidn_platform.cmake
++++ b/cmake/oidn_platform.cmake
+@@ -34,7 +34,6 @@ if(MSVC)
+     append(OIDN_C_CXX_FLAGS "/wd4244")
+   elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
+     append(OIDN_C_CXX_FLAGS "/MP")
+-    set(OIDN_ISA_FLAGS_SSE41 "-QxSSE4.1")
+     # Disable warning: option '/Qstd=c++11' is not valid for C compilations (CMake bug?)
+     append(OIDN_C_CXX_FLAGS "/Qwd10370")
+     # Disable diagnostic: loop was not vectorized with "simd"
+@@ -52,7 +51,6 @@ if(MSVC)
+     # disable: disabling optimization; runtime debug checks enabled
+     append(OIDN_C_CXX_FLAGS_DEBUG "-Qdiag-disable:10182")
+   elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+-    set(OIDN_ISA_FLAGS_SSE41 "-msse4.1")
+     # Disable warning: cannot vectorize some loops with #pragma omp simd
+     append(OIDN_C_CXX_FLAGS "-Wno-pass-failed")
+     # Disable warning: function is not needed and will not be emitted
+@@ -64,17 +62,14 @@ elseif(UNIX OR MINGW)
+   append(OIDN_C_CXX_FLAGS "-fvisibility=internal")
+   append(OIDN_CXX_FLAGS "-fvisibility-inlines-hidden")
+   if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+-    set(OIDN_ISA_FLAGS_SSE41 "-msse4.1")
+     # Disable warning: cannot vectorize some loops with #pragma omp simd
+     append(OIDN_C_CXX_FLAGS "-Wno-pass-failed")
+     # Disable warning: function is not needed and will not be emitted
+     append(OIDN_C_CXX_FLAGS "-Wno-unneeded-internal-declaration")
+   elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
+-    set(OIDN_ISA_FLAGS_SSE41 "-msse4.1")
+     # Suppress warning on assumptions made regarding overflow (#146)
+     append(OIDN_C_CXX_FLAGS "-Wno-strict-overflow")
+   elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
+-    set(OIDN_ISA_FLAGS_SSE41 "-xSSE4.1")
+     # Disable optimizations in debug mode
+     append(OIDN_C_CXX_FLAGS_DEBUG "-O0")
+     # Workaround for ICC that produces error caused by pragma omp simd collapse(..)



More information about the arch-commits mailing list