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..8657e9893a3ac4c4e4c90e6023d3b32cc838feac 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,14 +1,23 @@ # 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) + - [Debuggers](debuggers.md) +- How to investigate the performance and efficiency of your code + - [Monitor batch jobs with Pika](pika.md) + - [Sampling-based performance analysis with Perf](perf_tools.md) + - [Event tracing for HPC applications with Score-P](scorep.md) + - [Trace visualization with Vampir](vampir.md) Some hints that are helpful: @@ -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