Changes between Version 24 and Version 35 of Ticket #12016


Ignore:
Timestamp:
12/09/11 20:09:16 (10 years ago)
Author:
jdemeyer
Comment:

Replying to jhpalmieri:

This looks good to me. Is it ready for review?

Yes, it is. I just didn't want to put "needs review" because I have not really tested it.

Am I allowed to review it since I wrote early drafts of some of the patches?

I would say yes, since I certainly looked at all your code. So consider all your code to be positively reviewed by me.

For a future ticket, it would be nice if you could set MAKE='make -j -lN', for some reasonable choice of N, and have it work. When I try this, I have problems with the following spkgs, and I'm not sure why:

It should work.

  • zlib on OS X (2 cores) fails most of the time with MAKE='make -j -l3'. Here's a log.
  • singular on sage.math fails all of the time, I think, with MAKE='make -j -l30'. Here's a log.

Question for both cases: does MAKE="make -jN" work for various values of N? Because I don't see a fundamental difference between "make -jN" and "make -j -lN".

(The Sage spkg used to fail before the latest round of patches using the -l setting for a cap on the number of threads, and the same goes for parallel doctesting. Setting MAKE='make -j' still causes these failures. Should we just regard this setting as too dangerous?

Yes. Since "make" will simply run as many threads as it can, I think Sage should do the same, no matter how stupid that is.

By the way, I would really like to merge this in the sage-4.8 release, because it cleans up some stuff which will also help future tickets like #11073 (which hopefully will be merged in sage-5.0).

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #12016

    • Property Status changed from needs_work to needs_review
    • Property Reviewers changed from to John Palmieri, Jeroen Demeyer
  • Ticket #12016 – Description

    v24 v35  
    88
    99In #6495, we should implement the same behavior for doc building.
     10
     11Concerning testing this ticket: you can set the environment variable `SAGE_NUM_CORES` to the number of cores you want to pretend to have.  For example, running
     12{{{
     13SAGE_NUM_CORES=24 make ptestlong
     14}}}
     15should run 8 threads (see `sage-num-threads.py`; this is undocumented because the only purpose I see is for testing this ticket).
     16
    1017
    1118'''Apply''':