Commit 3a59d299 authored by Michael Krause's avatar Michael Krause 🎉
Browse files

added tmux, fixed some links and update specs

parent b179395d
......@@ -4,6 +4,11 @@ Welcome to Tardis's documentation!
Changelog
=========
3.4.4 (19.12. 2017)
+ updated Tardis specs
+ added FSL feat example
+ added new section for useful \*nix programs (tmux)
3.4.3 (22.12. 2016)
+ updated ashs chunk submit script
......@@ -61,6 +66,7 @@ List of Contents
software/matlab
software/python
software/r
software/unix
.. toctree::
:maxdepth: 1
......
......@@ -19,9 +19,9 @@ Tardis
:width: 60%
Some technical facts:
+ **712** Intel® Xeon® CPU E5-2670 CPU cores(no HT) inside 42 Dell m6x0 blade servers
+ **832** Intel® Xeon® CPU E5-2670 CPU cores(no HT) inside 48 Dell m6x0 blade servers
+ **R**:sub:`max` = 9.9 TFlops, **R**:sub:`peak` = 14.8 TFlops
+ **6.4TB** total amount of memory
+ **8.32TB** total amount of memory
+ **32TB** of attached NFS storage
+ **4.1TB** experimental glusterfs storage
+ simple 2-level fat tree network with a theoretical bisection bandwidth of **40GB/s**
......@@ -52,7 +52,7 @@ might want to use your machine as well. But most importantly it is **slow**.
With the Tardis you can login from your laptop or workstation with SSH (see:
:doc:`login`) to a single head node called ``tardis``. On that node users can
prepare and test their code and analysis and then submit it to a queue (see:
:doc:`Torque`). Jobs will then **eventually** be submitted to one of the
:doc:`../pbs/torque`). Jobs will then **eventually** be submitted to one of the
computing nodes to get a guaranteed set of processing resources. Afterwards
users can collect the results and copy them back to the file servers.
......
......@@ -17,7 +17,7 @@ tardis run:
ssh <YOUR_USERNAME>@tardis.mpib-berlin.mpg.de
On Windows you might want to try `Putty
<http://www.chiark.greenend.org.uk/~sgtatham/putty/>`_. For a while now we
<https://www.chiark.greenend.org.uk/~sgtatham/putty/>`_. For a while now we
also have a `web shell <https://tardis.mpib-berlin.mpg.de/>`_ for when there is
no SSH client available.
......@@ -80,7 +80,7 @@ In Macfusion
Windows
^^^^^^^
The most common utility to transfer files on Windows is `WinSCP <http://winscp.net/eng/download.php>`_:
The most common utility to transfer files on Windows is `WinSCP <https://winscp.net/eng/download.php>`_:
.. image:: ../img/winscp.png
:width: 80%
......@@ -171,5 +171,5 @@ If you want to mount another folder either create a different target directory o
You can check all your currently mounted folders with :program:`mount` and filtering by
your username with :program:`mount | grep $USER`.
.. _osxfuse: http://osxfuse.github.io/
.. _osxfuse: https://osxfuse.github.io/
.. _macfusion: http://macfusionapp.org/
.. _jobs:
Example Jobs
============
......
.. _resources:
Resources and Options
=====================
:ref:`resources`
Here is a list of common pbs options. You can either use these options directly
with ``qsub`` or add them as meta-parameters in a job file. In the later case
......
......@@ -19,7 +19,7 @@ Queues
------
Torque manages a number of queues that can hold thousands of jobs that are
subject to execution. Once you prepared a Job (:doc:`Jobs`) you can place them
subject to execution. Once you prepared a Job (:ref:`Jobs`) you can place them
inside a queue. All the jobs of all users are going to the same central
queue(s):
......
......@@ -61,4 +61,4 @@ R-bindings for ANTS: `ANTSr`_. To install, run this inside your R-session:
install.packages("ANTsR", repos="http://ftp5.gwdg.de/pub/misc/cran/")
.. _Neurodebian : http://neuro.debian.net/
.. _ANTSr: https://github.com/stnava/ANTsR
.. _ANTSr: https://github.com/ANTsX/ANTsR
......@@ -3,19 +3,59 @@ FSL
We are automatically following the FSL 5 release history of `Neurodebian <http://neuro.debian.net>`_.
To use FSL in your jobs, activate it like this:
To use FSL in your jobs, activate it with environment modules
.. code-block:: bash
module load fsl
or, manually:
.. code-block:: bash
source /etc/fsl/5.0/fsl.sh
Afterwards the :file:`PATH` variable should be set correctly.
Afterwards the :file:`PATH` variable should be set correctly to find the FSL programs. You can test this with `which feat` or with `echo $FSL_DIR`.
FEAT
---
Analyzing fMRI data is often done with FSL's feat. Although it's a GUI program,
individual models are defined by a design file and can be started on the
command line with :program:`feat design.fsf` This makes :program:`feat` an
ideal candidate for parallel job submission.
Assume you've got a template :file:`design.fsf` with placeholder values for
different subject ids **%SUBJECT%** and runs **%RUN%**. The following script
will generate individual design files from the template and submit a feat job
for all combinations of subjects and runs in parallel all in one go:
.. code-block:: bash
for subject in ID1 ID2 ID3; do
for run in 1 2 3 ; do
# create a copy of the template with a unique name
featfile="design.${subject}.${run}.fsf"
cp design.template $featfile
# replace the placeholder by actual values
sed -i "s|%SUBJECT%|$subject|g" $featfile
sed -i "s|%RUN%|$run|g" $featfile
# submit the feat command with the current design file
echo "module load fsl ; feat $featfile" | qsub -d.
done
done
FIX
---
We have set up a running version of `FSL Fix <http://fsl.fmrib.ox.ac.uk/fsl/fslwiki/FIX>`_.
We have set up a running version of `FSL Fix <https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/FIX>`_.
Currently it is not using FSL's internal qsub so it only makes sense to
parallelize over a number of subjects. Example:
......
Useful \*nix programs
=====================
This purpose of this section is to list and showcase some useful command line
tools to help with you daily workflow. If you have suggestions for awesome
tools let me know!
tmux
----
Tmux is a terminal multiplexer and a replacement for the :file:`screen`
old timer. Think of it as a container for terminals that you can group together.
What makes tmux/screen super useful is the ability to send the group of
terminals "to the background" and attach them at a later point in time. This
works across different SSH sessions, even simultaneously!
Here is an example sessions. We start tmux. Inside it we create two terminals
and switch them. The container can be detached and then re-attached at some
later point:
.. raw:: html
<script src="https://asciinema.org/a/LXrV66DA386EcVshH1cfozHXw.js" id="asciicast-LXrV66DA386EcVshH1cfozHXw" async></script>
Once you started tmux there are a lot of things you can do with it. Each action is prefix with a custom shortcut. This defaults to <Ctrl>-<b>. To activate an action you combine the prefix with the action shortcut. For example, to create a new terminal inside tmux you would hit <Ctrl>-<b>, release the keys and the quickly after, enter a single <c> for **create**. Here is a list of the most important actions:
+ <c> : **c**\ reate a new terminal
+ <n> : switch to the **n**\ ext terminal (increasing index)
+ <p> : switch to the **p**\ revious terminal
+ <d> : **d**\ etach tmux
Other useful actions:
+ <N> : with N being a number between 0 and 9: jump to the terminal with index N
+ <k> : **k**\ ill the current terminal, when a simple exit doesn't work anymore
+ <?> : print the help screen
To "resurrect" an old tmux sessions, just run :program:`tmux a`.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment