diff --git a/doc.zih.tu-dresden.de/docs/software/software_development_overview.md b/doc.zih.tu-dresden.de/docs/software/software_development_overview.md index d2dd73ed3a56bc49d31123cec65bc8694e7f0f10..ac568513b3e1f120b53f050fe94d6ffca3057858 100644 --- a/doc.zih.tu-dresden.de/docs/software/software_development_overview.md +++ b/doc.zih.tu-dresden.de/docs/software/software_development_overview.md @@ -1,18 +1,27 @@ # Software Development and Tools -This section provides you with the basic knowledge and tools to get you out of trouble. It will tell -you: +This section provides you with the basic knowledge and tools for software development +on the ZIH systems. +It will tell you: - How to compile your code -- Using mathematical libraries -- Find caveats and hidden errors in application codes -- Handle debuggers -- Follow system calls and interrupts -- Understand the relationship between correct code and performance + - [General advises for building software](building_software.md) + - [Using compilers](compilers.md) + - [GPU programming](gpu_programming.md) +- How to use libraries + - [Using mathematical libraries](libraries.md) +- How to deal with (or even prevent) bugs + - [Find caveats and hidden errors in MPI application codes](mpi_usage_error_detection.md) + - [Using debuggers](debuggers.md) +- How to investigate the performance and efficiency of your code + - [Pika: monitoring of batch jobs](pika.md) + - [Perf: sampling-based performance analysis](perf_tools.md) + - [Score-P: event tracing of HPC applications](scorep.md) + - [Vampir: trace visualization](vampir.md) Some hints that are helpful: -- Stick to standards wherever possible, e.g. use the **`-std`** flag +- Stick to standards wherever possible, e.g. use the `-std` flag for GNU and Intel C/C++ compilers. Computers are short living creatures, migrating between platforms can be painful. In addition, running your code on different platforms greatly increases the @@ -26,29 +35,10 @@ Some questions you should ask yourself: - Given that a code is parallel, are the results independent from the numbers of threads or processes? - Have you ever run your Fortran code with array bound and subroutine - argument checking (the **`-check all`** and **`-traceback`** flags + argument checking (the `-check all` and `-traceback` flags for the Intel compilers)? - Have you checked that your code is not causing floating point exceptions? - Does your code work with a different link order of objects? - Have you made any assumptions regarding storage of data objects in memory? - -Subsections: - -- [Compilers](compilers.md) -- [Debugging](debuggers.md) -- PerformanceTools.md: [Score-P](scorep.md), [Vampir](vampir.md) -- [Libraries](libraries.md) - -Intel Tools Seminar \[Oct. 2013\] - -- [TU-Dresden_Intel_Multithreading_Methodologies.pdf]**todo** %ATTACHURL%/TU-Dresden_Intel_Multithreading_Methodologies.pdf: - Intel Multithreading Methodologies -- [TU-Dresden_Advisor_XE.pdf] **todo** %ATTACHURL%/TU-Dresden_Advisor_XE.pdf): - Intel Advisor XE - Threading prototyping tool for software - architects -- [TU-Dresden_Inspector_XE.pdf] **todo** %ATTACHURL%/TU-Dresden_Inspector_XE.pdf): - Inspector XE - Memory-, Thread-, Pointer-Checker, Debugger -- [TU-Dresden_Intel_Composer_XE.pdf] **todo** %ATTACHURL%/TU-Dresden_Intel_Composer_XE.pdf): - Intel Composer - Compilers, Libraries diff --git a/doc.zih.tu-dresden.de/mkdocs.yml b/doc.zih.tu-dresden.de/mkdocs.yml index 4f6fcfc3d2eb5fb288a30837b10813e2ba9a16d3..2b01511b756b918e431669bf883f5e70b16438a6 100644 --- a/doc.zih.tu-dresden.de/mkdocs.yml +++ b/doc.zih.tu-dresden.de/mkdocs.yml @@ -60,15 +60,14 @@ nav: - Software Development and Tools: - Overview: software/software_development_overview.md - Building Software: software/building_software.md - - GPU Programming: software/gpu_programming.md - Compilers: software/compilers.md - - Debugging: - - Overview: software/debuggers.md - - MPI Error Detection: software/mpi_usage_error_detection.md + - GPU Programming: software/gpu_programming.md - Libraries: software/libraries.md - - Score-P: software/scorep.md + - MPI Error Detection: software/mpi_usage_error_detection.md + - Debugging: software/debuggers.md + - Pika: software/pika.md - Perf Tools: software/perf_tools.md - - PIKA: software/pika.md + - Score-P: software/scorep.md - Vampir: software/vampir.md - Data Life Cycle Management: - Overview: data_lifecycle/overview.md diff --git a/doc.zih.tu-dresden.de/wordlist.aspell b/doc.zih.tu-dresden.de/wordlist.aspell index 955db4276fde3a1405aa070a85271be336f33e32..ab4da040e64199ed321389665808c9fefe255807 100644 --- a/doc.zih.tu-dresden.de/wordlist.aspell +++ b/doc.zih.tu-dresden.de/wordlist.aspell @@ -66,6 +66,8 @@ OpenMPI Opteron PAPI pdf +Perf +Pika pipelining png rome