On Tue, Jun 30, 2009 at 3:11 PM, Ahmed Fasih<[email protected]> wrote:
>
> Hi, Google has been bountiful in providing pieces of this puzzle (or
> God has been stingy in giving me the brains to put them together), but
> I write asking if there exists a coherent and unified document telling
> me what to do to get multicore Numpy support in Sage.
>
> On 8-core Xeon, Matlab (which apparently uses Intel MKL-compiled
> LAPACK/ATLAS libraries?) can max out "top" at 800% when doing large
> eigendecompositions and matrix products. I would very much like this
> functionality in the Sage-supplied Numpy.

Is MATLAB actually 8 times faster than Sage at computing matrix
products and eigendecompositions than Sage on exactly the same
matrices?  Since 8 times faster is presumably what you really want,
since it is trivial to make Sage max out all 8 of your cores without
being any faster at all :-).

> I have read this discussion (http://www.mail-archive.com/numpy-
> [email protected]/msg18267.html) that suggests recompiling LAPACK,
> ATLAS, and Numpy to get multithreaded and SSE-enabled Numpy. On sage-
> devel I see various errors stemming from ATLAS builds but not much
> about enabling multithreading support.

This has never really been discussed on sage-devel (see this one
message: 
http://groups.google.com/group/linbox-use/browse_thread/thread/22259a6f914626b9).
 Once one sage developer did such a build
at a sage days and mentioned that he got a big speedup, but that was a
long time ago.

> I have some experience in
> installing Sage spkgs to add support (e.g., just yesterday I
> recompiled Python and Matplotlib to gain access to the TkAgg
> backend :), so maybe all I have to do is reinstall the ATLAS & Numpy
> spkgs?
>
> I've attached my numpy.__config__ output in Listing 1, though I'm not
> sure what exactly to make of it, or which bits relate to my lack of
> multicore support. Any assistance to this mid-level user would be much
> appreciated, thanks! I offer to write up the results on the Sage wiki.

You'll have to figure out how to build ATLAS multithreaded.  That's
not really a Sage question, but an ATLAS question.  Try the ATLAS
docs, the ATLAS list, ATLAS web page, etc.

 -- William

>
> Listing 1: Numpy configuration
> --------------------------------------------------------
> In [19]: numpy.__config__.show()
> atlas_threads_info:
>  NOT AVAILABLE
>
> blas_opt_info:
>    libraries = ['f77blas', 'cblas', 'atlas']
>    library_dirs = ['/space/wstein/farm/sage-4.0.2/local/lib']
>    define_macros = [('ATLAS_INFO', '"\\"3.8.3\\""')]
>    language = c
>    include_dirs = ['/space/wstein/farm/sage-4.0.2/local/include']
>
> atlas_blas_threads_info:
>  NOT AVAILABLE
>
> lapack_opt_info:
>    libraries = ['lapack', 'f77blas', 'cblas', 'atlas']
>    library_dirs = ['/space/wstein/farm/sage-4.0.2/local/lib']
>    define_macros = [('ATLAS_INFO', '"\\"3.8.3\\""')]
>    language = f77
>    include_dirs = ['/space/wstein/farm/sage-4.0.2/local/include']
>
> atlas_info:
>    libraries = ['lapack', 'f77blas', 'cblas', 'atlas']
>    library_dirs = ['/space/wstein/farm/sage-4.0.2/local/lib']
>    language = f77
>    include_dirs = ['/space/wstein/farm/sage-4.0.2/local/include']
>
> lapack_mkl_info:
>  NOT AVAILABLE
>
> blas_mkl_info:
>  NOT AVAILABLE
>
> atlas_blas_info:
>    libraries = ['f77blas', 'cblas', 'atlas']
>    library_dirs = ['/space/wstein/farm/sage-4.0.2/local/lib']
>    language = c
>    include_dirs = ['/space/wstein/farm/sage-4.0.2/local/include']
>
> mkl_info:
>  NOT AVAILABLE
> --------------------------------------------------------
> >
>



-- 
William Stein
Associate Professor of Mathematics
University of Washington
http://wstein.org

--~--~---------~--~----~------------~-------~--~----~
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-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to