diff options
author | Naveen Saini <naveen.kumar.saini@intel.com> | 2021-07-07 13:26:11 +0800 |
---|---|---|
committer | Anuj Mittal <anuj.mittal@intel.com> | 2021-07-08 00:29:52 +0800 |
commit | fde5a8b3e107dbd7e9d588a3c7312e69dea65de3 (patch) | |
tree | 258348fc8eb317fa9ff04b021e12a5095aca62da /dynamic-layers | |
parent | 11971461e0ff2e6173ddcd783170666a1480e198 (diff) | |
download | meta-intel-fde5a8b3e107dbd7e9d588a3c7312e69dea65de3.tar.gz |
openvkl: add recipe for Intel Open Volume Kernel Library
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 <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Diffstat (limited to 'dynamic-layers')
2 files changed, 80 insertions, 0 deletions
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 @@ | |||
1 | From 8b701e2b6989f7e071126989dd9453d7728d9a61 Mon Sep 17 00:00:00 2001 | ||
2 | From: Naveen Saini <naveen.kumar.saini@intel.com> | ||
3 | Date: Wed, 7 Jul 2021 11:40:15 +0800 | ||
4 | Subject: [PATCH] half.hpp: Fixed missing include for F16C intrinsics | ||
5 | |||
6 | Upstream-Status: Backport [https://sourceforge.net/p/half/code/415/] | ||
7 | |||
8 | Ref: | ||
9 | https://github.com/openvkl/openvkl/issues/12 | ||
10 | |||
11 | Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> | ||
12 | --- | ||
13 | testing/external/half.hpp | 8 ++++---- | ||
14 | 1 file changed, 4 insertions(+), 4 deletions(-) | ||
15 | |||
16 | diff --git a/testing/external/half.hpp b/testing/external/half.hpp | ||
17 | index 69f2ffd..005043f 100644 | ||
18 | --- a/testing/external/half.hpp | ||
19 | +++ b/testing/external/half.hpp | ||
20 | @@ -266,10 +266,6 @@ | ||
21 | #if HALF_ENABLE_CPP11_HASH | ||
22 | #include <functional> | ||
23 | #endif | ||
24 | -#if HALF_ENABLE_F16C_INTRINSICS | ||
25 | - #include <immintrin.h> | ||
26 | -#endif | ||
27 | - | ||
28 | |||
29 | #ifndef HALF_ENABLE_F16C_INTRINSICS | ||
30 | /// Enable F16C intruction set intrinsics. | ||
31 | @@ -281,6 +277,10 @@ | ||
32 | #define HALF_ENABLE_F16C_INTRINSICS __F16C__ | ||
33 | #endif | ||
34 | |||
35 | +#if HALF_ENABLE_F16C_INTRINSICS | ||
36 | + #include <immintrin.h> | ||
37 | +#endif | ||
38 | + | ||
39 | #ifdef HALF_DOXYGEN_ONLY | ||
40 | /// Type for internal floating-point computations. | ||
41 | /// This can be predefined to a built-in floating-point type (`float`, `double` or `long double`) to override the internal | ||
42 | -- | ||
43 | 2.17.1 | ||
44 | |||
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 @@ | |||
1 | SUMMARY = "Intel(R) Open Volume Kernel Library" | ||
2 | DESCRIPTION = "Intel(R) Open Volume Kernel Library (Intel(R) Open VKL) is a \ | ||
3 | collection of high-performance volume computation kernels. The target users \ | ||
4 | of Open VKL are graphics application engineers who want to improve the \ | ||
5 | performance of their volume rendering applications by leveraging Open VKL’s \ | ||
6 | performance-optimized kernels, which include volume traversal and sampling \ | ||
7 | functionality for a variety of volumetric data formats. The kernels are optimized \ | ||
8 | for the latest Intel(R) processors with support for SSE, AVX, AVX2, and AVX-512 \ | ||
9 | instructions." | ||
10 | HOMEPAGE = "https://www.openvkl.org/" | ||
11 | |||
12 | LICENSE = "Apache-2.0 & BSD-3-Clause & MIT & Zlib" | ||
13 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57 \ | ||
14 | file://third-party-programs.txt;md5=90d62b467dd4fdf3c7d3d897fbac7437 \ | ||
15 | file://testing/external/half.hpp;beginline=1;endline=17;md5=cc1d65765aef5c4f6a37e7833173835a" | ||
16 | |||
17 | inherit pkgconfig cmake | ||
18 | |||
19 | S = "${WORKDIR}/git" | ||
20 | |||
21 | SRC_URI = "git://github.com/openvkl/openvkl.git;protocol=https \ | ||
22 | file://0001-half.hpp-Fixed-missing-include-for-F16C-intrinsics.patch \ | ||
23 | " | ||
24 | SRCREV = "84b9d78ead12f369f37cee77d985da9d13c07ae1" | ||
25 | |||
26 | COMPATIBLE_HOST = '(x86_64).*-linux' | ||
27 | |||
28 | DEPENDS = "ispc-native rkcommon embree" | ||
29 | |||
30 | EXTRA_OECMAKE += " \ | ||
31 | -DISPC_EXECUTABLE=${STAGING_BINDIR_NATIVE}/ispc \ | ||
32 | " | ||
33 | PACKAGES =+ "${PN}-examples" | ||
34 | FILES_${PN}-examples = "\ | ||
35 | ${bindir} \ | ||
36 | " | ||