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 Xeon Phi computing Case studies and examples of programming paradigms Development tools# Toolchains What are toolchains? Available toolchains at the VSC Intel toolchain Compilers: Intel and GNU Communication library: Intel MPI Intel mathematical libraries Intel toolchain version numbers Further information on Intel tools FOSS toolchain Compilers: GNU Communication library: Open MPI FOSS mathematical libraries Version numbers Further information on FOSS components Intel Trace Analyzer & Collector Purpose Prerequisities Step by step Further information 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 Useful links 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