From 52cd98769ea0425346320d9d8e6671f46ea1d12f Mon Sep 17 00:00:00 2001 From: Attila Afra Date: Fri, 1 Feb 2019 12:42:57 +0200 Subject: [PATCH] lowered the ISA requirement from SSE4.2 to SSE4.1 --- CHANGELOG.md | 1 + CMakeLists.txt | 6 +++--- core/device.cpp | 4 ++-- doc/api.md | 2 +- doc/downloads.md | 2 +- doc/overview.md | 2 +- mkl-dnn | 2 +- 7 files changed, 10 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a1f604f2..f54534d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ Version History - Fixed wrong path in the generated CMake config - Fixed wrong rpath in the binaries +- Lowered the CPU requirement to SSE4.1 ### Changes in v0.8.0: diff --git a/CMakeLists.txt b/CMakeLists.txt index f0f0073d..90c9ff8c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -141,12 +141,12 @@ generate_cpp_resources(WEIGHTS_SOURCES "oidn::weights" add_library(${PROJECT_NAME} SHARED ${CORE_SOURCES} ${WEIGHTS_SOURCES}) -add_library("${PROJECT_NAME}_sse42" STATIC ${CORE_SOURCES_SSE42}) -set_target_properties("${PROJECT_NAME}_sse42" PROPERTIES COMPILE_FLAGS "${ISA_FLAGS_SSE42}") +add_library("${PROJECT_NAME}_sse41" STATIC ${CORE_SOURCES_SSE42}) +set_target_properties("${PROJECT_NAME}_sse41" PROPERTIES COMPILE_FLAGS "${ISA_FLAGS_SSE41}") target_link_libraries(${PROJECT_NAME} PRIVATE - "${PROJECT_NAME}_sse42" + "${PROJECT_NAME}_sse41" common mkldnn ${TBB_LIBRARIES} ) diff --git a/core/device.cpp b/core/device.cpp index ffd02b30..608f94a1 100644 --- a/core/device.cpp +++ b/core/device.cpp @@ -23,8 +23,8 @@ namespace oidn { Device::Device() { - if (!mayiuse(sse42)) - throw Exception(Error::UnsupportedHardware, "SSE4.2 support is required at minimum"); + if (!mayiuse(sse41)) + throw Exception(Error::UnsupportedHardware, "SSE4.1 support is required at minimum"); } Device::~Device() diff --git a/doc/api.md b/doc/api.md index 774094cd..c3ac1ff5 100644 --- a/doc/api.md +++ b/doc/api.md @@ -99,7 +99,7 @@ can be one of the following: Name Description ------------------------ ------------------------------------------------------ OIDN_DEVICE_TYPE_DEFAULT select the approximately fastest device -OIDN_DEVICE_TYPE_CPU CPU device (requires SSE4.2 support) +OIDN_DEVICE_TYPE_CPU CPU device (requires SSE4.1 support) ------------------------ ------------------------------------------------------ : Supported device types, i.e., valid constants of type `OIDNDeviceType`. diff --git a/doc/downloads.md b/doc/downloads.md index ccbb59f1..eedbc38e 100644 --- a/doc/downloads.md +++ b/doc/downloads.md @@ -4,7 +4,7 @@ Download Precompiled Open Image Denoise Binary Packages Prerequisites ------------- -Your CPU must support at least SSE4.2 to run Open Image Denoise, and you need +Your CPU must support at least SSE4.1 to run Open Image Denoise, and you need a 64-bit operating system as well. The TGZ/ZIP packages contain most needed 3rd party dependencies. diff --git a/doc/overview.md b/doc/overview.md index 81cd9612..b0765f44 100644 --- a/doc/overview.md +++ b/doc/overview.md @@ -24,7 +24,7 @@ ray tracing. Open Image Denoise internally builds on top of [IntelĀ® Math Kernel Library for Deep Neural Networks (MKL-DNN)](https://github.com/intel/mkl-dnn), and fully exploits modern instruction sets like Intel SSE4, AVX2, and AVX-512 -to achieve high denoising performance. A CPU with support for at least SSE4.2 +to achieve high denoising performance. A CPU with support for at least SSE4.1 is required to run Open Image Denoise. diff --git a/mkl-dnn b/mkl-dnn index ad659f03..cdbcddd5 160000 --- a/mkl-dnn +++ b/mkl-dnn @@ -1 +1 @@ -Subproject commit ad659f033920724f8bc9ab5f6ba367c0b8697b8a +Subproject commit cdbcddd53b3b83ef72d6a1bf6ea513c1598211b5