-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
make TARGET=PPCG4 results in illegal instruction error during tests #4901
Comments
This is a bit strange as the default SBGEMM kernel is written in plain C - suggesting that this may be gcc-11 picking instructions not suitable for this cpu. Can you try a more recent compiler, or check if it builds with BUILD_BFLOAT16=0 ? |
btw is that an actual G4, qemu or a more recent power8/9/10 with TARGET=PPCG4 ? |
It's not actually a G4, I'm trying to compile OpenBLAS on the Wii U, so the Espresso CPU. The G4 was the closest target (from what I can tell) since it's a 32 bit ppc cpu. EDIT: the illegal instructions error also happens in qemu |
I don't know much about these older cpus (where support is carried over from the original GotoBLAS), but I guess the difference could be Altivec instruction support. Maybe the PPC970 target would fare better ? |
The Espresso actually doesn't have altivec support, which is one of the reasons why the G4 target was chosen. Since it's broken on qemu as well, does that potentially mean the G4 target is broken in general? |
Possibly, yes - unless there happens to be a problem with qemu emulation of that old cpu. I do not have (and never had) this old hardware, there is no machine of this kind available through the GCC Compile Farm or any of the usual CI providers (as far as I know) |
... but as stated above, SBGEMM itself should only use plain C code, so the main question would be if all the other tests involving more traditional data types (or a build with BUILD_BFLOAT16 set to zero) also runs into illegal instructions |
So what would you recommend at this point? Try an older gcc version? EDIT: I'll try a new build with bfloat16=0 |
Building without bfloat16 results in the same error. Same thing with gcc 4.8.
There's something about the sblat3 test it doesn't like. If you need a build server, I can always host one for you. |
I've attempted to build Openblas for powerpc using
make TARGET=PPCG4 CC=gcc-11 FC=gfortran-11
I've tried building multiple different versions now, resulting in the same error (so I don't believe it's a regression). Currently running debian sid.It compiles fine, but errors out in the tests.
It errors out immediately after
OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 ./test_sbgemm > SBBLAT3.SUMM
The final test it passes is the following:
The text was updated successfully, but these errors were encountered: