#6495: Build the reference manual incrementally
-----------------------------+----------------------------------------------
   Reporter:  mpatel         |          Owner:  tba                        
       Type:  enhancement    |         Status:  needs_review               
   Priority:  major          |      Milestone:  sage-4.8                   
  Component:  documentation  |       Keywords:  sd32                       
Work_issues:                 |       Upstream:  N/A                        
   Reviewer:  Volker Braun   |         Author:  Mitesh Patel, John Palmieri
     Merged:                 |   Dependencies:                             
-----------------------------+----------------------------------------------

Comment(by jhpalmieri):

 Replying to [comment:35 jdemeyer]:
 > Replying to [comment:34 jhpalmieri]:
 > > Some other possible changes: in the parallel-building code (from
 builder.py)
 > > {{{
 > > #!python
 > >             from multiprocessing import Pool, cpu_count
 > >             max_cpus = 8 if SAGE_PARALLEL_DOCBUILD else 1
 > >             pool = Pool(min(max_cpus, cpu_count()))
 > > }}}
 > > perhaps change "else 1" to "else 2"?
 > Why?  It wouldn't make sense to build with more processes than there are
 CPUs.

 This version still does `min(max_cpus, cpu_count())`, so it won't use more
 processes than there are CPUs.

 > > We could also change "pool" to just "Pool(cpu_count())" or
 "Pool(int(1.5 * cpu_count()))" or something like that, eliminating the
 minimum of 8 and possibly increasing the maximum.
 > Why?  It wouldn't make sense to build with more processes than there are
 CPUs.

 I see lots of suggestions on the internet to set `MAKE=make -jN` where `N`
 is 1.5 * (the number of cpus), or 1 or 2 more than the number of cpus.
 Why not here as well?

 > As I mentioned on sage-devel, I don't like that there is an option to
 doctest in parallel, a different option to build the docs in parallel, a
 different option to build in parallel...  I would say: let there be one
 environment variable `SAGE_NUM_PROCESSES` or something like that and use
 that for everything.

 I think maybe two variables: one (`SAGE_PARALLEL`) to enable parallel
 processes, one (`SAGE_NUM_THREADS`) to determine the maximum number of
 processes.  The first could be "no" by default, and the second could be
 "0" by default, meaning use `cpu_count()` or `min(8, cpu_count())` or some
 other variant on this, the way we do with `NUM_THREADS` in `Makefile` and
 `sage-ptest`.  Then it's easy to turn on and off without remembering how
 many cores your machine has.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/6495#comment:36>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
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-trac?hl=en.

Reply via email to