Development

From bwHPC Wiki
Revision as of 23:34, 8 December 2022 by S Richling (talk | contribs) (Compiling Software)
Jump to: navigation, search

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)

6.3 Libraries and Numerical Libraries

6.4 Development Environments