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>
This commit is contained in:
Naveen Saini 2021-07-07 13:26:11 +08:00 committed by Anuj Mittal
parent 11971461e0
commit fde5a8b3e1
2 changed files with 80 additions and 0 deletions

View File

@ -0,0 +1,44 @@
From 8b701e2b6989f7e071126989dd9453d7728d9a61 Mon Sep 17 00:00:00 2001
From: Naveen Saini <naveen.kumar.saini@intel.com>
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 <naveen.kumar.saini@intel.com>
---
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 <functional>
#endif
-#if HALF_ENABLE_F16C_INTRINSICS
- #include <immintrin.h>
-#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 <immintrin.h>
+#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

View File

@ -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 VKLs \
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} \
"