#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.