From fde5a8b3e107dbd7e9d588a3c7312e69dea65de3 Mon Sep 17 00:00:00 2001 From: Naveen Saini Date: Wed, 7 Jul 2021 13:26:11 +0800 Subject: openvkl: add recipe for Intel Open Volume Kernel Library MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Intel(R) Open Volume Kernel Library (Intel(R) Open VKL) is a collection of high-performance volume computation kernels, developed at Intel. The target users of Open VKL are graphics application engineers who want to improve the performance of their volume rendering applications by leveraging Open VKL’s performance-optimized kernels, which include volume traversal and sampling functionality for a variety of volumetric data formats. The kernels are optimized for the latest Intel(R) processors with support for SSE, AVX, AVX2, and AVX-512 instructions. Open VKL provides a C API, and also supports applications written with the Intel(R) Implicit SPMD Program Compiler (Intel(R) ISPC) by also providing an ISPC interface to the core volume algorithms. This makes it possible to write a renderer in ISPC that automatically vectorizes and leverages SSE, AVX, AVX2, and AVX-512 instructions. ISPC also supports runtime code selection, thus ISPC will select the best code path for your application. https://www.openvkl.org/ Signed-off-by: Naveen Saini Signed-off-by: Anuj Mittal --- ...Fixed-missing-include-for-F16C-intrinsics.patch | 44 ++++++++++++++++++++++ .../recipes-oneapi/openvkl/openvkl_0.13.0.bb | 36 ++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 dynamic-layers/openembedded-layer/recipes-oneapi/openvkl/openvkl/0001-half.hpp-Fixed-missing-include-for-F16C-intrinsics.patch create mode 100644 dynamic-layers/openembedded-layer/recipes-oneapi/openvkl/openvkl_0.13.0.bb (limited to 'dynamic-layers/openembedded-layer') diff --git a/dynamic-layers/openembedded-layer/recipes-oneapi/openvkl/openvkl/0001-half.hpp-Fixed-missing-include-for-F16C-intrinsics.patch b/dynamic-layers/openembedded-layer/recipes-oneapi/openvkl/openvkl/0001-half.hpp-Fixed-missing-include-for-F16C-intrinsics.patch new file mode 100644 index 00000000..4c8caaf2 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-oneapi/openvkl/openvkl/0001-half.hpp-Fixed-missing-include-for-F16C-intrinsics.patch @@ -0,0 +1,44 @@ +From 8b701e2b6989f7e071126989dd9453d7728d9a61 Mon Sep 17 00:00:00 2001 +From: Naveen Saini +Date: Wed, 7 Jul 2021 11:40:15 +0800 +Subject: [PATCH] half.hpp: Fixed missing include for F16C intrinsics + +Upstream-Status: Backport [https://sourceforge.net/p/half/code/415/] + +Ref: +https://github.com/openvkl/openvkl/issues/12 + +Signed-off-by: Naveen Saini +--- + testing/external/half.hpp | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/testing/external/half.hpp b/testing/external/half.hpp +index 69f2ffd..005043f 100644 +--- a/testing/external/half.hpp ++++ b/testing/external/half.hpp +@@ -266,10 +266,6 @@ + #if HALF_ENABLE_CPP11_HASH + #include + #endif +-#if HALF_ENABLE_F16C_INTRINSICS +- #include +-#endif +- + + #ifndef HALF_ENABLE_F16C_INTRINSICS + /// Enable F16C intruction set intrinsics. +@@ -281,6 +277,10 @@ + #define HALF_ENABLE_F16C_INTRINSICS __F16C__ + #endif + ++#if HALF_ENABLE_F16C_INTRINSICS ++ #include ++#endif ++ + #ifdef HALF_DOXYGEN_ONLY + /// Type for internal floating-point computations. + /// This can be predefined to a built-in floating-point type (`float`, `double` or `long double`) to override the internal +-- +2.17.1 + diff --git a/dynamic-layers/openembedded-layer/recipes-oneapi/openvkl/openvkl_0.13.0.bb b/dynamic-layers/openembedded-layer/recipes-oneapi/openvkl/openvkl_0.13.0.bb new file mode 100644 index 00000000..82c4bbea --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-oneapi/openvkl/openvkl_0.13.0.bb @@ -0,0 +1,36 @@ +SUMMARY = "Intel(R) Open Volume Kernel Library" +DESCRIPTION = "Intel(R) Open Volume Kernel Library (Intel(R) Open VKL) is a \ +collection of high-performance volume computation kernels. The target users \ +of Open VKL are graphics application engineers who want to improve the \ +performance of their volume rendering applications by leveraging Open VKL’s \ +performance-optimized kernels, which include volume traversal and sampling \ +functionality for a variety of volumetric data formats. The kernels are optimized \ +for the latest Intel(R) processors with support for SSE, AVX, AVX2, and AVX-512 \ +instructions." +HOMEPAGE = "https://www.openvkl.org/" + +LICENSE = "Apache-2.0 & BSD-3-Clause & MIT & Zlib" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57 \ + file://third-party-programs.txt;md5=90d62b467dd4fdf3c7d3d897fbac7437 \ + file://testing/external/half.hpp;beginline=1;endline=17;md5=cc1d65765aef5c4f6a37e7833173835a" + +inherit pkgconfig cmake + +S = "${WORKDIR}/git" + +SRC_URI = "git://github.com/openvkl/openvkl.git;protocol=https \ + file://0001-half.hpp-Fixed-missing-include-for-F16C-intrinsics.patch \ + " +SRCREV = "84b9d78ead12f369f37cee77d985da9d13c07ae1" + +COMPATIBLE_HOST = '(x86_64).*-linux' + +DEPENDS = "ispc-native rkcommon embree" + +EXTRA_OECMAKE += " \ + -DISPC_EXECUTABLE=${STAGING_BINDIR_NATIVE}/ispc \ + " +PACKAGES =+ "${PN}-examples" +FILES_${PN}-examples = "\ + ${bindir} \ + " -- cgit v1.2.3-54-g00ecf