From 8cbeba772525847331d64aba8b42ce7eebdf7af2 Mon Sep 17 00:00:00 2001 From: Anuj Mittal Date: Mon, 10 Jun 2024 14:55:38 +0800 Subject: ispc: upgrade 1.23.0 -> 1.24.0 Language changes: - Added support for non-type template parameters. Uniform integers and enums can be used now as template parameters. - Added dot product functions for unsigned and signed int8 and int16 types. They leverage AVX-VNNI and AVX512-VNNI instructions if supported by targets (docs). - Added macro definitions for numeric limits. New targets: - avx2vnni-i32x4, avx2vnni-i32x8, avx2vnni-i32x16 with AVX-VNNI instruction support, - avx512icl-x4, avx512icl-x8, avx512icl-x16, avx512icl-x32 and avx512icl-x64 with AVX512-VNNI instruction support. Code generation: - Fixed generation of code for GPU when unnecessary vectorized instruction are used during address arithmetic, e.g., for accessing fields of varying structures (#2846). - Improved generated code for cases when foreach loop iteration domain is less than the target width (#2836 ). Compiler switches behavior: - --pic command line flag now corresponds to the -fpic flag of Clang and GCC, whereas the newly introduced --PIC corresponds to -fPIC. Bug fixes: - The implementation of round standard library function was aligned across all targets. It may potentially affect the results of the code that uses this function for the following targets: avx2-i16x16, avx2-i8x32 and all avx512 targets (#2793). - Fixed cases when unwind info were not generated for functions. This impacted debugging and profiling on Windows (#2842). - Fixed broken targets sse4-i8xN and avx2-i8xN (#2800). More details: https://github.com/ispc/ispc/releases/tag/v1.24.0 Signed-off-by: Anuj Mittal --- .../recipes-core/ispc/ispc_1.23.0.bb | 64 ---------------------- .../recipes-core/ispc/ispc_1.24.0.bb | 64 ++++++++++++++++++++++ 2 files changed, 64 insertions(+), 64 deletions(-) delete mode 100644 dynamic-layers/openembedded-layer/recipes-core/ispc/ispc_1.23.0.bb create mode 100644 dynamic-layers/openembedded-layer/recipes-core/ispc/ispc_1.24.0.bb (limited to 'dynamic-layers/openembedded-layer') diff --git a/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc_1.23.0.bb b/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc_1.23.0.bb deleted file mode 100644 index ed8df859..00000000 --- a/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc_1.23.0.bb +++ /dev/null @@ -1,64 +0,0 @@ -SUMMARY = "Intel(R) Implicit SPMD Program Compiler" -DESCRIPTION = "ispc is a compiler for a variant of the C programming language, \ -with extensions for single program, multiple data programming." -HOMEPAGE = "https://github.com/ispc/ispc" - -LICENSE = "BSD-3-Clause & Apache-2.0-with-LLVM-exception" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=da5ecffdd210b3cf776b32b41c182e87 \ - file://third-party-programs.txt;md5=2061218c7be521556719c8b504bf9ddd" - -inherit cmake python3native ptest - -S = "${WORKDIR}/git" - -SRC_URI = "git://github.com/ispc/ispc.git;protocol=https;branch=main \ - file://0002-cmake-don-t-build-for-32-bit-targets.patch \ - file://0001-Fix-QA-Issues.patch \ - file://0001-Add-print-function-to-print-test-run-status-in-ptest.patch \ - file://run-ptest \ - " - -SRCREV = "bcb2cf896c00f9a802a11cbf291ef6e44b205416" - -COMPATIBLE_HOST = '(x86_64).*-linux' - -DEPENDS += " clang-native bison-native flex-native" -DEPENDS:append:class-target = " clang" -RDEPENDS:${PN}-ptest += " python3-multiprocessing" - -PACKAGECONFIG ??= "tbb" -PACKAGECONFIG[tbb] = "-DISPCRT_BUILD_TASK_MODEL=TBB, -DISPCRT_BUILD_TASK_MODEL=OpenMP, tbb" - -YFLAGS='-d -t -v -y --file-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}' - -do_configure:prepend() { - sed -i -e 's#\${BISON_EXECUTABLE}.*#\${BISON_EXECUTABLE} ${YFLAGS} #g' ${S}/CMakeLists.txt - sed -i -e 's#\${FLEX_EXECUTABLE}.*#\${FLEX_EXECUTABLE} \-L #g' ${S}/CMakeLists.txt -} - -do_install_ptest() { - cp -rf ${S}/run_tests.py ${D}${PTEST_PATH} - cp -rf ${S}/common.py ${D}${PTEST_PATH} - cp -rf ${S}/tests ${D}${PTEST_PATH} - cp -rf ${S}/test_static.isph ${D}${PTEST_PATH} - cp -rf ${S}/fail_db.txt ${D}${PTEST_PATH} - cp -rf ${S}/test_static.cpp ${D}${PTEST_PATH} -} - -EXTRA_OECMAKE += " \ - -DISPC_INCLUDE_TESTS=OFF \ - -DISPC_INCLUDE_EXAMPLES=OFF \ - -DARM_ENABLED=OFF \ - -DISPC_CROSS=ON \ - -DISPC_ANDROID_TARGET=OFF \ - -DISPC_FREEBSD_TARGET=OFF \ - -DISPC_WINDOWS_TARGET=OFF \ - -DISPC_IOS_TARGET=OFF \ - -DISPC_PS_TARGET=OFF \ - -DSYSROOT_DIR=${STAGING_DIR} \ - -DCLANG_EXECUTABLE=${STAGING_BINDIR_NATIVE}/clang \ - -DCLANGPP_EXECUTABLE=${STAGING_BINDIR_NATIVE}/clang++ \ - -DLLVM_AS_EXECUTABLE=${STAGING_BINDIR_NATIVE}/llvm-as \ - " - -BBCLASSEXTEND = "native nativesdk" diff --git a/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc_1.24.0.bb b/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc_1.24.0.bb new file mode 100644 index 00000000..55107397 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc_1.24.0.bb @@ -0,0 +1,64 @@ +SUMMARY = "Intel(R) Implicit SPMD Program Compiler" +DESCRIPTION = "ispc is a compiler for a variant of the C programming language, \ +with extensions for single program, multiple data programming." +HOMEPAGE = "https://github.com/ispc/ispc" + +LICENSE = "BSD-3-Clause & Apache-2.0-with-LLVM-exception" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=da5ecffdd210b3cf776b32b41c182e87 \ + file://third-party-programs.txt;md5=2061218c7be521556719c8b504bf9ddd" + +inherit cmake python3native ptest + +S = "${WORKDIR}/git" + +SRC_URI = "git://github.com/ispc/ispc.git;protocol=https;branch=main \ + file://0002-cmake-don-t-build-for-32-bit-targets.patch \ + file://0001-Fix-QA-Issues.patch \ + file://0001-Add-print-function-to-print-test-run-status-in-ptest.patch \ + file://run-ptest \ + " + +SRCREV = "d394222aef59e4759b06e39ec160e4aba6ee5f40" + +COMPATIBLE_HOST = '(x86_64).*-linux' + +DEPENDS += " clang-native bison-native flex-native" +DEPENDS:append:class-target = " clang" +RDEPENDS:${PN}-ptest += " python3-multiprocessing" + +PACKAGECONFIG ??= "tbb" +PACKAGECONFIG[tbb] = "-DISPCRT_BUILD_TASK_MODEL=TBB, -DISPCRT_BUILD_TASK_MODEL=OpenMP, tbb" + +YFLAGS='-d -t -v -y --file-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}' + +do_configure:prepend() { + sed -i -e 's#\${BISON_EXECUTABLE}.*#\${BISON_EXECUTABLE} ${YFLAGS} #g' ${S}/CMakeLists.txt + sed -i -e 's#\${FLEX_EXECUTABLE}.*#\${FLEX_EXECUTABLE} \-L #g' ${S}/CMakeLists.txt +} + +do_install_ptest() { + cp -rf ${S}/run_tests.py ${D}${PTEST_PATH} + cp -rf ${S}/common.py ${D}${PTEST_PATH} + cp -rf ${S}/tests ${D}${PTEST_PATH} + cp -rf ${S}/test_static.isph ${D}${PTEST_PATH} + cp -rf ${S}/fail_db.txt ${D}${PTEST_PATH} + cp -rf ${S}/test_static.cpp ${D}${PTEST_PATH} +} + +EXTRA_OECMAKE += " \ + -DISPC_INCLUDE_TESTS=OFF \ + -DISPC_INCLUDE_EXAMPLES=OFF \ + -DARM_ENABLED=OFF \ + -DISPC_CROSS=ON \ + -DISPC_ANDROID_TARGET=OFF \ + -DISPC_FREEBSD_TARGET=OFF \ + -DISPC_WINDOWS_TARGET=OFF \ + -DISPC_IOS_TARGET=OFF \ + -DISPC_PS_TARGET=OFF \ + -DSYSROOT_DIR=${STAGING_DIR} \ + -DCLANG_EXECUTABLE=${STAGING_BINDIR_NATIVE}/clang \ + -DCLANGPP_EXECUTABLE=${STAGING_BINDIR_NATIVE}/clang++ \ + -DLLVM_AS_EXECUTABLE=${STAGING_BINDIR_NATIVE}/llvm-as \ + " + +BBCLASSEXTEND = "native nativesdk" -- cgit v1.2.3-54-g00ecf