Software development# Programming paradigms# MPI distributed programming Purpose Some background information Prerequisites Implementations Compiling and running Debugging Profiling Further information OpenMP for shared memory programming Purpose Prerequisites Implementations Compiling OpenMP code Running OpenMP programs Further information Hybrid MPI/OpenMP programs Preparing your hybrid application to run Running hybrid programs on the VSC clusters Script mympirun (VSC) Intel toolchain (Intel compilers and Intel MPI) FOSS toolchain (GCC and Open MPI) Books about Parallel Computing General Grid computing MPI OpenMP GPU computing Case studies and examples of programming paradigms Development tools# Toolchains What are toolchains? Available toolchains at the VSC FOSS toolchain Compilers: GNU Communication library: Open MPI FOSS mathematical libraries Version numbers Further information on FOSS components Intel toolchain Compilers: Intel and GNU Communication library: Intel MPI Intel mathematical libraries Intel toolchain version numbers Further information on Intel tools Intel Trace Analyzer & Collector Purpose Prerequisities Step by step Eclipse Eclipse introduction and installation Eclipse as a remote editor Eclipse access to a VSC subversion repository Eclipse with PTP and version control Specific Eclipse issues on OS X MS Visual Studio Prerequisites OpenMP MPI ParameterWeaver Introduction & motivation High-level overview & concepts Language specific documentation Future work Contact & support Version control systems Why use a version control system? Types of version control systems Cloud services Which one should I use? Libraries# BLAS and LAPACK Perl package management Python package management R package management Installing R packages with devtools