Development: Difference between revisions
Jump to navigation
Jump to search
S Richling (talk | contribs) |
|||
(30 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
== Software |
== Compiling Software == |
||
⚫ | |||
Overview of [[Development/General compiler usage|general compiler usage]] |
|||
== Parallel Programming == |
|||
⚫ | |||
== Environment Modules == |
== Environment Modules == |
||
Line 11: | Line 15: | ||
* For compiler select <code>Category → compiler</code> |
* For compiler select <code>Category → compiler</code> |
||
* For MPI select <code>Category → mpi</code> |
* For MPI select <code>Category → mpi</code> |
||
* For libraries select <code>Category → lib</code> |
|||
* For numerical libraries select <code>Category → numlib</code> |
* For numerical libraries select <code>Category → numlib</code> |
||
* For further development tools select <code>Category → devel</code> |
* For further development tools select <code>Category → devel</code> |
||
On a cluster use: <code>module avail <Category></code> |
On a cluster use: <code>module avail <Category></code> |
||
== Documentation == |
== Documentation == |
||
Availabe documentation for |
Availabe documentation for environment modules: |
||
* <code>module help</code> |
* <code>module help</code> |
||
* examples in <code>$SOFTNAME_EXA_DIR</code> |
* examples in <code>$SOFTNAME_EXA_DIR</code> |
||
Line 23: | Line 28: | ||
== Documentation in the Wiki == |
== Documentation in the Wiki == |
||
Environment modules for software development and parallel programming with additional documentation here in the wiki: |
|||
=== Compiler and Debugger === |
|||
* [[GCC]] |
|||
* [[ |
* [[Development/GCC|GCC]] |
||
* [[ |
* [[Development/GDB|GDB]] |
||
* [[Development/Intel_Compiler|Intel Compiler]] |
|||
* [[GSL]] |
|||
* [[FFTW]] |
|||
=== Development Tools === |
|||
* [[MKL]] |
|||
* [[Development/Score-P|Score-P]]:<br />Tracing of OpenMP-, MPI- and GPU-parallel applications for Vampir and other performance analysis tools. |
|||
* [[Conda]] |
|||
* [[Development/Vampir_and_VampirServer|Vampir and VampirServer]]:<br />Highly scalable Performance Analysis of OpenMP-, MPI- and GPU-parallel applications. |
|||
* [[Vampir_and_VampirServer]] |
|||
* [[Development/Pahole|Pahole]]:<br />Analyse data structures for cache-line alignment and (un)necessary holes that increase data structure size |
|||
* [[Score-P]] |
|||
* [[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 === |
|||
* [[Development/GSL|GSL]] |
|||
* [[Development/FFTW|FFTW]] |
|||
* [[Development/MKL|MKL]] |
|||
=== Scripting Languages === |
|||
* [[Development/Python|Python]] |
|||
=== Development Environments === |
|||
* [[Development/Conda|Conda]] |
|||
* [[Development/Containers|Containers]] |
Latest revision as of 16:32, 8 November 2024
Compiling Software
Overview of general compiler usage
Parallel Programming
Overview on parallel programming with OpenMP and MPI.
Environment Modules
Compiler, libraries and development tools are provided as environment modules.
Required reading to use: Environment Modules
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>
Documentation
Availabe documentation for environment modules:
module help
- examples in
$SOFTNAME_EXA_DIR
- additional docu in this wiki
Documentation in the Wiki
Environment modules for software development and parallel programming with additional documentation here in the wiki:
Compiler and Debugger
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)