• Stars
    star
    121
  • Rank 293,924 (Top 6 %)
  • Language
    Jupyter Notebook
  • License
    Creative Commons ...
  • Created over 10 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A collection of code examples as well as presentations for training purposes

Training material

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.

DOI

What is it?

Accelerators

Accelerators: some sample code and information on using accelerators.

C

C: presentation based "The C programming language" by Kernighan and Ritchie, as well as sample code to illustration the concepts.

C++

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

Data storage

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

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

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

Java: sample code mostly for demonstration purposes.

Linux Tools

LinuxTools: some illustrations of using Linux tools such as the M4macro processor, make files and autotools, as well as slides on version control using svn and git.

Mathematics

Math: sample code for using various mathematical libraries.

Miscellaneous

Misc: catch-all for one-time presentations, or special sessions.

MPI

Mpi: illustration of distributed programming using the Message Passing Interface API.

OpenMP

OpenMP: sample code for OpenMP.

Optimization

Optimization: illustrations of performance optimization opportunities. This section of the repository has been superceeded by a training repository on code optimization.

PBS

PBS: sample PBS torque batch scripts to illustrate features.

Python

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

R: some very simple illustrations of how to run R scripts from the command line, and to submit as (PBS) jobs

Virtualization

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

Visualization: data files, XDMF files and ParaView state files to use during a demo of scientific visualization with ParaView.

Contributors

  • Geert Jan Bex ([email protected]), Hasselt University/University of Leuven
  • Stefan Becuwe, University of Antwerp
    • suggestions for and correction of typos in Python presentation
    • suggestions for Python programming exercises
  • Guillaume Jacquenot
    • Python 3 version of XDMF generating scripts
    • correcting typos in various README
    • suggesting hyperlinking the README files, and providing a Python script for it
  • Arnout Standaert, VITO
    • update of deprecated Pandas API
    • suggestions on Python OOP presentation section
  • Yana Maneva, KU Leuven
    • suggestions on online C++ training material references

You are very welcome to contribute, please read some guidelines before you do.

More Repositories

1

Fortran-MOOC

Material related to the PRACE MOOC on Fortran programming
Fortran
43
star
2

Python-for-systems-programming

Repository for participants of the "Python for systems programming" training
Jupyter Notebook
39
star
3

Scientific-C-plus-plus

Repository for participants of the "Scientific C++" training
C++
36
star
4

Python-software-engineering

Repository for participants of the "Python software engineering" training
Jupyter Notebook
35
star
5

Python-for-HPC

Repository for participants of the "Python for HPC" training
Jupyter Notebook
31
star
6

Scientific-Python

Repository for participants of the "Scientific Python" training
Jupyter Notebook
19
star
7

Python-for-data-science

Repository for participants of the "Python for data science" training
Jupyter Notebook
17
star
8

DPD

Repository for the FutureLearn MOOC "Defensive programming and debugging"
C
16
star
9

Python-for-machine-learning

Repository for participants of the "Python for machine learning" training
Jupyter Notebook
14
star
10

Python-on-GPUs

Repository for the training on using GPUs from Python.
Jupyter Notebook
8
star
11

atools

Tools to make using job arrays a lot more convenient.
Makefile
7
star
12

Parallel-programming

Material for a training on parallel programming with MPI, OpenMP and TBB.
Jupyter Notebook
7
star
13

Containers-for-HPC

Repository for participants of the "Containers for HPC" training
6
star
14

Version-control-with-git

Repository for participants of the "Version control with git" training
Jupyter Notebook
6
star
15

Defensive_programming_and_debugging

This is material to complement the FutureLearn MOOC on "Defensive programming and debugging", as well as for training purposes.
Fortran
6
star
16

ChatGPT-for-HPC

This repository contains material for a training on using tools such as ChatGPT and Github Copilot in the context of software engineering and High-Performance Computing (HPC).
5
star
17

vsc-tools-lib

Library of tools to parse output of PBS torque and Adaptive Moab utilities, and represent the relevant data
Python
5
star
18

Julia_good_bad_ugly

Get to know the Julia programming language to see whether it is for you.
Jupyter Notebook
5
star
19

Code-optimization

Repository for participants of the "Code optimization" training
Jupyter Notebook
5
star
20

Astrohack

Some material for the Astrohack hackathon.
Python
4
star
21

monitor

monitor logs cpu and memory usage of a running application
Makefile
4
star
22

DSI_UHasselt_covid_dashboard

Data Science Institute (UHasselt) COVID19 dashboard for Belgium.
3
star
23

Cheatsheets

Collection of cheat sheets
3
star
24

C-plus-plus-software-engineering

Material for a training session on C++ software engineering
C++
3
star
25

Fortran-for-programmers

Repository for participants of the "Fortran for programmers" training
Fortran
3
star
26

worker

The worker framework is intended to support embarrassingly parallel computations (typically parameter explorations) on HPC clusters.
Makefile
3
star
27

Best-practices-in-programming

Material for a training on best practices for programming and software development
3
star
28

GPU-programming

Material for a training on GPU programming
C
2
star
29

EssentialLaTeX

Narrow scope LaTeX introduction, intended for contributors to technical manuals or tutorials.
TeX
2
star
30

Training-sessions

Overview of training sessions on (parallel) programming, scientific computing, data analysis and HPC workflows
Shell
2
star
31

Python-for-programmers

Repository for participants of the "Python for programmers" training
Jupyter Notebook
2
star
32

CMake-usecases

Repository for interesting CMake use cases
Fortran
2
star
33

Python-dashboards

Repository that contains material for training sessions on creating dashboards using Python.
Jupyter Notebook
2
star
34

GrayNorm

GrayNorm is an algorithm that helps the researcher to identify suitable reference genes that are minimally influenced by the experiment. Gene expression levels are determined by quantitative reverse transcription PCR (RT-qPCR) and one is interested in up- or down regulation of various genes as a consequence of varying experimental conditions.
Python
2
star
35

PRACE_ML

Jupyter Notebook
1
star
36

mem_io

Lots of I/O, really fast
Roff
1
star
37

BinderBash

Bash notebooks on Binder
Jupyter Notebook
1
star
38

jobdb

Tools to keep track of jobs submitted using PBS torque
Shell
1
star
39

datasink

Efficient I/O on a parallel file system without the hassle
C
1
star
40

slurm_examples

Examples of slurm use cases
C++
1
star
41

Materializer

Python script to make a pictures "materialize" out of a stream of bits in the terminal
Jupyter Notebook
1
star
42

MigrationBelgium

Streamlit application to visualize migration background in Belgium
Python
1
star
43

MapMaker

Map Maker lets you create chloropleth maps of Belgium using data in an Excel or CSV file. The webapplication uses steramlit.
Python
1
star