#8306: Parallel inter/intra-spkg builds
-------------------------------------------+--------------------------------
   Reporter:  mpatel                       |       Owner:  GeorgSWeber 
       Type:  enhancement                  |      Status:  needs_review
   Priority:  major                        |   Milestone:  sage-4.4.4  
  Component:  build                        |    Keywords:              
     Author:  Mitesh Patel                 |    Upstream:  N/A         
   Reviewer:  David Kirkby, John Palmieri  |      Merged:              
Work_issues:                               |  
-------------------------------------------+--------------------------------
Changes (by mpatel):

  * status:  needs_work => needs_review


Old description:

> Along with a primed [http://ccache.samba.org/ ccache], compiling multiple
> spkgs in parallel may significantly speed up Sage builds on multicore
> machines.  See [http://groups.google.com/group/sage-
> release/browse_thread/thread/4c915ae814dd6514 sage-release] for some
> information.  Notes:
>
>  * I put packages installed by setuptools (twisted, zodb, pygments,
> jinja, jinja2, sphinx, sqlalchemy, sagenb) in a linear chain, because
> setuptools does not consistently update `SAGE_LOCAL/lib/python/site-
> packages/easy-install.pth` in parallel.
>
>  * I dropped mpir from gap's dependencies (see
> [http://groups.google.com/group/sage-devel/msg/c97a99f23ea576b7 sage-
> devel]).
>
> To test the changes:
>
>  * Update `spkg/install` and `spkg/standard/deps` from
> [http://sage.math.washington.edu/home/mpatel/trac/8306 here].
>  * Copy [http://sage.math.washington.edu/home/mpatel/trac/8306/pipestatus
> pipestatus] to `spkg/`.
>  * Add #8357's `eclib-*.spkg`.
>  * Add #8477's `palp-*.spkg`.
>  * `export SAGE_PARALLEL_SPKG_BUILD="yes"`
>  * `export MAKE="make -jX"` where `X > 1`
>  * `make`
>
> To build with `SAGE_CHECK="ok"`, add #7091's `sqlalchemy-*.spkg`.  To
> make `sage -i foo-X.Y.spkg` ''also'' append to `spkg/logs/foo-X.Y.log`,
> apply [attachment:trac_8306_scripts-spkg_log_files.patch] to the scripts
> repository.

New description:

 Along with a primed [http://ccache.samba.org/ ccache], compiling multiple
 spkgs in parallel may significantly speed up Sage builds on multicore
 machines.  See [http://groups.google.com/group/sage-
 release/browse_thread/thread/4c915ae814dd6514 sage-release] for some
 information.

 To build multiple spkgs in parallel:

  * Start with Sage 4.4.4.alpha0.
  * Update [attachment:makefile], `spkg/`[attachment:install], and
 `spkg/standard/`[attachment:deps].
  * Copy [attachment:pipestatus] to `spkg/`.
  * Copy the latest spkgs from #8731 (Maxima), #9185 (Singular), #9186 (R),
 and #9187 (ECL) to `spkg/standard`.
  * `export SAGE_PARALLEL_SPKG_BUILD="yes"`
  * `export MAKE="make -jX"` where `X > 1`
  * `make`

 Also:

  * Apply [attachment:trac_8306_scripts-spkg_log_files.2.patch] to the
 scripts repository.  This makes `sage -i foo-X.Y.spkg` ''also'' append to
 `spkg/logs/foo-X.Y.log`.

  * Apply [attachment:trac_8306_scripts-pipestatus.patch] to the scripts
 repository.  This ensures that `sage -sdist <VERSION>` includes
 `pipestatus` in a new Sage source distribution.

--

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/8306#comment:62>
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