-
Notifications
You must be signed in to change notification settings - Fork 210
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
Enable Cross Compilation of Arm SVE on x86 Cl (Binary only) #2691
Conversation
/intelci: run |
Co-authored-by: Nikolay Petrov <nikolay.a.petrov@intel.com>
/intelci: run |
.ci/env/tbb.sh
Outdated
else | ||
arch_dir=${arch} | ||
arch=${target_arch:-$(uname -m)} | ||
if [ "${arch}" == "x86_64" ]; then |
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.
else
arch=${target_arch:-$(uname -m)}
arch_dir=${arch_dir:-$(set_arch_dir "${target_arch}")}
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.
isn't this redundant?
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.
I was meaning to replace the if statements with the call to the function, which I assume was created to avoid the duplication of this logic
fi | ||
|
||
TBB_VERSION="v2021.10.0" |
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.
Doesn't feel like the TBB version should be hard-coded. This should be picked up from the pkgconfig file in the installation
.ci/env/arm-toolchain.cmake
Outdated
set(CMAKE_SYSTEM_PROCESSOR aarch64) | ||
|
||
# Set compiler flags and options for ARMv8-A architecture with SVE | ||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=armv8-a+sve") |
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.
Should these be set in the CMake toolchain? The march flags are dealt with in the build steps of the various projects, so think that this isn't necessary. If it is necessary to set the march flags, this should be done outside of the toolchain file, though
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.
currently only tbb needs the toolchain file and since we will be compiling only for sve this can be used?
/intelci: run |
@keeranroth @rakshithgb-fujitsu any comments/changes here? I do not have anything major from my side and we can merge once vi would pass on latest changes |
/intelci: run |
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.
Just one comment, but looks good apart from that
.ci/env/tbb.sh
Outdated
else | ||
arch_dir=${arch} | ||
arch=${target_arch:-$(uname -m)} | ||
if [ "${arch}" == "x86_64" ]; then |
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.
I was meaning to replace the if statements with the call to the function, which I assume was created to avoid the duplication of this logic
/intelci: run |
All looking good from my point of view, thanks |
Looks there open BLAS pipeline failure @rakshithgb-fujitsu can you take a look? |
/intelci: run |
@napetrov looks like something is breaking in internal pipeline again, could you please have a look and let me know? |
Just a sporadic failure, nothing meaningful - CI looks good. |
Subsequent to the merge of pull request #2614, which introduced ARM as a supported CPU platform, we have implemented preliminary support for cross-compiling ARM backend on the x86 continuous integration (Cl) system.
This enhancement allows for validating ARM builds.
What's available:
Limitations: