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 -~----------~----~----~----~------~----~------~--~---
