Initial import of intel-qpl 1.9.0
Import of intel-qpl-1.9.0 @ 1813cced Add intel-qpl-tests subpackage Add OSCI tests Resolves: RHEL-47243 Signed-off-by: Vladis Dronov <vdronov@redhat.com>
This commit is contained in:
parent
d9df666f0c
commit
4832ff9e54
1
.gitignore
vendored
1
.gitignore
vendored
@ -0,0 +1 @@
|
||||
/intel-qpl-*.tar.gz
|
||||
95
intel-qpl.spec
Normal file
95
intel-qpl.spec
Normal file
@ -0,0 +1,95 @@
|
||||
Name: intel-qpl
|
||||
Version: 1.9.0
|
||||
Release: %autorelease
|
||||
Summary: Intel Query Processing Library
|
||||
|
||||
License: MIT
|
||||
URL: https://github.com/intel/qpl
|
||||
Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||
|
||||
Patch0: qpl-accel.patch
|
||||
Patch1: qpl-tests.patch
|
||||
Patch2: qpl-werror.patch
|
||||
|
||||
BuildRequires: cmake >= 3.1
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gtest-devel
|
||||
BuildRequires: libuuid-devel
|
||||
BuildRequires: libtsan
|
||||
BuildRequires: nasm
|
||||
|
||||
ExclusiveArch: x86_64
|
||||
|
||||
%description
|
||||
The Intel Query Processing Library (Intel QPL) is an open-source library to
|
||||
provide high-performance query processing operations on Intel CPUs. Intel QPL
|
||||
is aimed to support capabilities of the new Intel In-Memory Analytics
|
||||
Accelerator (Intel IAA) available on Next Generation Intel Xeon Scalable
|
||||
processors, codenamed Sapphire Rapids processor, such as very high throughput
|
||||
compression and decompression combined with primitive analytic functions, as
|
||||
well as to provide highly-optimized SW fallback on other Intel CPUs.
|
||||
Intel QPL primarily targets applications such as big-data and in-memory
|
||||
analytic databases.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for %{name}
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: accel-config-libs
|
||||
|
||||
%description devel
|
||||
The %{name}-devel package contains libraries and header files for
|
||||
applications that use %{name}.
|
||||
|
||||
%package tests
|
||||
Summary: Test applications that use %{name}
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: gtest
|
||||
|
||||
%description tests
|
||||
The %{name}-tests package contains test datasets, functional
|
||||
and cross-test applications that use and test %{name}.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n qpl-%{version}
|
||||
# Continue to use Gtest 1.14.0 instead of 1.15.2
|
||||
sed -i -e 's|GTEST_INTERNAL_ATTRIBUTE_MAYBE_UNUSED|GTEST_ATTRIBUTE_UNUSED_|g' tools/tests/common/test_cases.hpp
|
||||
|
||||
%build
|
||||
%cmake \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-DDYNAMIC_LOADING_LIBACCEL_CONFIG=ON \
|
||||
-DQPL_LIBRARY_TYPE=SHARED \
|
||||
-DSANITIZE_THREADS=ON \
|
||||
-DQPL_BUILD_TESTS=ON \
|
||||
-DQPL_BUILD_EXAMPLES=OFF
|
||||
%cmake_build
|
||||
|
||||
%install
|
||||
%cmake_install
|
||||
|
||||
%check
|
||||
# Change to "--gtest_filter=ta_unit*" for a longer and more comprehensive unit test (software path)
|
||||
%__cmake_builddir/tools/tests/functional/qpl-func-tests --dataset=tools/testdata/ --gtest_filter=ta_c_api_async_multiple_jobs_submit.*:ta_c_api_integrity_control.*:ta_c_api_crc64.*
|
||||
|
||||
%files
|
||||
%license LICENSE
|
||||
%doc README.md
|
||||
%{_libdir}/libqpl.so.1
|
||||
%{_libdir}/libqpl.so.%{version}
|
||||
|
||||
%files devel
|
||||
%{_includedir}/qpl
|
||||
%{_datadir}/intel-qpl/configs
|
||||
%{_datadir}/intel-qpl/scripts
|
||||
%{_libdir}/libqpl.so
|
||||
%{_libdir}/cmake/QPL
|
||||
%{_libdir}/pkgconfig/qpl.pc
|
||||
|
||||
%files tests
|
||||
%doc doc/source/documentation/get_started_docs/testing.rst
|
||||
%{_datadir}/intel-qpl/testdata
|
||||
%{_bindir}/qpl-func-tests
|
||||
%{_bindir}/qpl-cross-tests
|
||||
|
||||
%changelog
|
||||
%autochangelog
|
||||
7
qpl-accel.patch
Normal file
7
qpl-accel.patch
Normal file
@ -0,0 +1,7 @@
|
||||
--- a/tools/scripts/accel_conf.sh 2025-12-02 14:42:56.000000000 +0100
|
||||
+++ b/tools/scripts/accel_conf.sh 2025-12-02 14:42:56.000000000 +0100
|
||||
@@ -1,3 +1,4 @@
|
||||
+#!/bin/bash
|
||||
# ==========================================================================
|
||||
# Copyright (C) 2022 Intel Corporation
|
||||
#
|
||||
76
qpl-tests.patch
Normal file
76
qpl-tests.patch
Normal file
@ -0,0 +1,76 @@
|
||||
--- a/tools/CMakeLists.txt 2025-12-02 14:42:56.000000000 +0100
|
||||
+++ b/tools/CMakeLists.txt 2025-12-02 14:42:56.000000000 +0100
|
||||
@@ -19,7 +19,7 @@
|
||||
add_subdirectory(utils)
|
||||
set(TEMP_CMAKE_CXX_CLANG_TIDY ${CMAKE_CXX_CLANG_TIDY})
|
||||
set(CMAKE_CXX_CLANG_TIDY "")
|
||||
- add_subdirectory(third-party/google-test EXCLUDE_FROM_ALL)
|
||||
+ # add_subdirectory(third-party/google-test EXCLUDE_FROM_ALL)
|
||||
set(CMAKE_CXX_CLANG_TIDY ${TEMP_CMAKE_CXX_CLANG_TIDY})
|
||||
add_subdirectory(tests)
|
||||
if (UNIX)
|
||||
@@ -27,18 +27,21 @@ if (QPL_BUILD_TESTS)
|
||||
SET(BENCHMARK_ENABLE_TESTING OFF CACHE BOOL "" FORCE)
|
||||
set(TEMP_CMAKE_CXX_CLANG_TIDY ${CMAKE_CXX_CLANG_TIDY})
|
||||
set(CMAKE_CXX_CLANG_TIDY "")
|
||||
- add_subdirectory(third-party/benchmark EXCLUDE_FROM_ALL)
|
||||
+ # add_subdirectory(third-party/benchmark EXCLUDE_FROM_ALL)
|
||||
set(CMAKE_CXX_CLANG_TIDY ${TEMP_CMAKE_CXX_CLANG_TIDY})
|
||||
- add_subdirectory(benchmarks)
|
||||
+ # add_subdirectory(benchmarks)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
add_subdirectory(pkg-config)
|
||||
|
||||
install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/configs
|
||||
- DESTINATION share/${CMAKE_PROJECT_NAME}
|
||||
+ DESTINATION share/intel-qpl
|
||||
COMPONENT RUNTIME)
|
||||
install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/scripts
|
||||
- DESTINATION share/${CMAKE_PROJECT_NAME}
|
||||
+ DESTINATION share/intel-qpl
|
||||
COMPONENT RUNTIME
|
||||
FILE_PERMISSIONS USE_SOURCE_PERMISSIONS)
|
||||
+install(DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/testdata
|
||||
+ DESTINATION share/intel-qpl
|
||||
+ COMPONENT RUNTIME)
|
||||
--- a/tools/tests/functional/CMakeLists.txt 2025-12-02 14:42:56.000000000 +0100
|
||||
+++ b/tools/tests/functional/CMakeLists.txt 2025-12-02 14:42:56.000000000 +0100
|
||||
@@ -22,6 +22,8 @@ add_executable(tests main.cpp
|
||||
$<TARGET_OBJECTS:unit_tests>)
|
||||
|
||||
qpl_set_common_target_settings(tests)
|
||||
+set_target_properties(tests PROPERTIES
|
||||
+ OUTPUT_NAME qpl-func-tests)
|
||||
|
||||
get_property(LIB_DEPS GLOBAL PROPERTY QPL_LIB_DEPS)
|
||||
|
||||
@@ -41,6 +43,9 @@ target_compile_definitions(tests
|
||||
target_compile_options(tests
|
||||
PRIVATE $<TARGET_PROPERTY:tests_common,COMPILE_OPTIONS>)
|
||||
|
||||
+install(TARGETS tests
|
||||
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
+
|
||||
# Test groups that run under target: make test
|
||||
|
||||
# Smoke tests are a group of small number of tests that can run in a few seconds on any HW.
|
||||
--- a/tools/tests/cross_tests/CMakeLists.txt 2025-12-02 14:42:56.000000000 +0100
|
||||
+++ b/tools/tests/cross_tests/CMakeLists.txt 2025-12-02 14:42:56.000000000 +0100
|
||||
@@ -14,6 +14,8 @@ file(GLOB SOURCES *.cpp)
|
||||
add_executable(cross_tests ${SOURCES})
|
||||
|
||||
qpl_set_common_target_settings(cross_tests)
|
||||
+set_target_properties(cross_tests PROPERTIES
|
||||
+ OUTPUT_NAME qpl-cross-tests)
|
||||
|
||||
get_target_property(QPL_SOURCE_DIR qpl SOURCE_DIR)
|
||||
|
||||
@@ -31,3 +33,6 @@ target_link_libraries(cross_tests
|
||||
|
||||
target_compile_definitions(cross_tests PRIVATE $<TARGET_PROPERTY:tests_common,COMPILE_DEFINITIONS>)
|
||||
target_compile_options(cross_tests PRIVATE $<TARGET_PROPERTY:tests_common,COMPILE_OPTIONS>)
|
||||
+
|
||||
+install(TARGETS cross_tests
|
||||
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
11
qpl-werror.patch
Normal file
11
qpl-werror.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/cmake/target_settings.cmake 2025-12-02 14:42:56.000000000 +0100
|
||||
+++ b/cmake/target_settings.cmake 2025-12-02 14:42:56.000000000 +0100
|
||||
@@ -119,7 +119,7 @@ function (qpl_set_language_standards tar
|
||||
endforeach ()
|
||||
endfunction ()
|
||||
|
||||
-option(QPL_TREAT_WARNINGS_AS_ERRORS "Treat all compiler warnings as errors" ON)
|
||||
+option(QPL_TREAT_WARNINGS_AS_ERRORS "Treat all compiler warnings as errors" OFF)
|
||||
|
||||
# Enables all reasonable warnings for a target with the given name ${target_name}.
|
||||
#
|
||||
1
sources
Normal file
1
sources
Normal file
@ -0,0 +1 @@
|
||||
SHA512 (intel-qpl-1.9.0.tar.gz) = 4a9c51d6866a517cd6b75f2ec431b00a3b3292e3b15b2a128ccafd807c4b5212b55f05f37dee872ff35df1c0764aed694281145122e63c0918281ad17ce01754
|
||||
5
tests/functest.sh
Executable file
5
tests/functest.sh
Executable file
@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
# This is a software path test, it can be run on a machine without IAA hardware
|
||||
rpm -qa gtest\* intel-qpl\*
|
||||
qpl-func-tests --dataset=/usr/share/intel-qpl/testdata/ --gtest_filter=ta_unit\*
|
||||
13
tests/tests.yml
Normal file
13
tests/tests.yml
Normal file
@ -0,0 +1,13 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
roles:
|
||||
- role: standard-test-basic
|
||||
tags:
|
||||
- classic
|
||||
tests:
|
||||
- functest:
|
||||
dir: .
|
||||
run: functest.sh
|
||||
required_packages:
|
||||
- gtest
|
||||
- intel-qpl-tests
|
||||
Loading…
Reference in New Issue
Block a user