I can ship the patches (I had to rebase them a bit, please double check
them) and the archdefs tarballs.

I don't think I will be able to build z14 optimized libraries in
launchpad and ship in the ubuntu archive. atlas cannot be cross-
compiled, and the build at the moment executes just generated
binaries..... which segfaults with illegal instructions, as launchpad is
a z13 mainframe with z14 instructions not available. And we require
source-only uploads, and all binary builds in launchpad as shipped into
ubuntu archive. It is unlikely that we will change mainframe at
canonical anytime soon. At best I can just leave the conditional
codepaths in packaging, such that self-rebuilding the package is easier
and defaults to attempting to build z14 optimized libraries. Even if it
was possible to "cross-compile" for z14, I would be concerned about
shipping untested builds of z14 code, as we wouldn't be able to exercise
the testsuite during build.

I should be able to build z13 optimized libraries, however some of them
are failing to build from source - have you tested enabling -march=z13,
the optimized instructions, with the provided archdefs on an Ubuntu
system? do you have a full build log?

the s390x build log is long, so here are some search markers:
Search for: make -C build-z13
that's where the z13 optimized compilation starts
Then search for: cd KERNEL ; make -f dMakefile dlib

Thing go really weird there:
make[9]: Entering directory '/<<PKGBUILDDIR>>/build-z13/src/blas/gemm/KERNEL'
/usr/bin/gcc -DL2SIZE=33554432 -I/<<PKGBUILDDIR>>/build-z13/include 
-I/<<PKGBUILDDIR>>/build-z13/..//include 
-I/<<PKGBUILDDIR>>/build-z13/..//include/contrib -DAdd_ -DF77_INTEGER=int 
-DStringSunStyle -DATL_OS_Linux -DATL_ARCH_IBMz13 -DATL_CPUMHZ=3446 -DATL_VXZ 
-DATL_USE64BITS -DATL_GAS_S390 -m64 -DATL_DYLIBS -DWALL -DATL_UCLEANM 
-DATL_UCLEANN -DATL_UCLEANK -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 
-fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -march=z13 -m64 
-fPIC -c ATL_dNBmm_b0.c
In file included from ATL_dNBmm_b0.c:59:
ATL_dNBmm_b0.c: In function ‘ATL_dJIK72x72x72TN72x72x0_a1_b0’:
/<<PKGBUILDDIR>>/build-z13/..//include/atlas_simd.h:438:29: error: expected ‘;’ 
before ‘double’
    #define ATL_VTYPE vector double
...

Is there something broken with the compiler? Did i miss-apply / miss-
rebase the provided patches?

The net result is that liblapack_atlas.a and libf77blas.a are not
compiled, and then at most I can ship optimized libatlas.so and
libcblas.so only, but not other libraries. And all other architectures
still build fine, which is good.

You can download the source package for local experimentation using:

$ dget 
http://ppa.launchpad.net/xnox/nonvirt/ubuntu/pool/main/a/atlas/atlas_3.10.3-8ubuntu1+ppa3.dsc
$ dpkg-source -x atlas*.dsc
$ cd atlas-3*
$ sudo apt install build-essential
$ sudo apt build-dep ./
$ dpkg-buildpackage -b .

If you do above on a z14 machine, it should attempt to build all three
variants of the library: for z12, z13, and z14.


URL to build record: 
https://launchpad.net/~xnox/+archive/ubuntu/nonvirt/+build/16494235
Build log is linked from there: 
https://launchpadlibrarian.net/415026393/buildlog_ubuntu-disco-s390x.atlas_3.10.3-8ubuntu1+ppa3_BUILDING.txt.gz

** Changed in: ubuntu-z-systems
       Status: Confirmed => Incomplete

** Changed in: atlas (Ubuntu)
       Status: Confirmed => Incomplete

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1814796

Title:
  [19.04 FEAT] Provide optimized libatlas libraries for different types
  of z Systems

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-z-systems/+bug/1814796/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to