Difference between revisions of "Development"
S Richling (talk | contribs) (→Compiling Software) |
S Richling (talk | contribs) (→Development Environments) |
||
(12 intermediate revisions by the same user not shown) | |||
Line 4: | Line 4: | ||
== Parallel Programming == |
== Parallel Programming == |
||
− | Overview on [[ |
+ | Overview on [[Development/Parallel_Programming | parallel programming with OpenMP and MPI]]. |
== Environment Modules == |
== Environment Modules == |
||
Line 35: | Line 35: | ||
=== Development Tools === |
=== Development Tools === |
||
− | * [[Score-P]]:<br />Tracing of OpenMP-, MPI- and GPU-parallel applications for Vampir and other performance analysis tools. |
+ | * [[Development/Score-P|Score-P]]:<br />Tracing of OpenMP-, MPI- and GPU-parallel applications for Vampir and other performance analysis tools. |
− | * [[Vampir_and_VampirServer|Vampir and VampirServer]]:<br />Highly scalable Performance Analysis of OpenMP-, MPI- and GPU-parallel applications. |
+ | * [[Development/Vampir_and_VampirServer|Vampir and VampirServer]]:<br />Highly scalable Performance Analysis of OpenMP-, MPI- and GPU-parallel applications. |
− | * [[Pahole]]:<br />Analyse data structures for cache-line alignment and (un)necessary holes that increase data structure size |
+ | * [[Development/Pahole|Pahole]]:<br />Analyse data structures for cache-line alignment and (un)necessary holes that increase data structure size |
− | * [[Valgrind]]:<br />Very valuable framework with multiple tools, e.g. to detect memory access errors |
+ | * [[Development/Valgrind|Valgrind]]:<br />Very valuable framework with multiple tools, e.g. to detect memory access errors |
− | * |
+ | * Forge:<br />Tools for debugging (arm DDT) and performance analysis (arm MAP) |
=== Libraries and Numerical Libraries === |
=== Libraries and Numerical Libraries === |
||
− | * [[GSL]] |
+ | * [[Development/GSL|GSL]] |
− | * [[FFTW]] |
+ | * [[Development/FFTW|FFTW]] |
− | * [[MKL]] |
+ | * [[Development/MKL|MKL]] |
=== Development Environments === |
=== Development Environments === |
||
− | * [[Conda]] |
+ | * [[Development/Conda|Conda]] |
+ | * [[Development/Containers|Containers]] |
Latest revision as of 00:16, 15 March 2023
Contents
1 Compiling Software
Overview of general compiler usage
2 Parallel Programming
Overview on parallel programming with OpenMP and MPI.
3 Environment Modules
Compiler, libraries and development tools are provided as environment modules.
Required reading to use: Environment Modules
4 Available Development Software
Visit https://www.bwhpc.de/software.php select your cluster and
- For compiler select
Category → compiler
- For MPI select
Category → mpi
- For libraries select
Category → lib
- For numerical libraries select
Category → numlib
- For further development tools select
Category → devel
On a cluster use: module avail <Category>
5 Documentation
Availabe documentation for environment modules:
module help
- examples in
$SOFTNAME_EXA_DIR
- additional docu in this wiki
6 Documentation in the Wiki
Environment modules for software development and parallel programming with additional documentation here in the wiki:
6.1 Compiler and Debugger
6.2 Development Tools
- Score-P:
Tracing of OpenMP-, MPI- and GPU-parallel applications for Vampir and other performance analysis tools. - Vampir and VampirServer:
Highly scalable Performance Analysis of OpenMP-, MPI- and GPU-parallel applications. - Pahole:
Analyse data structures for cache-line alignment and (un)necessary holes that increase data structure size - Valgrind:
Very valuable framework with multiple tools, e.g. to detect memory access errors - Forge:
Tools for debugging (arm DDT) and performance analysis (arm MAP)