On Nov 29, 2008, at 11:47 AM, mabshoff wrote:

> On Nov 29, 11:37 am, Robert Bradshaw <[EMAIL PROTECTED]>
> wrote:
>>> On Nov 29, 2008, at 07:35 , pong wrote:
>>
>>>> Hi,
>>
>>>>     I wonder if SAGE is optimized for multi-core CUPs (people  
>>>> told me
>>>> that many programs don't).
>>
>>> This is not an easy question to answer.  Sage is built from many
>>> components that were not specifically designed with Sage or
>>> multiprocessor issues in mind.
>>
>>> Most programmers and algorithm designers, even today, don't think in
>>> terms of a "tight-coupled" multiprocessor implementation.  Some do
>>> think of loose coupling.  The distinction is the amount of  
>>> information
>>> needed to be shared between the "cooperating processes".  For  
>>> example,
>>> Michael and a host of others worked hard to get the Sage build to  
>>> take
>>> advantage of multiple processors.  This was not easy, because the
>>> components come from many sources, and their build process was not
>>> designed to take advantage of these systems, but it was feasible
>>> because the different components need very little information  
>>> from the
>>> other components (basically, 'make' has to know what the  
>>> dependencies
>>> are, so it can find independent builds to run at the same time).
>>
>>> The software that makes up Sage is another matter entirely.  Code  
>>> does
>>> not automatically work optimally on a multiprocessor system (whether
>>> multi-core or multiple single-core chips).  That effort takes a  
>>> lot of
>>> work.
>>
>> One important component of Sage, ATLAS, does take advantage of
>> multiple processors, which is directly taken advantage of in all the
>> linear algebra (numeric and exact).
>
> No, it doesn't per default in Sage on non-OSX since we only build a
> single threaded ATLAS there. Due to the Accelerate Framework on OSX
> large problems that employ BLAS do use multiple cores automatically.
> The Accelerate Framework contains code derived from ATLAS for the BLAS
> portion, but that code was never given back by Apple.
I stand corrected--most of my experience is on OSX where it is easy  
to see both cores being utilized. I didn't know this wasn't the case  
elsewhere (yet).

> I have build Sage versions with a multi CPU ATLAS per default, but
> that code never made it into upstream. I have been contemplating what
> to do and I do have the following BLAS plan:

[...]

> Thoughts?

Sounds good to me, but I have not experience in the area.

- Robert


--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to