Difference between revisions of "Development"

From bwHPC Wiki
Jump to: navigation, search
(Environment Modules)
(Development Tools)
(38 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 ==
Many tools for software development are provided as 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 Tools ==
+
== Available Development Software ==
Visit [https://www.bwhpc.de/software.php https://www.bwhpc.de/software.php], select <code>Category devel</code>
+
Visit [https://www.bwhpc.de/software.php https://www.bwhpc.de/software.php] select your cluster and
  +
* For compiler select <code>Category → compiler</code>
  +
* For MPI select <code>Category → mpi</code>
  +
* For libraries select <code>Category → lib</code>
  +
* 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 ==
Modules with additional documentation here 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

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