A collection of code examples as well as presentations for training purposes
A collection of code examples for training purposes, mostly in the context of data processing and parallel programming.
This material is made available as is, i.e., anyone is welcome to use it, and to contribute. However, no support is guaranteed in any form. All material is subject to the license included in this repository.
Tips and tricks can be found on this repository's website but also in a cheat sheet repository.
An overview of all off-the-shelf training sessions is also available online.
Accelerators
: some sample code and information on using
accelerators.
C
: presentation based "The C programming language" by Kernighan and
Ritchie, as well as sample code to illustration the concepts.
CPlusPlus
: presentation based on "A tour of C++" by Stroustrup,
as well as sample code to illustrate the concepts. This part of the repository
is considered obsolete and has been replaced by another repository for a C++ for
scientific programming training. See
DataStorage
: sample code showing how to read/write HDF5 and
NetCDF files from C, Fortran, and Python. HDF5 can be used for parallel
I/O, C sample code is provided. The HDF5 material is part of a tutorial on
that subject. Sample code on how to interact with a redis data
structure server is also provided, illustrating the hiredis C API.
Sample SQL covers the basics of querying relational databases
Debugging
: slides used for an info session on debugging tools
and techniques, as well as sample code. This part of the repository is
supplemented by the following repository:
Fortran
: presentation on "Modern Fortran" as well sample code
intended to illustrate Fortran 95, 2003, and 2008 features. This section
of the repository has been superceeded by two other repositories:
Java
: sample code mostly for demonstration purposes.
LinuxTools
: some illustrations of using Linux tools such as
the M4
macro processor, make files and autotools, as well as slides on
version control using svn and git.
Math
: sample code for using various mathematical libraries.
Misc
: catch-all for one-time presentations, or special sessions.
Mpi
: illustration of distributed programming using the Message
Passing Interface API.
OpenMP
: sample code for OpenMP.
Optimization
: illustrations of performance optimization
opportunities. This section of the repository has been superceeded by a
training repository on code optimization.
PBS
: sample PBS torque batch scripts to illustrate features.
Python
: sample code to explore various Python features, standard
library packages and third party libraries. Most of this material is
used in a tutorial on using Python for scientific data processing. This part of
the repository has in large part been superceeded by various training
repositories dedicated to specific Python-related topics.
R
: some very simple illustrations of how to run R scripts from the
command line, and to submit as (PBS) jobs
Virtualization
: Information on how to use Singularity.
This part of the repository has been superceeded by a training repository
on using containers for HPC.
Visualization
: data files, XDMF files and ParaView state
files to use during a demo of scientific visualization with ParaView.
You are very welcome to contribute, please read some guidelines before you do.