-
Notifications
You must be signed in to change notification settings - Fork 20
use qemu on github CI for ppc64le, s390x #230
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
I wanted to check if something could be cross-build with clang but seeing QEMU was failing here, wanted to check that first.
diff --git a/tools/build_steps.sh b/tools/build_steps.sh
index ee91642..c11ba72 100644
--- a/tools/build_steps.sh
+++ b/tools/build_steps.sh
@@ -220,9 +220,17 @@ EOF
echo -n > utest/test_dsdot.c
echo "Due to the qemu versions 7.2 causing utest cases to fail,"
echo "the utest dsdot:dsdot_n_1 have been temporarily disabled."
+ elif [ "$plat" == "s390x" ]; then
+ sed -i 's/CTEST(samin, positive_step_1_N_70){/CTEST_SKIP(samin, positive_step_1_N_70){/g' ./utest/test_extensions/test_samin.c
+ sed -i 's/CTEST(samin, negative_step_1_N_70){/CTEST_SKIP(samin, negative_step_1_N_70){/g' ./utest/test_extensions/test_samin.c
+ sed -i 's/CTEST(damin, positive_step_1_N_70){/CTEST_SKIP(damin, positive_step_1_N_70){/g' ./utest/test_extensions/test_damin.c
+ sed -i 's/CTEST(damin, negative_step_1_N_70){/CTEST_SKIP(damin, negative_step_1_N_70){/g' ./utest/test_extensions/test_damin.c
+ echo "the utest samin/damin have been temporarily disabled."
+ echo "QEMU does not support the 'lper' /'lpdr' instructions used"
fi
if [ -n "$dynamic_list" ]; then
CFLAGS="$CFLAGS -fvisibility=protected -Wno-uninitialized" \
The builds that did not hang on tests took around 3 hours: https://github.com/mayeut/openblas-libs/actions/runs/19394958005/job/55493703960 |
I see we are setting Also: what happens when s390x does not actually assign a |
| *-ppc64le) | ||
| local bitness=64 | ||
| local target="POWER8" | ||
| local dynamic_list="POWER8 POWER10" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| local dynamic_list="POWER8 POWER10" |
ppc64le does not support dynamic list
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The README seems to imply that DYNAMIC_LIST is supported
For POWER, the list encompasses POWER6, POWER8 and POWER9. POWER10 is additionally available if a sufficiently recent compiler is used for the build.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
DYNAMIC_ARCH is supported with this list (depending on compiler), but user provided DYNAMIC_LIST is not supported (either on purpose or an oversight) in https://github.com/OpenMathLib/OpenBLAS/blob/develop/Makefile.system
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Strange. Is there an open OpenBLAS issue about the missing DYNAMIC_LIST override of DYNAMIC_CORE?
| # messing with dynamic lists and targets. | ||
| local bitness=64 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| # messing with dynamic lists and targets. | |
| local bitness=64 | |
| # messing with dynamic lists. | |
| local bitness=64 | |
| local target="ZARCH_GENERIC" |
That the other way around in this PR. One has been added but it's not supported.
I honestly don't know... OpenBLAS makefiles are a bit too much too understand for me for the occasional glimpse. I proposed something based on my understanding with a link to the relevant section of the README. |
git describe --tags --abbrev=8in OpenBLAS at theOPENBLAS_COMMIT. If I did not updateOPENBLAS_COMMIT, I incremented the wheel build number (i.e. 0.3.29.0.0 to 0.3.29.0.1)Now that we have moved to cibuildwheel on linux, it should be easy to add ppc64le and s390x builds to the matrix. Let's see how long it takes to run. Travis CI is unstable, it would be nice to move off it.