Skip to content

Commit b381e67

Browse files
committed
SGE and installation instruction updates.
1 parent 2487742 commit b381e67

34 files changed

+171
-123
lines changed

docs/user/_sources/compute_config.txt

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ Computer Settings
66

77
#. **FSL Path - [path]:** Full path to the FSL version to be used by CPAC. If you have specified an FSL path in your .bashrc file, this path will be set automatically.
88

9-
#. **Job Scheduler / Resource Manager - [SGE, PBS]:** Sun Grid Engine (SGE) or Portable Batch System (PBS). Only applies if you are running on a grid or compute cluster. See the section below entitled `SGE Configuration` for more information on how to set up a SGE.
9+
#. **Job Scheduler / Resource Manager - [SGE, PBS]:** Sun Grid Engine (SGE) or Portable Batch System (PBS). Only applies if you are running on a grid or compute cluster. See the section below entitled `SGE Configuration` for more information on how to set up SGE.
1010

11-
#. **SGE Parallel Environment - [text]:** SGE Parallel Environment to use when running CPAC. Only applies when you are running on a grid or compute cluster using SGE. See the section below entitled `SGE Configuration` for more information on how to set up a SGE.
11+
#. **SGE Parallel Environment - [text]:** SGE Parallel Environment to use when running CPAC. Only applies when you are running on a grid or compute cluster using SGE. See the section below entitled `SGE Configuration` for more information on how to set up SGE.
1212

13-
#. **SGE Queue - [text]:** SGE Queue to use when running CPAC. Only applies when you are running on a grid or compute cluster using SGE. See the section below entitled `SGE Configuration` for more information on how to set up a SGE.
13+
#. **SGE Queue - [text]:** SGE Queue to use when running CPAC. Only applies when you are running on a grid or compute cluster using SGE. See the section below entitled `SGE Configuration` for more information on how to set up SGE.
1414

1515
#. **Number of Cores Per Subject - [integer]:** Number of cores (on a single machine) or slots on a node (cluster/grid) per subject. Slots are cores on a cluster/grid node. 'Number of Cores Per Subject' multiplied by 'Number of Subjects to Run Simultaneously' multiplied by 'Number of Cores for Anatomical Registration (ANTS)' must not be greater than the total number of cores.
1616

@@ -61,7 +61,7 @@ Preliminaries
6161

6262
Before you configure Sun Grid Engine so that it works with C-PAC, you should understand the following concepts:
6363

64-
* **Job Scheduler** - A program that can allocate computational resources in an HPC cluster to jobs based on availability and distribute jobs across nodes. C-PAC can use Sun Grid Engine (SGE) as its job scheduler (and SGE is comes pre-configured with C-PAC's :doc:`cloud image <cloud>`).
64+
* **Job Scheduler** - A program that can allocate computational resources in an HPC cluster to jobs based on availability and distribute jobs across nodes. C-PAC can use Sun Grid Engine (SGE) as its job scheduler (and SGE comes pre-configured with C-PAC's :doc:`cloud image <cloud>`).
6565

6666
* **Parallel Environment** - A specification for how SGE parallelizes work. Parallel environments can have limits on the number of CPUs used, whitelists and blacklists that dictate who can use resources, and specific methods for balancing server load during distributed tasks.
6767

@@ -76,9 +76,10 @@ Before you configure Sun Grid Engine so that it works with C-PAC, you should und
7676
Configuring A Parallel Environment
7777
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
7878

79-
The specifics of configuring a parallel environment in SGE are beyond the scope of this guide (see `Oracle's blog <https://blogs.oracle.com/templedf/entry/configuring_a_new_parallel_environment>`_ for a good primer on how to prepare a parallel environment). Nevertheless, we will discuss how to configure a simple example (the `mpi_conf` environment used by the C-PAC cloud image). To do this, we will first create a file named mpi_smp.conf that will appear as follows:
79+
The specifics of configuring a parallel environment in SGE more broadly are beyond the scope of this guide (see `Oracle's blog <https://blogs.oracle.com/templedf/entry/configuring_a_new_parallel_environment>`_ for a good primer). Nevertheless, we will discuss how to configure an environment that is compatible with C-PAC. To do this, we will first create a file named *mpi_smp.conf* that will appear as follows:
8080

8181
.. code-block:: bash
82+
8283
pe_name mpi_smp
8384
slots 999
8485
user_lists NONE
@@ -92,20 +93,22 @@ The specifics of configuring a parallel environment in SGE are beyond the scope
9293
accounting_summary TRUE
9394

9495
This configuration ensures that:
95-
* Up to 999 slots will be used.
96+
97+
* All of the cores will be used (assuming your system has fewer than 999 cores; if you are lucky enough to have more than this, the maximum value for this field is 9999999).
9698
* No users are whitelisted or blacklisted and no special hooks or cleanup tasks occur before or after a job.
97-
* All job slots that a C-PAC job submission requests are on the same machine.
99+
* All job slots that a C-PAC job submission requests are on the same machine (this ensures that each unique subject's computations are taken care of by the same node and the cores allocated for one of C-PAC's steps are not distributed across different machines).
98100
* SGE has full control over the jobs submitted (in terms of resource scheduling).
99-
* The C-PAC run is not part of a parallel job that would require an awareness of which task was performed first.
101+
* The C-PAC run is not part of a parallel job that would require an awareness of which task was performed first (the subjects can be assigned to nodes in any order).
100102
* An accounting record is written concerning how the job used resources.
101103

102-
To activate this parallel environment and tie it to a job queue named 'all.q', use the following commands:
104+
To activate this parallel environment and tie it to a job queue named *all.q*, execute the following commands on your cluster's master node:
103105

104106
.. code-block:: bash
107+
105108
qconf -Ap /path/to/mpi_smp.conf
106109
qconf -mattr queue pe_list "mpi_smp" all.q
107110

108-
You would then set the SGE Parallel Environment to "mpi_smp" and the SGE queue to "all.q" in your pipeline configuration file before starting your C-PAC run.
111+
You would then set the SGE Parallel Environment to *mpi_smp* and the SGE queue to *all.q* in your pipeline configuration file before starting your C-PAC run.
109112

110113
Additional Links
111114
""""""""""""""""

docs/user/_sources/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141

4242
# General information about the project.
4343
project = u'C-PAC'
44-
copyright = u'2015, C-PAC Team'
44+
copyright = u'2016, C-PAC Team'
4545

4646
# The version info for the project you're documenting, acts as replacement for
4747
# |version| and |release|, also used in various other places throughout the

docs/user/_sources/install.txt

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ A Note About the \*nix Command Line
2626

2727
Installation Overview
2828
^^^^^^^^^^^^^^^^^^^^^
29-
If you are using Ubuntu (version 12.04 or newer) you can download and run `cpac_install.sh <https://github.com/FCP-INDI/C-PAC/blob/master/scripts/cpac_install.sh?raw=true>`_ with the following terminal commands:
29+
If you are using Ubuntu (version 12/14) you can download and run `cpac_install.sh <https://github.com/FCP-INDI/C-PAC/blob/master/scripts/cpac_install.sh?raw=true>`_ with the following terminal commands:
3030

3131
.. code-block:: bash
3232

@@ -37,7 +37,7 @@ If you are using Ubuntu (version 12.04 or newer) you can download and run `cpac
3737

3838
This will install all of the prerequisites and resources listed below. If you have previously installed versions of these, they will not be reinstalled, and the script will not check the release version to match the requirements of C-PAC.
3939

40-
**Note**: This script is intended for Ubuntu Linux 12.04, but it may work for older releases of Ubuntu.
40+
**Note**: This script is intended for Ubuntu Linux 12/14, but it may work for older releases of Ubuntu.
4141

4242
**For other operating systems**, this page will guide you through the following C-PAC installation steps:
4343

@@ -75,7 +75,7 @@ A complete installation of C-PAC requires that the following dependencies be ins
7575
* zlib and its developer libraries
7676
* `Graphviz <http://www.graphviz.org/>`_ (optional; required for workflow graphs)
7777

78-
The command to install all of these on Ubuntu is:
78+
The command to install all of these on Ubuntu 12/14 is:
7979

8080
.. code-block:: bash
8181

@@ -89,12 +89,27 @@ OS-Specific Instructions
8989
* Installing system-level and Python dependencies will be made much easier if you download the `Xcode Command Line Tools from Apple <https://developer.apple.com/downloads/index.action>`_ (requires a free Apple account), which includes (among other things) Git and gcc.
9090
* You may want to consider using a package manager such as `Homebrew <http://brew.sh/>`_, `Macports <https://www.macports.org/>`_, or `Fink <http://www.finkproject.org/>`_.
9191

92+
**Ubuntu 16.04:**
93+
94+
* The apt-get command used for Ubuntu 12/14 works with *libxp6* omitted. Unfortunately, libxp is no longer included in the Ubuntu repositories and will need to be compiled from source. The commands to accomplish this are as follows (note that these commands must be executed as the root user).
95+
96+
.. code-block:: bash
97+
98+
apt-get install autoconf autogen xutils-dev x11proto-print-dev
99+
cd /tmp
100+
git clone https://anongit.freedesktop.org/git/xorg/lib/libXp.git
101+
cd libXp
102+
./autogen.sh
103+
configure
104+
make
105+
make install
106+
92107
Installing Python Dependencies
93108
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
94109
Please ensure that you are using Python 2.7 and above, but not Python 3 (since it is not backwards-compatible). Though many computers come with Python pre-installed, C-PAC relies on a number of special-purpose packages, which are listed below. Packages with an asterisk can be installed through `easy_install <https://pythonhosted.org/setuptools/easy_install.html>`_ or pip. Installing `Anaconda <https://store.continuum.io/cshop/anaconda/>`_ (**64-bit version only**), `Miniconda <http://conda.pydata.org/miniconda.html>`_ or `Enthought Canopy <https://www.enthought.com/products/canopy/>`_ and using a package manager can simplify installation greatly. Instructions for Miniconda are given below.
95110

96111
* `SciPy and NumPy <http://www.scipy.org/install.html>`_
97-
* Nipype (version 0.10 for versions of C-PAC after 0.3.7, `version 0.9.2 <https://github.com/FCP-INDI/nipype/releases/tag/v0.9.2_cpac_tested>`_ for C-PAC versions 0.3.4b, 0.3.5, and 0.3.6)
112+
* Nipype (version 0.11 is compatible with C-PAC 0.3.9; version 0.10 is compatible with versions of C-PAC after 0.3.7, `version 0.9.2 <https://github.com/FCP-INDI/nipype/releases/tag/v0.9.2_cpac_tested>`_ for C-PAC versions 0.3.4b, 0.3.5, and 0.3.6; version 0.12 of nipype is not compatible with the currently release versions of C-PAC)
98113
* Nibabel
99114
* `NetworkX <http://networkx.lanl.gov/>`_ *
100115
* `Traits <https://github.com/enthought/traits>`_ *
@@ -125,7 +140,7 @@ The following commands will install all the Python dependencies within a Minicon
125140
conda create -y -n cpac python
126141
source activate cpac
127142
conda install -y cython numpy scipy matplotlib networkx traits pyyaml jinja2 nose ipython pip wxpython
128-
pip install lockfile pygraphviz nibabel nipype patsy psutil boto3
143+
pip install lockfile pygraphviz nibabel nipype==0.11 patsy psutil boto3
129144
source deactivate
130145

131146
OS-Specific Instructions

docs/user/alff.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ <h3>Navigation</h3>
174174
</ul>
175175
</div>
176176
<div class="footer">
177-
&copy; Copyright 2015, C-PAC Team.
177+
&copy; Copyright 2016, C-PAC Team.
178178
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
179179
</div>
180180
</body>

docs/user/anat.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@ <h3>Navigation</h3>
310310
</ul>
311311
</div>
312312
<div class="footer">
313-
&copy; Copyright 2015, C-PAC Team.
313+
&copy; Copyright 2016, C-PAC Team.
314314
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
315315
</div>
316316
</body>

docs/user/basc.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ <h3>Navigation</h3>
160160
</ul>
161161
</div>
162162
<div class="footer">
163-
&copy; Copyright 2015, C-PAC Team.
163+
&copy; Copyright 2016, C-PAC Team.
164164
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
165165
</div>
166166
</body>

docs/user/benchmark.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ <h3>Navigation</h3>
150150
</ul>
151151
</div>
152152
<div class="footer">
153-
&copy; Copyright 2015, C-PAC Team.
153+
&copy; Copyright 2016, C-PAC Team.
154154
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
155155
</div>
156156
</body>

docs/user/centrality.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ <h3>Navigation</h3>
232232
</ul>
233233
</div>
234234
<div class="footer">
235-
&copy; Copyright 2015, C-PAC Team.
235+
&copy; Copyright 2016, C-PAC Team.
236236
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
237237
</div>
238238
</body>

0 commit comments

Comments
 (0)