skill-tree:use:3:b
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
skill-tree:use:3:b [2020/07/19 21:35] – lucy | skill-tree:use:3:b [2025/04/16 18:30] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | # USE3-B Building of Parallel Programs | + | # USE3 Building of Parallel Programs |
- | # Background | + | |
- | # Aim | + | Building programs that run on an HPC system requires some thought into software, compiling, linking and running. |
- | # Outcomes | + | |
- | * Build parallel programs, e.g. via open sources packages. | + | ## Requrements |
- | * Run parallel programs in an HPC environment. | + | |
- | * Use a compiler and to assess the effects of optimization switches available for the relevant compilers (e.g. GNU, Intel). | + | * [[skill-tree: |
- | * Use a linker and to assess the effects of linker specific options and environment variables (e.g. -L and LIBRARY_PATH, | + | * [[skill-tree: |
- | * Configure the relevant settings (e.g. by setting compiler and linker options), which determine how the application ought to be built with regard to the parallelization technique(s) used (e.g. OpenMP, MPI). | + | |
- | * Use software building environments like make, Autotools, CMake. | + | ## Learning |
+ | |||
+ | * Build parallel programs, e.g. via open sources packages. | ||
+ | * Run parallel programs in an HPC environment. | ||
+ | * Use a compiler and to assess the effects of optimization switches available for the relevant compilers (e.g. GNU, Intel). | ||
+ | * Use a linker and to assess the effects of linker specific options and environment variables (e.g. -L and LIBRARY_PATH, | ||
+ | * Configure the relevant settings (e.g. by setting compiler and linker options), which determine how the application ought to be built with regard to the parallelization technique(s) used (e.g. OpenMP, MPI). | ||
+ | * Use software building environments like make, Autotools, CMake. | ||
+ | * Run parallel programs in an HPC environment. | ||
+ | * Use a compiler and to assess the effects of optimization switches available for compilers commercially available (e.g. PGI, NAG). | ||
+ | * Use efficient open-source libraries (e.g. OpenBLAS, FFTW) or highly optimized vendor libraries (e.g. Intel-MKL, IBM-ESSL). | ||
+ | * Configure the relevant settings (e.g. by setting compiler and linker options), which determine how the application ought to be built with regard to the parallelization technique(s) used (e.g. OpenACC, C++ AMP). | ||
+ | * Use the profile guided optimization (PGO) technique. | ||
+ | * Use software building environments like Scons, Waf, make, Autotools, CMake. | ||
- | # Subskills | ||
- | * [[skill-tree: | ||
- | * [[skill-tree: |
skill-tree/use/3/b.1595187353.txt.gz · Last modified: 2020/07/19 21:35 by lucy