Skip to content

Upgrade Travis CI for Arm SVE#500

Merged
devinamatthews merged 3 commits intoflame:masterfrom
xrq-phys:armsve+travis
May 24, 2021
Merged

Upgrade Travis CI for Arm SVE#500
devinamatthews merged 3 commits intoflame:masterfrom
xrq-phys:armsve+travis

Conversation

@xrq-phys
Copy link
Copy Markdown
Collaborator

@xrq-phys xrq-phys commented May 19, 2021

cf. comments in #424 , this PR is to:

  • Include armsve kernels and the armsve configuration to Travis CI tests.

For this reason, the following changes are done in the Travis CI config:

  • Upgraded linux ver. from trusty to focal because armsve kernels requires GCC 10+ to compile and QEmu 4.4+ to emulate.
  • Changed several toolchains used by Travis CI because previous toolchain is no longer available on 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 armv8a and armv7a can be tested without emulation.
    ArmIE's better stability over QEmu can be another advantage.

RuQing Xu added 2 commits May 20, 2021 00:52
- 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.
@xrq-phys
Copy link
Copy Markdown
Collaborator Author

BTW, I'm not sure about benefits but by switching from travis-ci.org to travis-ci.com we will be able to use arm64-graviton2 in addition to arm64.

@devinamatthews
Copy link
Copy Markdown
Member

@xrq-phys how did you make the PR a draft? I've never been able to find that button or whatever it is.

Copy link
Copy Markdown
Member

@devinamatthews devinamatthews left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why add CFLAGS=$CFLAGS? This doesn't seem to get set to anything special.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 ?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@devinamatthews
Copy link
Copy Markdown
Member

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
@xrq-phys
Copy link
Copy Markdown
Collaborator Author

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 xrq-phys marked this pull request as ready for review May 19, 2021 17:18
@fgvanzee
Copy link
Copy Markdown
Member

@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.)

@devinamatthews
Copy link
Copy Markdown
Member

@fgvanzee this PR looks good to me. I'll merge if you're OK with it (note the travis.com-related stuff @xrq-phys mentioned is not in this PR).

@fgvanzee
Copy link
Copy Markdown
Member

(note the travis.com-related stuff @xrq-phys mentioned is not in this PR).

Understood.

It looks fine to me.

@fgvanzee
Copy link
Copy Markdown
Member

Also, it appears that this PR obviates #453.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants