Bug 1304402 - Fedora - Update Atlas from 3.10.2 to new 3.10.3 version
Summary: Fedora - Update Atlas from 3.10.2 to new 3.10.3 version
Alias: None
Product: Fedora
Classification: Fedora
Component: atlas
Version: 27
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Jakub Martisko
QA Contact: Fedora Extras Quality Assurance
Keywords: Patch
Depends On:
Blocks: PPCTracker F-ExcludeArch-ppc64le, PPC64LETracker
TreeView+ depends on / blocked
Reported: 2016-02-03 14:01 UTC by IBM Bug Proxy
Modified: 2018-02-06 07:26 UTC (History)
13 users (show)

Clone Of:
Last Closed: 2018-02-06 07:26:28 UTC

Attachments (Terms of Use)
Source package (11.73 MB, application/x-rpm)
2016-02-04 10:33 UTC, IBM Bug Proxy
no flags Details
specfile (21.86 KB, text/x-rpm-spec)
2016-02-04 10:33 UTC, IBM Bug Proxy
no flags Details
atlas-3.10.3-1.fc26.src.rpm (4.90 MB, application/octet-stream)
2016-08-02 08:58 UTC, Michel Normand
no flags Details
atlas.spec (34.56 KB, text/plain)
2016-08-02 08:59 UTC, Michel Normand
no flags Details

External Trackers
Tracker ID Priority Status Summary Last Updated
IBM Linux Technology Center 136497 None None None 2016-02-03 14:01 UTC

Description IBM Bug Proxy 2016-02-03 14:01:00 UTC

Comment 1 IBM Bug Proxy 2016-02-03 14:01:06 UTC
Even though the latest "Stable" upstream release of Atlas is 3.10.2, the upstream Changelog contains the following note:

   NOTE: 3.10.2 is terribly out of date, and was released only because the
      threading rewrite it taking too long.  If possible, you should use a
      developer release after testing that it works for your particular
      platform.  In particular, developer releases are *much* faster for any
      x86 that uses AVX or later SIMD ISA, or any machine with ncores >= 8.
      The developer release also supports ARM architectures better (though
      performance is not hugely better if you can get stable installed).

As a result, we have been carrying in Fedora several patches for architecture enablement and still lacking important optimizations like AVX on x86 and VSX on ppc64le.

We should follow upstream advise and use the latest developer release, which, as of now, is 3.11.38.

Comment 2 IBM Bug Proxy 2016-02-04 10:20:54 UTC
------- Comment From thierry.fauck@fr.ibm.com 2016-02-04 05:19 EDT-------
The 3.11.38 fixed some bugs in the system probe and the specfile must be clean a bit.

Main changes are in the %build section where the %ifarch ppc64le section needs to be removed.
for type in %{types}; do
if [ "$type" = "base" ]; then
#%define pr_base %(echo ))
%define pr_base %{nil}

mkdir -p %{_arch}_${type}
pushd %{_arch}_${type}
../configure  %{mode} %{?threads_option} %{?arch_option} %{shared_option} -D c -DWALL -Fa alg '%{armflags} -g -fstack-protector-strong -Wa,--noexecstack -fPIC'\
--prefix=%{buildroot}%{_prefix}                 \
--incdir=%{buildroot}%{_includedir}             \
--libdir=%{buildroot}%{_libdir}/${libname}      \

Comment 3 IBM Bug Proxy 2016-02-04 10:33:02 UTC
Created attachment 1121064 [details]
Source package

Comment 4 IBM Bug Proxy 2016-02-04 10:33:11 UTC
Created attachment 1121065 [details]

Comment 5 Jan Kurik 2016-02-24 15:39:18 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 24 development cycle.
Changing version to '24'.

More information and reason for this action is here:

Comment 6 Jakub Jelen 2016-03-23 22:01:28 UTC
Almost a year ago, there was announcement about ATLAS 3.11.35 [1]. I spend days building the atlas "from Fedora master" and wondering why the heck is it so slow and why it does not use the fancy vector instructions that Power8 provides.

Can we haz an update?

Or is there something blocking the update? I am especially interested in the Power features. I will certainly build my own tuned, but having Fedora as a leading platform with up-to date software would be cool.

[1] https://sourceforge.net/p/math-atlas/mailman/message/34330714/

Comment 7 Dan Horák 2016-03-24 08:22:43 UTC
My main concern about updating Atlas is the API/ABI compatibility. The 3.11 is a development version AFAIK and the questions are - does it have same API/ABI as our 3.10 packages? Will the final 3.12 be compatible with 3.11.x? We should avoid unnecessary breakages and rebuilds of dependent packages.

Comment 8 IBM Bug Proxy 2016-03-24 09:02:38 UTC
------- Comment From thierry.fauck@fr.ibm.com 2016-03-24 04:57 EDT-------
The current version 3.11.38 which includes optimizations for ppc64le support still have problems which are supposed to be fixed in the upcoming 3.11.39 version in dev. currently. There is no availability date yet.
V 3.11.38 uses vectors and VSX when basic support integrated to 3.10.2 was just using a generic system type with no optimization for ppc64le.

Comment 9 Jakub Jelen 2016-04-04 20:50:35 UTC
Thank you for the information. I understand the reasons. I tried myself to build ATLAS from upstream tarball, but without success. On the other hand your SRPM works just fine for my requirements. Thanks!

Comment 10 Jakub Jelen 2016-05-08 22:04:24 UTC
I tried to rebuild this package for more than the default 4 threads (with modified spec file) and the build was failing on Power8. There are still some issues with this development version, but I really appreciate the effort preparing this package.
I am not sure if you were aware of this problem. If you are interested, I guess I can provide some logs (I myself was not sure what are the important parts there).

Comment 11 IBM Bug Proxy 2016-05-10 15:54:55 UTC
------- Comment From thierry.fauck@fr.ibm.com 2016-05-10 11:47 EDT-------
Thanks for the report, I will double check current dev. version and if needed I will come back to you (but definitely knowing that changing spec is good to know).

Comment 12 Jan Kurik 2016-07-26 04:17:47 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 25 development cycle.
Changing version to '25'.

Comment 13 IBM Bug Proxy 2016-07-29 07:21:28 UTC
------- Comment From thierry.fauck@fr.ibm.com 2016-07-29 03:10 EDT-------

I am happy to announce the release of ATLAS 3.10.3.  Please forward this
e-mail to any relevant mailing list, or to any parties that are
repackaging the stable release that you know about.

ATLAS 3.10.3 should be noticeably faster than 3.10.2 on modern hardware,
but the 3.11 series is almost always much faster on such systems.  While
I was able to backport support for modern architectures, and even
provide some reasonable kernels for modern ISA extensions, the 3.11
series allows for much larger block factors and improved storage formats
that are required to get decent performance many modern machines
(including all AVX-enabled Intel chips).  So, if you can use it, 3.11 is
still the best for modern machines by a long way.

I had hoped to have ATLAS 4.0 out by now, but various setbacks have
delayed the release, necessitating 3.10.3, since 3.10.2 was not
installing well on modern machines.

3.10.3 fixes these three bugs:

I have tested 3.10.3 to work on the following OSes:
1. Linux
2. Windows64 (cygwin64 builds now work!)
3. AIX
4. OS X

For OSes 2-4, see special sections in the install guide for additional help:
Hopefully other OSes (eg., Windows32, Solaris) still work from 3.10.2

Also note that clang can now be used to build ATLAS by adding:
to your configure line.  For the open version of clang, performance
still tends to lag gcc, but is strongly improved from last release.
Apple's clang appears to be substantially faster, but I may be mistaken.

New architecture support available in 3.10.3 includes:
1. ARM32: a7, a9, a15 (auto-detect of SOFT/HARD ABI)
2. ARM64: xgene1, a53, a57
3. Intel: Corei3 & Corei4 (skylake)
4. IBM: Z series, POWER8 (including little/big endian)

Support for modern vector extensions in atlas_simd.h:
1. Intel AVX2
2. IBM VSX & Z-series VX
3. ARM64 Advanced SIMD
4. ARM32 NEON (only if -Si ieee 0 flag is thrown)


ATLAS 3.10.3 released 07/28/16, highlights of changes from 3.10.2
* Updated F77 L1BLAS testers to those used LAPACK3.6.1
* Fixed bug in rotmg revealed by LAPACK3.6.1 testers
* Fixed bug in hprk/sprk that could cause NaN propogation in
to reading uninitialized memory in BETA=0 case
* Fixed bug in threaded SYR2K/HER2K that could cause NaN propogation due
to reading uninitialized memory
* Extended matrix/vector norm functions to detect NaNs
* Extended configure:
+ --force-clang=/path/to/clang : will use clang for all C compilers,
even goodgcc (assumes gcc flag & inline-assembly compatibility)
+ --cripple-atlas-performance: install despite failing throttle check
+ Can now use arch string rather than enum # for -A arg
+ --force-tids now affects ATLrun.sh as well as threaded build
+ ARM32 autodetects SOFTFP/HARDFP ABI
* backport of config & archdefs for:
+ POWER[7,8]le, IBMz[10,13,19], Corei[3,4], ARM[7,9,15,17],
+ archdefs for NEON ARMa[7,15]
+ config support for IBM Z[9,196,12]
* backport & extension of atlas_simd.h & atlas_cplxsimd.h
+ New SIMD kernels for: VSX, VXZ, AVX2, AdvancedSIMD, NEON
* Fixed mflop test of PrintMMLine, that sometimes failed to print
valid mflop due to negative values from prior runs
* Removed ATL_dmm6x1x60_sse2_32.c from z index files (not valid cplx
* Forced MinGW comps to be ignored unless -Si nocygwin 1 is set
* Added support for WOW64 detection & basic use, numerous changes to
work on cygwin64
* Fixed uninit nM in s[1,2]nxtune.c's RecDoubleNX

** R. Clint Whaley, PhD * Assoc Prof, LSU * www.csc.lsu.edu/~whaley **

Comment 14 Michel Normand 2016-08-02 08:58 UTC
Created attachment 1186711 [details]

I am providing in attachment the new source rpm for atlas 3.10.3 stable release.
I validated it with scratch build on two koji:

http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=3575870 for PowerPC  
http://koji.fedoraproject.org/koji/taskinfo?taskID=15100015 for x86_64

Question to package maintainers:
Could the atlas package be updated with this new source rpm ?

Comment 15 Michel Normand 2016-08-02 08:59 UTC
Created attachment 1186712 [details]

spec file associated to the previous atlas-3.10.3-1.fc26.src.rpm

Comment 16 Orion Poplawski 2016-08-18 23:24:08 UTC
I'm seeing the ppc64 test failure: 

Makefile:1692: recipe for target 'ssanity_test' failed

Anyone know what is causing it?

Comment 17 IBM Bug Proxy 2016-08-19 07:42:20 UTC
------- Comment From hannsj_uhl@de.ibm.com 2016-08-19 03:35 EDT-------
Comment from  Michel Normand 2016-08-19 03:06:36 EDT

(In reply to comment #20)
> I'm seeing the ppc64 test failure:
> http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=3616883
> http://ppc.koji.fedoraproject.org/kojifiles/work/tasks/6883/3616883/build.log
> Makefile:1692: recipe for target 'ssanity_test' failed
> Anyone know what is causing it?

No I do not know the cause.
That was previously addressed upstream in atlas-devel ML,
I am just creating an upstream issue to keep track  of the test failure.

Comment 18 Fedora Admin XMLRPC Client 2017-05-29 11:10:20 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 19 IBM Bug Proxy 2017-05-29 11:16:48 UTC
#%define pr_base %(echo $((%{__isa_bits}+0)))

Comment 20 Jakub Martisko 2017-08-10 12:07:21 UTC
Ok, I've tried to rewrite the spec file a bit. All arches should now build and pass tests without any errors. I've tried to make the base package to be as least demanding (i.e. I am using more the "low end" cpus for the given arch) as possible.  This might lead to some performance regression but the package should be hopefully bit more stable and easier to build. To compensate, I've created few more optimized subpackages (power7, power8, ...). I've also reduced the number of threads for the threaded version to 2 for most of the arches, otherwise, there might be some failures on the machines with less cores than 4 (value used in the old builds). Any comments/hints/warnings are welcomed. 


Comment 21 IBM Bug Proxy 2018-02-06 02:31:19 UTC
------- Comment From mainamdar@in.ibm.com 2018-02-05 21:24 EDT-------
I think this issue is fixed...can we close this bug

Comment 22 Michel Normand 2018-02-06 07:26:28 UTC
close bug as part of release fc27 and rawhide

Note You need to log in before you can comment on or make changes to this bug.