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

Test failure on MIPS #570

Closed
rekado opened this issue May 15, 2015 · 13 comments
Closed

Test failure on MIPS #570

rekado opened this issue May 15, 2015 · 13 comments

Comments

@rekado
Copy link

rekado commented May 15, 2015

On mips64el OpenBLAS 0.2.13 fails its tests.

 Complex BLAS Test Program Results


 Test of subprogram number  1            ZDOTC 
                                    ----- PASS -----

 Test of subprogram number  2            ZDOTU 
                                    ----- PASS -----

 Test of subprogram number  3            ZAXPY 
                                    ----- PASS -----

 Test of subprogram number  4            ZCOPY 
                                    ----- PASS -----

 Test of subprogram number  5            ZSWAP 
                                    ----- PASS -----

 Test of subprogram number  6            DZNRM2
                                    ----- PASS -----

 Test of subprogram number  7            DZASUM
                                    ----- PASS -----

 Test of subprogram number  8            ZSCAL 
                                    ----- PASS -----

 Test of subprogram number  9            ZDSCAL
                                    ----- PASS -----

 Test of subprogram number 10            IZAMAX
                                    ----- PASS -----
rm -f ?BLAT2.SUMM
OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 ./sblat2 < ./sblat2.dat
OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 ./dblat2 < ./dblat2.dat
OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 ./cblat2 < ./cblat2.dat

Program received signal SIGILL: Illegal instruction.

Backtrace for this error:
#0  0x7732046F
bash: line 1:  5509 Illegal instruction     OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 ./cblat2 < ./cblat2.dat
Makefile:26: recipe for target 'level2' failed
make[1]: *** [level2] Error 132
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/tmp/nix-build-openblas-0.2.13.drv-0/xianyi-OpenBLAS-aceee4e/test'
Makefile:115: recipe for target 'tests' failed
make: *** [tests] Error 2

The full build logs can be found here: http://hydra.gnu.org/build/339144/nixlog/1/raw

@martin-frbg
Copy link
Collaborator

Is there a reason why you did the test with 0.2.13, or could you rerun it with the current 0.2.14 (or even better, the current snapshot of the "develop" branch that will become 0.2.15) ? While I see nothing in the commit log specifically targetting the *blat2 functions, many changes went in since 0.2.13 was released five months ago and the core developers may not have continous access to every supported platform.

@xianyi
Copy link
Collaborator

xianyi commented May 15, 2015

@rekado , I cannot access a mips64 machine so far. I am not sure I can debug this error.

@rekado
Copy link
Author

rekado commented May 16, 2015

Is there a reason why you did the test with 0.2.13, or could you rerun it with the current 0.2.14

I don't have a mips64 machine, so I have to rely on what the build slave on hydra tells me. I just updated the package recipe to version 0.2.14. Unfortunately, the build fails when attempting to link stuff for the tests target.

Here's the full output:
http://hydra.gnu.org/build/459416/nixlog/1/raw

@jeromerobert
Copy link
Contributor

Unless I missed something (in dynamic.c) DYNAMIC_ARCH is not supported on this architecture. Did you set DYNAMIC_ARCH or was it automatically set by OpenBLAS ? Anyway I would try to unset it.

@rekado
Copy link
Author

rekado commented May 19, 2015

Yes, I built it with DYNAMIC_ARCH.

If I disable it OpenBLAS will tune itself to the host, would it not? I shall try this again.

@jeromerobert
Copy link
Contributor

From getarch.c and cpuid_mips.c I would say it will select the best available on the current computer, among SCICORTEX, LOONGSON3A and LONGSON3B, and build only for this one architecture. If it build for LONGSON3B I guess that your binary will not work for SCICORTEX.

@xianyi
Copy link
Collaborator

xianyi commented May 19, 2015

Hi,

Only x86/x86_64 supports DYNAMIC_ARCH. We used some special loongson extended instructions for LOONGSON3A and LOONGSON3B targets. Thus, these binary cannot be run on standard MIPS 64.

@rekado
Copy link
Author

rekado commented May 21, 2015

Even when I do not set DYNAMIC_ARCH on MIPS I get the test failure above. Here's the tail of the latest failed build on MIPS: http://hydra.gnu.org/build/471777/nixlog/1/tail-reload

@martin-frbg
Copy link
Collaborator

From the naming of your library in that log snippet it appears that your build was for the LOONGSON3A target now - which xianyi commented just above your post would try to use some instructions not available on MIPS64. I suspect you would have to try "make TARGET=SCICORTEX" if the choice is actually limited to the three mips targets jeromerobert listed (no idea if this target even makes sense on your machine) - else OpenBLAS would need another mips target like loongson without the loongson-specific extensions.

@rekado
Copy link
Author

rekado commented Jul 23, 2015

When TARGET is set the test are not run by default. Is this intentional?

@xianyi
Copy link
Collaborator

xianyi commented Jul 24, 2015

@rekado , yes, it is by default.

@martin-frbg
Copy link
Collaborator

Reviving this old issue, I find that the strmm and dtrmm tests fail (with the "less than half accurate" message) for mips64el SCICORTEX target at least with an emulated cpu (qemu). Can anybody confirm this ?

@martin-frbg
Copy link
Collaborator

Replying to myself, this must have been the same problem as #1563, caused by a commit that has since been reverted. Closing now as #1672 has the log of a successful run of the blas and lapack tests on mips64el.

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

No branches or pull requests

4 participants