Bill Hart wrote:
> 2009/7/17 Dr. David Kirkby <david.kir...@onetel.net>:

>> The build speed problem is due to ATLAS. Here is the list of packages
>> currently built on t2 (it's building now). Look at the times between them

<SNIP>

>> What you may notice is a huge time between lapack-20071123.p0 @ 2315 and
>> atlas-3.8.3.p5 @ 0743 the next day. In other words ATLAS is taking 8.5 hours
>> to build. It is the 'tuning' process which is taking 90% of that time.
>>
>> That could be reduced dramatically if we could save the temporary files it
>> builds, produce a set of tuning values for the sun4v architecture, then
>> ATLAS would not need to be tuned every time. But despite trying, and asking
>> for some help, I can't stop Sage deleting the intermediate files. See my
>> thread:
>>
>> "Can I keep build data once a package is  installed ok?"
>>
>> There is a bit of code in $SAGE_ROOT/local/bin/sage-spkg
>>
>>
>> DELETE_TMP=1
>>
>> changing that to zero, which is what William suggested to do, causes a
>> syntax error. I can't work out what's happening. I suspect fixing this
>> should be a high priority.
> 
> I agree, this is should be a high priority.

I've just create a trac ticket for this.

http://sagetrac.org/sage_trac/ticket/6550

Any help appreciated.

>> I'll create a trac ticket for this.
>>
>>> I'm not the right person to be reviewing this.
>>>
>>> I'm also completely unsure whether the patch is valid or not. David
>>> has done things like turn testing on which I've no idea is the right
>>> thing to do or not, from a Sage point of view. That should be bundled
>>> as a separate patch in my view.
>> I did *not* turn testing on. Perhaps I should have made that clearer.
> 
> I am referring to the trac ticket which says:
> 
> "A few others things are done in this patch.
> 
> Removed a comment at the bottom of spkg-install to bypass the checks
> on release systems. Given failures have occurred, it would be unwise
> to bypass any checks
> Add a comment to remind people not to bypass the tests.
> Update the source to use the latest patches, as strongly recommenced
> in the INSTALL file. This brings the code to MPFR 2.4.1 patch level 5,
> though I'm considering it mpfr-2.4.1p0 for Sage purposes."

I realised I confused you, but the testing was already taking place. Had 
it not, the problem with the test failures would never been observed.

>> My personal opinion is that given
>>
>> * Sage takes many hours to almost build
>> * Testing take about 10 minutes,
>> * Failures have been seen in mpfr
>>
>> I feel it's best to leave mpfr testing on permanently.
> 
> I agree totally. But some sage devs complain that building Sage takes
> too long, so there is always a tradeoff between better testing and
> taking too long to build. It all adds up.

True. But when a particular package is known to have caused problems, 
and the exact reason is not fully understood, it's worth keep it on in 
my opinion.



>> The gcc guys don't think it is. They appear to think it is a bug in Solaris,
>> as they think the assembly code is correct.
> 
> Oh dear. Groan.

Yes.

>> One concern I have over not patching is that using gcc 4.2.4 might break the
>> build of polybori. I believe it does, but I am in the process of doing a
>> fresh build from scratch and verifying this. Polybori is seriously broken in
>> too many ways to list, but Alexander Dreyer is looking at fixing that. He
>> now has an account on t2.
>>
> 
> I see, so you are saying we'd actually have to use an earlier version
> of gcc 4.2.4 or earlier.


No, polybori builds with gcc 4.4.0 if the Sun compiler suite can't be 
found in the path. Should polybori find SunStudio, it will

* Start building with C++ files with g++
* Switching to using Sun's 'CC' to build C++ files
* Use GNU -specific flags when using the Sun tools
* Use Sun-specific flags on the GNU tools.

Polybori is seriously broken with gcc 4.4.0, but I am not convinced it 
will build at all with 4.2.4. I'm not 100% sure of this.

> In retrospect, I think your patch is the right way to go, and I'd have
> no issue with using a later gcc (4.3.1 or later) on T2. The most
> important thing which needs to be done is to fix the ATLAS issue, then
> someone can begin to test some of these patches you have been coming
> up with.
> 
> An alternative might just be to not bother testing the patch as part
> of the review process, on t2, but only test that it doesn't break the
> build on some other (non-t2) machine. I mean, it is not like this
> patch is going to stop sage building on t2, as it doesn't build
> anyway.
> 
> I'm prepared to sign off on the fact that the premise behind the patch
> is fine. If someone else will glance at the actual patch code and test
> it against an already working sage on a non-t2 machine, perhaps people
> will allow the patch to pass review without further testing.
> 
> Bill.


The patch consists of a lot of nested 'IF' statements, but the most 
outer ones are:

    if [ `uname` = "SunOS" ]; then

    fi

So if the system is not Solaris, then nothing will happen at all.

Dave

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

Reply via email to