Skip to content
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

[CI] Cross-compile libtvm_runtime to Aarch64 and run tests #13714

Merged
merged 1 commit into from
Jan 17, 2023

Conversation

gigiblender
Copy link
Contributor

@gigiblender gigiblender commented Jan 6, 2023

This is a PR to test the CI

This PR is part of #13526. It adds cross-compilation of libtvm, libtvm_runtime and libtvm_allvisible to aarch64. It then executes the cpp and python tests on aarch64.

A successful run of the CI using the updated minimal image can be found here.

@tvm-bot
Copy link
Collaborator

tvm-bot commented Jan 6, 2023

Thanks for contributing to TVM! Please refer to the contributing guidelines https://tvm.apache.org/docs/contribute/ for useful information and tips. Please request code reviews from Reviewers by @-ing them in a comment.

Generated by tvm-bot

@Mousius
Copy link
Member

Mousius commented Jan 6, 2023

@gigiblender is this PR related to why every other PR has suddenly failed the build?

@gigiblender
Copy link
Contributor Author

@gigiblender is this PR related to why every other PR has suddenly failed the build?

@Mousius I am not sure I see a correlation --- Could you please share the build error? I think the Jenkinsfile in this PR should not be picked up by Jenkins yet.

@Mousius
Copy link
Member

Mousius commented Jan 6, 2023

@gigiblender I just noticed that the minimal build appeared in a bunch of PRs and has failed without any Jenkins link - example #13706

@gigiblender gigiblender force-pushed the cross-build-arm branch 3 times, most recently from 07ac816 to e674777 Compare January 12, 2023 13:00
@gigiblender gigiblender changed the title [WIP] Test CI for cross-build [CI] Cross-compile libtvm_runtime to Aarch64 and run tests Jan 12, 2023
Copy link
Member

@driazati driazati left a comment

Choose a reason for hiding this comment

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

thanks @gigiblender! code looks good but since Docker image updates happen only merging the docker/* changes need to be split out into a separate PR that we merge first

echo set\(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER\) >> config.cmake
echo set\(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY\) >> config.cmake
else
# This usually runs in the ci_arm docker image.
Copy link
Member

Choose a reason for hiding this comment

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

Should this just error out instead of building since it's not really cross compiling if its run on aarch64

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I am building the cpp tests on aarch64 instead of cross-compiling, and in order to build (and run) the tests, I need the LLVM backend enabled. I am running this config file on the aarch64 Jenkins node before building the tests.

The reason I am not cross-compiling the cpp tests is that I would need to cross-compile gtest beforehand.

@gigiblender
Copy link
Contributor Author

thanks @gigiblender! code looks good but since Docker image updates happen only merging the docker/* changes need to be split out into a separate PR that we merge first

Thanks @driazati. I opened #13776 for the docker image update.

driazati pushed a commit that referenced this pull request Jan 13, 2023
…13776)

This PR is a prerequisite to #13714 and needs to be merged before. It contains the changes to the ci_minimal docker image to support minimal cross-compilation of TVM to aarch64.
@gigiblender gigiblender force-pushed the cross-build-arm branch 2 times, most recently from a925b5e to 3aef5ac Compare January 16, 2023 07:44
@driazati driazati merged commit 2e2ae26 into apache:main Jan 17, 2023
driazati added a commit to driazati/tvm that referenced this pull request Jan 17, 2023
This updates ci_minimal to use the changes following on to apache#13714
@junrushao
Copy link
Member

Looks like it causes the main branch to fail. Is it expected?

@driazati
Copy link
Member

No for some reason Jenkins is ignoring the filter on that job which is supposed to keep it from running on anything but this PR. #13800 should fix it though

driazati added a commit to driazati/tvm that referenced this pull request Jan 17, 2023
This updates ci_minimal to use the changes following on to apache#13714
junrushao pushed a commit that referenced this pull request Jan 17, 2023
This updates ci_minimal to use the changes following on to #13714

Co-authored-by: driazati <[email protected]>
fzi-peccia pushed a commit to fzi-peccia/tvm that referenced this pull request Mar 27, 2023
…pache#13776)

This PR is a prerequisite to apache#13714 and needs to be merged before. It contains the changes to the ci_minimal docker image to support minimal cross-compilation of TVM to aarch64.
fzi-peccia pushed a commit to fzi-peccia/tvm that referenced this pull request Mar 27, 2023
)

~~This is a PR to test the CI~~

This PR is part of apache#13526. It adds cross-compilation of libtvm, libtvm_runtime and libtvm_allvisible to aarch64. It then executes the cpp and python tests on aarch64.

A successful run of the CI using the updated minimal image can be found [here](https://ci.tlcpack.ai/blue/organizations/jenkins/tvm-minimal-cross-isa/detail/PR-13714/13/pipeline/60).
fzi-peccia pushed a commit to fzi-peccia/tvm that referenced this pull request Mar 27, 2023
This updates ci_minimal to use the changes following on to apache#13714

Co-authored-by: driazati <[email protected]>
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.

5 participants