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
update to work around numpy issue 24067 #101
Conversation
something is off with the cross-compilation for arm64. Is this a known problem? |
The macos arm64 cross build is failing to compile. Maybe we are using an older gfortran-cross that does not know about SVE, there are errors about intrinsics
@isuruf, we are using this one, any thoughts?
@martin-frbg: is there an environment variable that would skip the SVE intrinsics? |
NO_SVE might work but this looks more like the (cross)compiler is expecting a "+sve" on the |
That build is using clang to cross-compile to arm64 under OSX ? Pretty sure that is a cursed configuration - never tried, never could have worked. The only OSX ARM64 target is VORTEX (M1/M2 family) which does not support SVE, and none of the usual DYNAMIC_ARCH targets for ARM64 make sense in this configuration to my knowledge. (DYNAMIC_ARCH even is anything but VORTEX support). |
Probably fixed by OpenMathLib/OpenBLAS#4136 if you want to try cherry-picking that one. |
I tried the single commit |
Strange, what is your version of clang ? (Compiles fine for me locally on Samsung Galaxy Tab, need to setup something similar to your CI job to reproduce the circumstances of your crossbuild but cannot think of any fundamental difference) |
I remember turning on |
Looks like my test job (Xcode 12.4 on Azure CI) autoselected NO_SVE in c_check and consequently left out the Neoverse targets. |
ahh, the patch_source function was outdated and exited early |
Is there some flag I could add to make to show the invocations? I am using
and
|
Clang version is |
There is also this
|
Thanks - have updated my CI job to the same compiler version and substituted "cortex-x1" for neoverse-v1 with clang after checking with |
Bleh. |
my test build succeeds now after adding a bunch of silly casts to various sve kernels in #4140 - just to help clang around a perceived ambiguity |
Cool, it is green. Do I understand correctly that you are not downloading a cross compiler, rather using the one in XCode? |
Yes (or at least I think so :/ ) |
It seems that your cross-compile build does not use a fortran compiler. The cross-compile build here does try very hard to get a fortran compiler. Is the work here to get a gfortran compiler unecessary? |
Not unnecessary if you want a full-featured and up to date LAPACK - at least not in general, only for the very specific issue of getting the sve kernels compiled. Anyone without a Fortran compiler gets an f2c-mangled dose of old LAPACK roughly corresponding to 3.9.0 with backported fixes - the newer additions mostly use too many modern Fortran features to be easily translatable, so any 3.10/3.11 functions in C are likely to be incomplete or dummies. |
looks like something in your unix build machinery does not like the now-empty patch_source function |
Build is green, lets go with this. Then NumPy and Scipy can change to use |
No description provided.