#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.

Reply via email to