Difference between revisions of "Development"
S Richling (talk | contribs) (→Available Development Tools) |
(→Development Tools) |
||
(37 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | == Compiling Software == |
||
+ | |||
+ | Overview of [[General compiler usage]] |
||
+ | |||
+ | == Parallel Programming == |
||
+ | Overview on [[BwHPC_BPG_for_Parallel_Programming | parallel programming with OpenMP and MPI]]. |
||
+ | |||
== Environment Modules == |
== Environment Modules == |
||
− | + | Compiler, libraries and development tools are provided as environment modules. |
|
Required reading to use: [[Environment Modules]] |
Required reading to use: [[Environment Modules]] |
||
− | == Available Development |
+ | == Available Development Software == |
− | Visit [https://www.bwhpc.de/software.php https://www.bwhpc.de/software.php] |
+ | Visit [https://www.bwhpc.de/software.php https://www.bwhpc.de/software.php] select your cluster and |
− | * select <code>Category → compiler</code> |
+ | * For compiler select <code>Category → compiler</code> |
− | * select <code>Category → mpi</code> |
+ | * For MPI select <code>Category → mpi</code> |
− | * select <code>Category → |
+ | * For libraries select <code>Category → lib</code> |
− | * select <code>Category → |
+ | * For numerical libraries select <code>Category → numlib</code> |
+ | * For further development tools select <code>Category → devel</code> |
||
− | On cluster: <code>module avail</code> |
+ | On a cluster use: <code>module avail <Category></code> |
== Documentation == |
== Documentation == |
||
+ | Availabe documentation for environment modules: |
||
− | Documentation by the cluster operators: |
||
+ | * <code>module help</code> |
||
− | {| style="width:100%;" |
||
+ | * examples in <code>$SOFTNAME_EXA_DIR</code> |
||
− | |- style="background:#eeeeee;" | |
||
+ | * additional docu in this wiki |
||
− | | <code>module help</code> || See section: [[Environment_Modules#module_help]] |
||
− | |- style="background:#dddddd; " | |
||
− | | examples in <code>$SOFTNAME_EXA_DIR</code> || See section: [[Environment_Modules#Software_job_examples]] |
||
− | |- style="background:#eeeeee; " | |
||
− | | this wiki || See below |
||
− | |} |
||
== 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]] |
||
+ | * [[GDB]] |
||
+ | * [[Intel_Compiler]] |
||
+ | === Development Tools === |
||
+ | * [[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. |
||
+ | * [[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 |
||
+ | * [[Forge]]:<br />Tools for debugging (arm DDT) and performance analysis (arm MAP) |
||
+ | |||
+ | === Libraries and Numerical Libraries === |
||
+ | * [[GSL]] |
||
+ | * [[FFTW]] |
||
+ | * [[MKL]] |
||
+ | === Development Environments === |
||
+ | * [[Conda]] |
Revision as of 16:03, 14 November 2022
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)