- ispc-ptest is taking around 225 seconds to execute
- Below is the run log of ispc-ptest
  START: ptest-runner
  2022-12-07T15:43
  root@qemux86-64:/usr/lib/ispc/ptest# ptest-runner ispc
  BEGIN: /usr/lib/ispc/ptest
  Testing ISPC compiler: ../../../bin/ispc
  Testing ISPC target: sse4-i32x4
  Testing ISPC arch: x86-64

  Using test compiler: Intel(r) Implicit SPMD Program Compiler (Intel(r) ISPC), 
1.17.0 (build commit 7ad8429369a4d5ce @ 20220115, LLVM 12.0.0)
  Using C/C++ compiler: clang version 12.0.0 
(https://github.com/llvm/llvm-project d28af7c654d8db0b68c175db5ce212d74fb5e9bc)

  Running 4 jobs in parallel. Running 1382 tests.
  Test varying int64: [-10000000001,-10000000002,-10000000003,-10000000004], 
[10000000001,10000000002,10000000003,10000000004]
  Test varying int64: [-10000000001,-10000000002,-10000000003,-10000000004], 
[10000000001,10000000002,10000000003,10000000004]

  Test varying int8: [-1,-2,-3,-4], [1,2,3,4]spc]
  Test varying int8: [-1,-2,-3,-4], [1,2,3,4]

  Test uniform int64: -10000000005, 10000000005
  Test uniform int64: -10000000005, 10000000005

  Test uniform int8: -5, 5s/paddus-vi64.ispc]
  Test uniform int8: -5, 5

  Test bool: uniform: true, false; varying: [false,true,true,false], 
[true,false,false,true]; in simd cf: [_________,_________,true,false], 
[_________,_________,false,true].
  Test bool: uniform: true, false; varying: [false,true,true,false], 
[true,false,false,true]; in simd cf: [_________,_________,true,false], 
[_________,_________,false,true].

  Test uniform double: 18.250000-float-uniform.ispc]
  Test uniform double: 18.250000

  Test varying int16: [-2,-3,-4,-5], [2,3,4,5]ispc]
  Test varying int16: [-2,-3,-4,-5], [2,3,4,5]

  Test bool: uniform: true, false; varying: [false,true,true,false], 
[true,false,false,true]
  Test bool: uniform: true, false; varying: [false,true,true,false], 
[true,false,false,true]

  Test uniform int16: -6, 6/psubus-i16.ispc]
  Test uniform int16: -6, 6

  Test varying simd: small ones: [((1)),2,((3)),4]
  Test varying simd: small ones: [((1)),2,((3)),4]

  Test uniform int32: -7, 7/packed-store.ispc]
  Test uniform int32: -7, 7

  Test varying int32: [-3,-4,-5,-6], [3,4,5,6]
  Test varying int32: [-3,-4,-5,-6], [3,4,5,6]

  Test varying double: [14.250000,15.250000,16.250000,17.250000]
  Test varying double: [14.250000,15.250000,16.250000,17.250000]

  Test uniform float: 9.750000catter-mask-2.ispc]
  Test uniform float: 9.750000

  Hello World! 1382 [./tests/gs-double-improve-multidim-2.ispc]
  Hello World!

  Test varying float: [5.750000,6.750000,7.750000,8.750000]
  Test varying float: [5.750000,6.750000,7.750000,8.750000]

   Done 1382 / 1382 [./tests/test-11.ispc]

  Executed 1356 / 1382 (26 skipped)

  PASSRATE (1356/1356) = 100%

  PASS: ./tests/store-int8.ispc
  PASS: ./tests/phi-opts-4.ispc
  PASS: ./tests/pmulus-i32.ispc
  PASS: ./tests/new-delete-3.ispc
  PASS: ./tests/funcptr-varying-6.ispc
  PASS: ./tests/short-circuit-5.ispc
  PASS: ./tests/funcptr-uniform-6.ispc
  PASS: ./tests/reduce-equal-4.ispc
  PASS: ./tests/test-12.ispc
  PASS: ./tests/1475-int64.ispc
  PASS: ./tests/test-49.ispc
  PASS: ./tests/packed-load-64-4.ispc
  PASS: ./tests/gs-improve-multidim-1.ispc
  PASS: ./tests/packed-load-64-2.ispc
  SKIP: ./tests/max-float16-1.ispc
  ....
  ....
  1356 / 1382 tests PASSED
  0 / 1382 tests FAILED compilation
  0 / 1382 tests FAILED execution
  26 / 1382 tests SKIPPED
        ./tests/abs-float16.ispc
        ./tests/broadcast-5.ispc
        ./tests/clampfloat16_uniform.ispc
        ./tests/clampfloat16_varying.ispc
        ./tests/exp-uniform-float16.ispc
        ./tests/exp-varying-float16.ispc
        ./tests/isnan_float16.ispc
        ./tests/log-uniform-float16.ispc
        ./tests/log-varying-float16.ispc
        ./tests/max-float16-1.ispc
        ./tests/max-float16-2.ispc
        ./tests/min-float16-1.ispc
        ./tests/min-float16-2.ispc
        ./tests/pow-uniform-float16.ispc
        ./tests/pow-varying-float16.ispc
        ./tests/print_uniform-f16.ispc
        ./tests/print_varying-f16.ispc
        ./tests/rotate-7.ispc
        ./tests/shift-4.ispc
        ./tests/shuffle-6.ispc
        ./tests/shuffle2-12.ispc
        ./tests/uniform-float16-rcp.ispc
        ./tests/varying-float16-rcp.ispc
        ./tests/xe-task-count.ispc
        ./tests/xe-task-index-1.ispc
        ./tests/xe-task-index.ispc
  No new fails
  DURATION: 225
  END: /usr/lib/ispc/ptest
  2022-12-07T15:47
  STOP: ptest-runner
  TOTAL: 1 FAIL: 0
- some tests are skipped based on the target architecture
- change the test script to compile test programs on target with --pic option 
to avoid error "'.rodata'
  can not be used when making a PIE object" when executing tests on target
- adds new print function to the test script to print test result in ptest 
format

Signed-off-by: Yogesh Tyagi <[email protected]>
---
v3: remove extra workspace from patch file

 ...on-to-print-test-run-status-in-ptest.patch | 56 +++++++++++++++++++
 .../recipes-core/ispc/ispc/run-ptest          |  2 +
 .../recipes-core/ispc/ispc_1.18.0.bb          | 16 +++++-
 3 files changed, 72 insertions(+), 2 deletions(-)
 create mode 100644 
dynamic-layers/clang-layer/recipes-core/ispc/ispc/0001-Add-print-function-to-print-test-run-status-in-ptest.patch
 create mode 100644 dynamic-layers/clang-layer/recipes-core/ispc/ispc/run-ptest

diff --git 
a/dynamic-layers/clang-layer/recipes-core/ispc/ispc/0001-Add-print-function-to-print-test-run-status-in-ptest.patch
 
b/dynamic-layers/clang-layer/recipes-core/ispc/ispc/0001-Add-print-function-to-print-test-run-status-in-ptest.patch
new file mode 100644
index 00000000..3ce431d4
--- /dev/null
+++ 
b/dynamic-layers/clang-layer/recipes-core/ispc/ispc/0001-Add-print-function-to-print-test-run-status-in-ptest.patch
@@ -0,0 +1,56 @@
+From 6ba81efe971fb6038af6e950e853d35ee6dd9cc3 Mon Sep 17 00:00:00 2001
+From: Yogesh Tyagi <[email protected]>
+Date: Sun, 11 Dec 2022 22:34:15 +0800
+Subject: [PATCH] Add print function to print test run status in ptest format
+
+Upstream-Status: Inappropriate [OE ptest specific]
+
+Signed-off-by: Yogesh Tyagi <[email protected]>
+---
+ run_tests.py | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+diff --git a/run_tests.py b/run_tests.py
+index 87305a06..4f2f0f59 100755
+--- a/run_tests.py
++++ b/run_tests.py
+@@ -385,6 +385,9 @@ def run_test(testname, host, target):
+     else:
+         ispc_exe_rel = add_prefix(host.ispc_cmd, host, target)
+ 
++    # to reslove the error '.rodata' can not be used when making a PIE object
++    ispc_exe_rel = ispc_exe_rel + " --pic"
++
+     # is this a test to make sure an error is issued?
+     want_error = (filename.find("tests_errors") != -1)
+     if want_error == True:
+@@ -844,6 +847,17 @@ def check_compiler_exists(compiler_exe):
+             return
+     error("missing the required compiler: %s \n" % compiler_exe, 1)
+ 
++def print_test_run_status(results):
++    for fstatus in results:
++       if (fstatus[1]  ==  Status.Success):
++          print( "%s: %s" % ("PASS", fstatus[0]))
++       elif (fstatus[1] ==  Status.Compfail):
++          print( "%s: %s" % ("FAIL", fstatus[0]))
++       elif (fstatus[1] ==  Status.Runfail):
++          print( "%s: %s" % ("FAIL", fstatus[0]))
++       elif (fstatus[1] ==  Status.Skip):
++          print( "%s: %s" % ("SKIP", fstatus[0]))
++
+ def print_result(status, results, s, run_tests_log, csv):
+     title = StatusStr[status]
+     file_list = [fname for fname, fstatus in results if status == fstatus]
+@@ -987,6 +1001,8 @@ def run_tests(options1, args, print_version):
+         pass_rate = -1
+     print_debug("PASSRATE (%d/%d) = %d%% \n\n" % (len(run_succeed_files), 
total_tests_executed, pass_rate), s, run_tests_log)
+ 
++    print_test_run_status(results)
++
+     for status in Status:
+         print_result(status, results, s, run_tests_log, options.csv)
+     fails = [status != Status.Compfail and status != Status.Runfail for _, 
status in results]
+-- 
+2.37.3
+
diff --git a/dynamic-layers/clang-layer/recipes-core/ispc/ispc/run-ptest 
b/dynamic-layers/clang-layer/recipes-core/ispc/ispc/run-ptest
new file mode 100644
index 00000000..77d13bb4
--- /dev/null
+++ b/dynamic-layers/clang-layer/recipes-core/ispc/ispc/run-ptest
@@ -0,0 +1,2 @@
+#!/bin/sh
+python3 run_tests.py
diff --git a/dynamic-layers/clang-layer/recipes-core/ispc/ispc_1.18.0.bb 
b/dynamic-layers/clang-layer/recipes-core/ispc/ispc_1.18.0.bb
index 6a2e6059..2255a064 100644
--- a/dynamic-layers/clang-layer/recipes-core/ispc/ispc_1.18.0.bb
+++ b/dynamic-layers/clang-layer/recipes-core/ispc/ispc_1.18.0.bb
@@ -7,7 +7,7 @@ LICENSE  = "BSD-3-Clause & Apache-2.0-with-LLVM-exception"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=da5ecffdd210b3cf776b32b41c182e87 \
                     
file://third-party-programs.txt;md5=3cd6f8a7c3bd9d2bb898fcb27c75221a"
 
-inherit cmake python3native
+inherit cmake python3native ptest
 
 S = "${WORKDIR}/git"
 
@@ -17,13 +17,16 @@ SRC_URI = 
"git://github.com/ispc/ispc.git;protocol=https;branch=main \
            file://0001-Fix-QA-Issues.patch \
            file://6a1b2ffae0cc12467838bc671e3b089924de90a6.patch \
            file://ec35a6f8e60ba77e59a6f2bfec27011e0ab34dda.patch \
+           
file://0001-Add-print-function-to-print-test-run-status-in-ptest.patch \
+           file://run-ptest \
            "
+
 SRCREV = "f7ec3aa173c816377c215d83196b5c7c3a88db1c"
 
 COMPATIBLE_HOST = '(x86_64).*-linux'
 
 DEPENDS += " clang-native bison-native flex-native"
-RDEPENDS:${PN} += " clang-libllvm clang clang-libclang-cpp"
+RDEPENDS:${PN} += " clang-libllvm clang clang-libclang-cpp 
python3-multiprocessing"
 
 YFLAGS='-d -t -v -y 
--file-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}'
 
@@ -32,6 +35,15 @@ do_configure:prepend() {
         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  \
-- 
2.37.3

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#7773): 
https://lists.yoctoproject.org/g/meta-intel/message/7773
Mute This Topic: https://lists.yoctoproject.org/mt/95600707/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-intel/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to