#9508: Fix all ATLAS build problems on Solaris/OpenSolaris
----------------------------+-----------------------------------------------
Reporter: drkirkby | Owner: drkirkby
Type: defect | Status: new
Priority: major | Milestone: sage-4.5.3
Component: solaris | Keywords:
Author: David Kirkby | Upstream: N/A
Reviewer: | Merged:
Work_issues: |
----------------------------+-----------------------------------------------
Comment(by drkirkby):
== Testing the updated ATLAS package on !OpenSolaris x64 as a 64-bit build
==
* [http://www.sun.com/desktop/workstation/ultra27/ Sun Ultra 27]
* [http://ark.intel.com/Product.aspx?id=39723 Intel W3580 Xeon 3.33 GHz],
Quad core. 8 threads.
* 12 GB RAM
* [http://en.wikipedia.org/wiki/ZFS 128-bit ZFS] file systems
* !OpenSolaris 2009.06 snv_134 X86
* Sage sage-4.5.2.alpha.1
* gcc 4.4.4 configured to use the Sun linker and GNU assembler
* 64-bit build by exporting SAGE64 to "yes"
* ATLAS's test suite was run, by exporting SAGE_CHECK to "yes"
The ATLAS log is too long to show, but summary information is provided.
This includes:
* The start and end of logfile while ATLAS is building.
* The end of the logfile whilst ATLAS was being tested.
* The end of the log file whilst ATLAS was running some timing tests.
* Confirmation using the {{{file}}} command that the shared libraries all
exist and are 64-bit
'''First the build.'''
{{{
drkir...@hawk:~/sage-4.5.2.alpha1$ ./sage -f atlas-3.8.3.p13
chmod 0644 /export/home/drkirkby/sage-4.5.2.alpha1/local/lib/libptcblas.a
/export/home/drkirkby/sage-4.5.2.alpha1/local/lib/libptf77blas.a
chmod: WARNING: can't access
/export/home/drkirkby/sage-4.5.2.alpha1/local/lib/libptcblas.a
chmod: WARNING: can't access
/export/home/drkirkby/sage-4.5.2.alpha1/local/lib/libptf77blas.a
make[1]: [install_lib] Error 2 (ignored)
make[1]: Leaving directory
`/export/home/drkirkby/sage-4.5.2.alpha1/spkg/build/atlas-3.8.3.p13/ATLAS-
build'
Building shared library libatlas.so from the static library libatlas.a
libatlas.so has been built on Solaris.
Building shared library liblapack.so from the static library liblapack.a
liblapack.so has been built on Solaris.
Building shared library libf77blas.so from the static library libf77blas.a
libf77blas.so has been built on Solaris.
Building shared library libcblas.so from the static library libcblas.a
libcblas.so has been built on Solaris.
real 8m39.991s
user 7m39.319s
sys 0m50.064s
Successfully installed atlas-3.8.3.p13
Running the test suite.
}}}
'''Then the test suite is run. A failure of the test suite would have
exited with an error message.'''
{{{
make[1]: [sanity_test] Error 1 (ignored)
DONE
SCOPING FOR FAILURES IN CBLAS TESTS:
fgrep -e fault -e FAULT -e error -e ERROR -e fail -e FAIL \
interfaces/blas/C/testing/sanity.out | \
fgrep -v PASSED
make[1]: [sanity_test] Error 1 (ignored)
DONE
SCOPING FOR FAILURES IN F77BLAS TESTS:
fgrep -e fault -e FAULT -e error -e ERROR -e fail -e FAIL \
interfaces/blas/F77/testing/sanity.out | \
fgrep -v PASSED
make[1]: [sanity_test] Error 1 (ignored)
DONE
make[1]: Leaving directory
`/export/home/drkirkby/sage-4.5.2.alpha1/spkg/build/atlas-3.8.3.p13/ATLAS-
build'
The ATLAS self-tests successfully passed
}}}
'''Finally, the timing tests are run. Had these failed, spkg-check would
cause an error message to be generated'''
{{{
The times labeled Reference are for ATLAS as installed by the authors.
NAMING ABBREVIATIONS:
kSelMM : selected matmul kernel (may be hand-tuned)
kGenMM : generated matmul kernel
kMM_NT : worst no-copy kernel
kMM_TN : best no-copy kernel
BIG_MM : large GEMM timing (usually N=1600); estimate of asymptotic
peak
kMV_N : NoTranspose matvec kernel
kMV_T : Transpose matvec kernel
kGER : GER (rank-1 update) kernel
Kernel routines are not called by the user directly, and their
performance is often somewhat different than the total
algorithm (eg, dGER perf may differ from dkGER)
Reference clock rate=2672Mhz, new rate=3325Mhz
Refrenc : % of clock rate achieved by reference install
Present : % of clock rate achieved by present ATLAS install
single precision double precision
********************************
*******************************
real complex real complex
--------------- --------------- ---------------
---------------
Benchmark Refrenc Present Refrenc Present Refrenc Present Refrenc
Present
========= ======= ======= ======= ======= ======= ======= =======
=======
kSelMM 636.3 693.9 584.2 643.0 340.4 367.6 338.8
366.6
kGenMM 186.2 199.9 186.4 198.1 177.0 191.8 176.9
191.9
kMM_NT 166.9 180.6 164.4 180.7 162.0 175.8 157.8
175.6
kMM_TN 162.4 173.8 174.7 192.3 160.8 171.3 167.4
185.5
BIG_MM 838.0 672.4 832.0 675.6 446.6 359.1 442.8
352.5
kMV_N 177.7 196.5 282.9 273.2 86.4 89.9 121.9
121.2
kMV_T 109.2 120.2 120.3 126.6 89.6 103.5 105.8
104.7
kGER 201.9 234.1 266.6 281.3 77.3 89.7 102.2
111.3
make[1]: Leaving directory
`/export/home/drkirkby/sage-4.5.2.alpha1/spkg/build/atlas-3.8.3.p13/ATLAS-
build'
The ATLAS timing data was successfully collected
Now cleaning up tmp files.
rm: Cannot remove any directory in the path of the current working
directory
/export/home/drkirkby/sage-4.5.2.alpha1/spkg/build/atlas-3.8.3.p13
Making Sage/Python scripts relocatable...
Making script relocatable
Finished installing atlas-3.8.3.p13.spkg
}}}
It can also be seen that the shared libraries are 64-bit, as they should
be:
{{{
drkir...@hawk:~/sage-4.5.2.alpha1/local/lib$ file libcblas.so
libf77blas.so liblapack.so libatlas.so libf77blas.a liblapack.a libcblas.a
libatlas.a
libcblas.so: ELF 64-bit LSB dynamic lib AMD64 Version 1, dynamically
linked, not stripped, no debugging information available
libf77blas.so: ELF 64-bit LSB dynamic lib AMD64 Version 1, dynamically
linked, not stripped, no debugging information available
liblapack.so: ELF 64-bit LSB dynamic lib AMD64 Version 1, dynamically
linked, not stripped, no debugging information available
libatlas.so: ELF 64-bit LSB dynamic lib AMD64 Version 1, dynamically
linked, not stripped, no debugging information available
libf77blas.a: current ar archive, not a dynamic executable or shared
object
liblapack.a: current ar archive, not a dynamic executable or shared
object
libcblas.a: current ar archive, not a dynamic executable or shared
object
libatlas.a: current ar archive, not a dynamic executable or shared
object
}}}
'''Given that other programs like linbox link properly to the ATLAS
library, we can assume with a reasonable degree of confidence the
libraries are being built correctly on 64-bit !OpenSolaris on the x64
platform.'''
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/9508#comment:4>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.