Upgrade Travis CI for Arm SVE#500
Conversation
- Updated distro to 20.04 focal aarch64-gcc-10. This is minimal version required by aarch64-gcc-10. SVE intrinsics would not compile without GCC >=10. - x86 toolchains use official repo instead of ubuntu-toolchain-r/test. 20.04 focal is not supported by that PPA at the moment. - Add extra configuration-time options to .travis.yml. - Add Arm SVE entry to .travis.yml.
- ArmSVE don't test gemmt (seems Qemu-only problem); - Clang use TravisCI-provided version instead of fixing to clang-8 due to that clang-8 seems conflicting with TravisCI's clang-7.
|
BTW, I'm not sure about benefits but by switching from travis-ci.org to travis-ci.com we will be able to use |
|
@xrq-phys how did you make the PR a draft? I've never been able to find that button or whatever it is. |
devinamatthews
left a comment
There was a problem hiding this comment.
Looks good, just one comment below.
.travis.yml
Outdated
| - export DIST_PATH=. | ||
| - pwd | ||
| - if [ $OOT -eq 1 ]; then export DIST_PATH=`pwd`; mkdir ../oot; cd ../oot; chmod -R a-w $DIST_PATH; fi | ||
| - $DIST_PATH/configure -t $THR CC=$CC CFLAGS=$CFLAGS $CONF |
There was a problem hiding this comment.
Why add CFLAGS=$CFLAGS? This doesn't seem to get set to anything special.
There was a problem hiding this comment.
This is from the old .travis.yml.
BLIS' configure is not Autoconf so I thought influence of args could be somehow different from env.
If it is not the case, I guess it's enough to just: $DIST_PATH/configure -t $THR $CONF ?
There was a problem hiding this comment.
The old line 74 doesn't have CFLAGS (or at least, what I see here in the diff on the LHS doesn't). I would remove it for consistency.
There was a problem hiding this comment.
Sorry.
The old .travis.yml has only CC=$CC.
I used CFLAGS=-DSVE_XXX upon other configs but now CFLAGS is not set anyway so this is an unnecessary extra by myself. Will remove.
|
I would leave the arm64 HW support for another PR. We would probably want to wait until after migrating to travis-ci.com for that anyways so graviton2 can be included. |
- Removed `V=1` in make line - Removed `CFLAGS` in configure line - Restored `pwd` surrounding OOT line
|
Got it. I've set up travis.com build on my fork so hopefully native arm64 support (maybe ppc also?) will be there as soon as master's CI moves :) |
|
@xrq-phys We have credits ready to go for travis-ci.com, but we are delaying the migration for now because it requires us to click a button that say we are using the "beta" version of the service. (I asked their support about this, and they basically said, "Oh, don't worry about that. It's full service." I did not find their reply super convincing, although it's better than silence I suppose.) |
Understood. It looks fine to me. |
|
Also, it appears that this PR obviates #453. |
cf. comments in #424 , this PR is to:
armsvekernels and thearmsveconfiguration to Travis CI tests.For this reason, the following changes are done in the Travis CI config:
trustytofocalbecausearmsvekernels requires GCC 10+ to compile and QEmu 4.4+ to emulate.focal.To-dos:
Travis CI seems also supporting Arm nodes.Compared to x86_64+QEmu, maybe using Arm64+ArmIE a better way for testing Arm kernels?
At least
armv8aandarmv7acan be tested without emulation.ArmIE's better stability over QEmu can be another advantage.