Skip to content

Commit

Permalink
Merge branch 'training-july-2016'
Browse files Browse the repository at this point in the history
Make training material and additional documentation
available to all users.  More revisions to come as
the 2nd installment of the training progresses.
  • Loading branch information
riccardomurri committed Nov 14, 2016
2 parents dd37c5a + 847f4e8 commit 8b4c312
Show file tree
Hide file tree
Showing 90 changed files with 79,394 additions and 33 deletions.
5 changes: 4 additions & 1 deletion docs/programmers/tutorials/bottom-up/gc3.sty
Expand Up @@ -71,7 +71,7 @@
procnamestyle=\bfseries\color{BrickRed},%
procnamekeys={def},%
stringstyle=\color{MidnightBlue},%
showstringspaces=true,%
showstringspaces=false,%
emph={self},%
emphstyle=\bfseries\color{gray},%
% --- escaping and special displays ---
Expand All @@ -92,6 +92,9 @@
}%
\lstnewenvironment{python}{\lstset{language=python}}{}%
\lstnewenvironment{sh}{\lstset{language=sh}}{}%
\lstnewenvironment{stdout}{%
\lstset{language=sh,basicstyle=\tiny\ttfamily\bfseries,escapechar=^}
}{}%

\usepackage{hyperref}
% for a summary of hyperref options,see: http://www.andy-roberts.net/writing/latex/pdfs
Expand Down
77 changes: 70 additions & 7 deletions docs/programmers/tutorials/index.rst
Expand Up @@ -13,15 +13,78 @@

.. contents::

Table of Contents:
GC3Pie programming tutorials
Building workflows with GC3Pie: a bottom-up presentation
The "Warholize" Workflow Tutorial
Example scripts

Implementing scientific workflows with GC3Pie
---------------------------------------------

Building workflows with GC3Pie: a bottom-up presentation
--------------------------------------------------------
This is the course material prepared for the `GC3Pie for programmers training`__,
held at the University of Zurich on July 11-14, 2016.

.. __: http://www.s3it.uzh.ch/en/scienceit/support/training/gc3pie/programmers.html

The course aims at showing how to implement patterns commonly seen
in scientific computational workflows using Python and GC3Pie, and
provide users with enough knowledge of the tools available in GC3Pie
to extend and adapt the examples provided.

`Introduction to the training <https://github.com/uzh/gc3pie/tree/training-july-2016/docs/programmers/tutorials/workflows/part00.pdf>`_

A presentation of the training material and outline of the course.
Probably not much useful unless you're actually sitting in class.

`Overview of GC3Pie use cases <https://github.com/uzh/gc3pie/tree/training-july-2016/docs/programmers/tutorials/workflows/part01.pdf>`_

A quick overview of the kind of computational use cases that GC3Pie
can easily solve.

`GC3Pie basics <https://github.com/uzh/gc3pie/tree/training-july-2016/docs/programmers/tutorials/workflows/part02.pdf>`_

The basics needed to write simple GC3Pie scripts: the minimal
session-based script scaffolding, and the properties and features of
the `Application`:class: object.

`Useful debugging commands <https://github.com/uzh/gc3pie/tree/training-july-2016/docs/programmers/tutorials/workflows/part03.pdf>`_

Recall a few GC3Pie utilities that are especially useful when
debugging code.

`Customizing command-line processing <https://github.com/uzh/gc3pie/tree/training-july-2016/docs/programmers/tutorials/workflows/part04.pdf>`_

How to set up command-line argument and option processing in
GC3Pie's `SessionBasedScript`:class:

`Application requirements <https://github.com/uzh/gc3pie/tree/training-july-2016/docs/programmers/tutorials/workflows/part05.pdf>`_

How to specify running requirements for `Application`:class: tasks,
e.g., how much memory is needed to run.

`Application control and post-processing <https://github.com/uzh/gc3pie/tree/training-july-2016/docs/programmers/tutorials/workflows/part06.pdf>`_

How to check and react on the termination status of a GC3Pie
Task/Application.

`Introduction to workflows <https://github.com/uzh/gc3pie/tree/training-july-2016/docs/programmers/tutorials/workflows/part07.pdf>`_

A worked-out example of a many-step workflow.

`Running tasks in a sequence <https://github.com/uzh/gc3pie/tree/training-july-2016/docs/programmers/tutorials/workflows/part08.pdf>`_

How to run tasks in sequence: basic usage of
`SequentialTaskCollection`:class: and `StagedTaskCollection`:class:

`Running tasks in parallel <https://github.com/uzh/gc3pie/tree/training-july-2016/docs/programmers/tutorials/workflows/part09.pdf>`_

How to run independent tasks in parallel: the `ParallelTaskCollection`:class:

`More workflow constructs <https://github.com/uzh/gc3pie/tree/training-july-2016/docs/programmers/tutorials/workflows/part10.pdf>`_

Other workflow construction tools: the
`DependentTaskCollection`:class: for automated arrangement of tasks
given dependencies, and the unbounded `SequentialTaskCollection`.


A bottom-up introduction to programming with GC3Pie
---------------------------------------------------

This is the course material made for the `GC3Pie 2012 Training event`_
held at the University of Zurich on October 1-2, 2012.
Expand Down
38 changes: 38 additions & 0 deletions docs/programmers/tutorials/workflows/Makefile
@@ -0,0 +1,38 @@

default:
@echo "Type 'make ACTION', where ACTION is one of the following:"
@echo
@echo "clean -- Remove all temporary LaTeX files"
@echo
@echo "all -- Recompile all LaTeX files"
@echo


# clean up temporary LaTeX files
clean:
rm -f *~ *.aux *.log *.nav *.out *.rel *.snm *.toc *.vrb


# remake all LaTeX files
all: $(patsubst %.tex,%.pdf,$(wildcard *.tex))

# inputs
FIG=$(wildcard fig/*.svg)
FIG_PDF=$(FIG:.svg=.pdf)

# the default wildcard rule for generating PDFs from `.tex` files
%.pdf: %.tex gc3.sty $(FIG_PDF)
pdflatex $< || true
pdflatex $< || true

# wildcard rule for generating figures
fig/%.pdf: fig/%.svg
inkscape --export-area-drawing --export-pdf=$@ $<

# additional per-file dependencies
#
# these were generated from `\includegraphics` commands in the LaTeX source with::
#
# $ egrep --only-matching '\\includegraphics\[.+\]\{([A-Za-z0-9/._-]+)\}' *.tex \
# | sed -r -e 's|^([a-zA-Z0-9]+)\.tex:\\includegraphics.+\{([a-zA-Z0-9/._-]+)\}|\1.pdf: \1.tex \2|'
#
27 changes: 27 additions & 0 deletions docs/programmers/tutorials/workflows/TEMPLATE.tex
@@ -0,0 +1,27 @@
\documentclass[english,serif,mathserif,xcolor=pdftex,dvipsnames,table]{beamer}
\usetheme{gc3}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}

\usepackage{gc3}

\title[Introduction]{%
TEMPLATE SLIDE DECK \\ for the GC3Pie training
}
\author[R. Murri, S3IT UZH]{%
Riccardo Murri \texttt{<riccardo.murri@uzh.ch>}
\\[1ex]
\emph{S3IT: Services and Support for Science IT}
\\[1ex]
University of Zurich
}
\date{July~11--14, 2016}

\begin{document}

% title frame
\maketitle

\end{document}

0 comments on commit 8b4c312

Please sign in to comment.