From: Randolph Sapp <rs@ti.com>
To: <a-christidis@ti.com>, <raj.khem@gmail.com>
Cc: <openembedded-core@lists.openembedded.org>
Subject: Re: [OE-core] [master][PATCH] opencl-cts: add recipe
Date: Tue, 21 Jan 2025 18:41:05 -0600 [thread overview]
Message-ID: <D786MZ0M27T7.20232DKF09I6A@ti.com> (raw)
In-Reply-To: <20250117215818.445740-1-a-christidis@ti.com>
On Fri Jan 17, 2025 at 3:58 PM CST, a-christidis via lists.openembedded.org wrote:
> From: Antonios Christidis <a-christidis@ti.com>
>
> This recipe provides the opecl-cts suite. This is a pre-release version
> v2024-08-08, which I have tested to work with opencl-headers version v2024.05.08
> . The pre-release version was picked due to incompatibility issues with other
> versions of headers. Commits past the pre release will run into issues with
> CL_UNORM_INT_2_101010_EXT
>
> The recipe also includes a patch, to allow it to compile and build properly.
> Further information below.
>
> Signed-off-by: Antonios Christidis <a-christidis@ti.com>
> ---
> .../files/0001-Ignore-Compiler-Warnings.patch | 36 +++++++++++++++++++
> .../opencl/opencl-cts_2024.08.08.bb | 24 +++++++++++++
> 2 files changed, 60 insertions(+)
> create mode 100644 meta-oe/recipes-core/opencl/files/0001-Ignore-Compiler-Warnings.patch
> create mode 100644 meta-oe/recipes-core/opencl/opencl-cts_2024.08.08.bb
>
> diff --git a/meta-oe/recipes-core/opencl/files/0001-Ignore-Compiler-Warnings.patch b/meta-oe/recipes-core/opencl/files/0001-Ignore-Compiler-Warnings.patch
> new file mode 100644
> index 000000000..38016789b
> --- /dev/null
> +++ b/meta-oe/recipes-core/opencl/files/0001-Ignore-Compiler-Warnings.patch
> @@ -0,0 +1,36 @@
> +From 082ce10dd191f036f5a6e1fb31134e9736ba3643 Mon Sep 17 00:00:00 2001
> +From: Antonios Christidis <a-christidis@ti.com>
> +Date: Fri, 17 Jan 2025 15:05:39 -0600
> +Subject: [PATCH] Ignore Compiler Warnings
> +
> +
> +Upstream repo is using Ubuntu 20.04 to build. Their compiler is old enough to
> +to not catch these warnings. While our distro compiler is capable of catching
> +them, resulting in compilation failures. Thus change the build system to ignore
> +the warnings. Resulting in no errors (-Werror flag enabled).
> +
> +Upstream-Status: Inappropriate [oe specific - compilation errors due to cross-compiling]
> +
> +Singed-Off-By: Antonios Christidis <a-christidis@ti.com>
> +---
> + CMakeLists.txt | 4 +++-
> + 1 file changed, 3 insertions(+), 1 deletion(-)
> +
> +diff --git a/CMakeLists.txt b/CMakeLists.txt
> +index 5cfef6b3..71b6ddb4 100644
> +--- a/CMakeLists.txt
> ++++ b/CMakeLists.txt
> +@@ -109,7 +109,9 @@ if(CMAKE_COMPILER_IS_GNUCC OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "(Apple)?Clang"
> + add_cxx_flag_if_supported(-Wno-error=cpp) # Allow #warning directive
> + add_cxx_flag_if_supported(-Wno-unknown-pragmas) # Issue #785
> + add_cxx_flag_if_supported(-Wno-error=asm-operand-widths) # Issue #784
> +-
> ++ add_cxx_flag_if_supported(-Wno-maybe-uninitialized)
> ++ add_cxx_flag_if_supported(-Wno-stringop-truncation)
> ++ add_cxx_flag_if_supported(-Wno-strict-aliasing)
> + # -msse -mfpmath=sse to force gcc to use sse for float math,
> + # avoiding excess precision problems that cause tests like int2float
> + # to falsely fail. -ffloat-store also works, but WG suggested
> +--
> +2.34.1
> +
> diff --git a/meta-oe/recipes-core/opencl/opencl-cts_2024.08.08.bb b/meta-oe/recipes-core/opencl/opencl-cts_2024.08.08.bb
> new file mode 100644
> index 000000000..aa0e090db
> --- /dev/null
> +++ b/meta-oe/recipes-core/opencl/opencl-cts_2024.08.08.bb
> @@ -0,0 +1,24 @@
> +SUMMARY = "OpenCL CTS"
> +DESCRIPTION = "OpenCL CTS test suite"
> +LICENSE = "Apache-2.0"
> +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
> +
> +inherit pkgconfig cmake
> +
> +DEPENDS += "opencl-headers opencl-icd-loader"
> +RDEPENDS:${PN} += "python3-core"
Missing RDEPENDS on python3-io since the run_conformance.py script needs the
tempfile module.
> +
> +S = "${WORKDIR}/git"
> +
> +SRC_URI = "git://github.com/KhronosGroup/OpenCL-CTS.git;protocol=https;branch=main \
Would recommend using ";lfs=0" here. LFS isn't setup in the CROPS containers and
even though this git project has lfs metadata, it hasn't used lfs since:
ad8ab3fe (Remove OpenCL C++ tests (#1241), 2021-05-13)
> + file://0001-Ignore-Compiler-Warnings.patch"
> +
> +SRCREV = "a406b340913f622da089b00f284a597656c10239"
> +
> +EXTRA_OECMAKE:append = " -DCL_INCLUDE_DIR=${STAGING_INCDIR} -DCL_LIB_DIR=${STAGING_LIBDIR} -DOPENCL_LIBRARIES=OpenCL"
> +
> +do_install() {
> + install -d ${D}${bindir}/opencl_test_conformance
> + cp -r ${B}/test_conformance/* ${D}${bindir}/opencl_test_conformance
> + sed -i 's:/usr/bin/python:/usr/bin/python3:g' ${D}${bindir}/opencl_test_conformance/run_conformance.py
Would recommend the following to help with QA warnings:
find "${D}${bindir}/opencl_test_conformance" -name cmake_install.cmake -type f -delete
find "${D}${bindir}/opencl_test_conformance" -name CMakeFiles -type d -exec rm -rf "{}" \; -depth
> +}
prev parent reply other threads:[~2025-01-22 0:41 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-17 21:58 [master][PATCH] opencl-cts: add recipe a-christidis
2025-01-17 22:16 ` Patchtest results for " patchtest
2025-01-22 0:41 ` Randolph Sapp [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=D786MZ0M27T7.20232DKF09I6A@ti.com \
--to=rs@ti.com \
--cc=a-christidis@ti.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=raj.khem@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox