Skip to content

Platform s390x missing in TargetList.txt / Instructions for Make #1163

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

Closed
claudefalbriard opened this issue Apr 20, 2017 · 17 comments
Closed

Comments

@claudefalbriard
Copy link

I'd like to build the OpenBLAS package customized for s390x architecture on platform system z (LinuxOne), in order to meet the dependency in the build of Julia language.

Is this CPU architecture supported under the current release and what are the instructions to configure the make step?

@martin-frbg
Copy link
Collaborator

I believe the build system will autodetect z13 or generic s390x targets, but you will need a checkout of the current "develop" tree for this, not the 0.2.19 release. (Easy enough with the green "clone or download" button which will send you a zip archive if you do not want to run "git clone" locally)

@brada4
Copy link
Contributor

brada4 commented Apr 20, 2017

You can install Ubuntu-packaged atlas (libatlas-base-dev) while waiting for openblas release and then that to be built into apt (their julia build uses any BLAS)

@edelsohn
Copy link

Julia language build really prefers OpenBLAS. Also, the Julia language front-end has not been updated for the Linux on z Systems ABI, so there are other pieces missing for the Julia build.

@tmh1999
Copy link

tmh1999 commented Apr 20, 2017

@claudefalbriard I believe the right build step is $ make TARGET=zarch.

@martin-frbg : regarding #1118, does OpenBLAS team have a plan to release anytime soon? Alpine Linux 3.6 is about to be released in early May. We would love to have OpenBLAS s390x in it (with a period to run some tests)

@edelsohn
Copy link

The s390x port is not complete. BLAS 3 support is present, but BLAS 1/2 support still is in progress. More pieces will be available soon, but I don't know if it will be complete and stable by early May.

@claudefalbriard
Copy link
Author

Thanks for all the answers and position about ongoing work with OpenBLAS and s390x architecture support. My Julia build is an experimental one, so we can work on this task. I will try the different build recipes and give you a position.

@claudefalbriard
Copy link
Author

Either of the two build recipes described above throw an identical error at the Julia "make" step:
#error "This arch/CPU is not supported by OpenBLAS."

  1. Compiling OpenBLAS developer version with the make TARGET=zarch (executed successfully) adding the PREFIX path /opt/OpenBLAS to the Linux system path
  2. Installing libatlas-base-dev from the Ubuntu repository
    How do I tell Julia build to address the matching OpenBLAS version for make, make install ?

@claudefalbriard
Copy link
Author

I got one step further, by typing:
make USE_SYSTEM_BLAS=1

and new receive an error at the end of the Julia make step:

checking for ELF helper width... configure: error: Unknown ELF target: s390x
/data/shared/julia/downloads/julia-0.5.1/deps/unwind.mk:15: recipe for target 'build/libunwind-1.1-julia2/config.status' failed
make[1]: *** [build/libunwind-1.1-julia2/config.status] Error 1
Makefile:81: recipe for target 'julia-deps' failed
make: *** [julia-deps] Error 2

@brada4
Copy link
Contributor

brada4 commented Apr 20, 2017

I can only recommend 'apt install julia'
Followed by https://github.com/xianyi/OpenBLAS/wiki/faq#debianlts (and updating frequently based on what @edelsohn said)

You can close this issue as there is no problem with OpenBLAS anymore.

@edelsohn
Copy link

make NO_LAPACK=1

@martin-frbg
Copy link
Collaborator

martin-frbg commented Apr 21, 2017

I wonder what if anything would be left from OpenBLAS with both USE_SYSTEM_BLAS=1 and NO_LAPACK=1 ?? Maybe @sharkcz 's patch for zArch CPU detection (which I just merged) will help a bit.

@brada4
Copy link
Contributor

brada4 commented Apr 21, 2017

Ubuntu build of julia (USE_SYSTEM_*=1) should be reasonably usable, and wishing to complicate things you may want to copy their build flags to get further with your build.
Can you build OpenBLAS (make ...) to the degree that builtin tests pass?

@martin-frbg
Copy link
Collaborator

Does anybody here happen to know if the Hercules emulator would be good enough to allow debugging such build problems on more mundane architectures ?

@edelsohn
Copy link

Maybe. But why use Hercules when one can obtain a z13 VM through the LinuxONE Community Cloud

https://developer.ibm.com/linuxone/

@brada4
Copy link
Contributor

brada4 commented Apr 22, 2017

It is a problem with julia build configuration. Ubuntu sort of got past it and no need to rerereinvent the wheel.

@martin-frbg
Copy link
Collaborator

Related Julia ticket appears to be JuliaLang/julia#21474

@martin-frbg
Copy link
Collaborator

Closing for now as - I believe - the original OpenBLAS issue has been fixed, and the related Julia thread appears to have petered out.

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

5 participants