From f08bd3f729e842f98d42bdcba3ee2ced835502ac Mon Sep 17 00:00:00 2001 From: Lukas Rothenberger Date: Tue, 9 Jan 2024 10:07:01 +0100 Subject: [PATCH] doc(wiki)[index]: added TLDR --- docs/index.md | 56 +++++++++++++++++++++++++-------------------------- 1 file changed, 27 insertions(+), 29 deletions(-) diff --git a/docs/index.md b/docs/index.md index 0d046e362..a532fd9c0 100644 --- a/docs/index.md +++ b/docs/index.md @@ -26,32 +26,30 @@ For a brief introduction into the command line tools, please refer to the [tools For detailed information on the gathered and stored data as well as the tools themselves, please refer to [data](data/data.md) and the pages of the individual tools in the [tools overview](tools/tools.md). -The simplest option to install and use DiscoPoP is provided by the [graphical user interface](Tutorials/Configuration_Wizard.md). -For convenience, it provides the option to use a docker container to execute the profiling. -As a result, no setup of the environment apart from installing `docker` is required. -Please refer to the [Quickstart Guide - GUI](Quickstart.md) for further information. - -For detailed instructions regarding the manual setup and installation, please refer to the [manual setup](Manual_Quickstart/Manual_Setup.md) page. - -## Running DiscoPoP -After completing the setup, an instrumented Version of your code needs to be executed in order to gather the necessary information. -The included analyses and generated data are described [here](Profiling/Profiling.md). -The instrumentation and execution can be done [manually](Tutorials/Manual.md). -However, to simplify the process we suggest to use one of the provided tools (GUI: [Configuration Wizard](Tutorials/Configuration_Wizard.md), Script: [Execution Wizard](Tutorials/Execution_Wizard.md)), if your project fulfills the following criteria: -* Build system: Make -* Makefile allows to set the compiler using CC, CXX -* Build does not create shared libraries - -## Pattern identfication -Once you have all the results generated by the DiscoPoP Profiler, you can use them to identify possible parallel design patterns. -To learn more, please read the [pattern detection](Pattern_Detection/DiscoPoP_Explorer.md) page, which explains how to start the pattern identification in detail. - -## Pattern interpretation -After parallel patterns have been identified in the sequential source code, they need to be interpreted and implemented. -A detailed explanation how to interpret and implement the identified parallel patterns can be found [here](Pattern_Detection/Patterns/Patterns.md). -The previously mentioned pattern identification as well as the pattern interpretation can be simplified by using the [graphical wizard](Tutorials/Configuration_Wizard.md). - -## Walk-through example -As a starting point, we have included a simple sample program which you can use to familiarize yourself with the system. -In the [manual Quickstart example](Manual_Quickstart/Manual_Example.md) you can find instructions how to execute every necessary step to obtain parallelization suggestions for the sample program, and how to interpret and implement them. -In contrast, the GUI [quickstart example](Quickstart.md) provides an overview of the simplest way to set up and utilize DiscoPoP on the basis of the same example code. +## TL;DR +This example installs DiscoPoP, instruments and builds the provided example, analyzes the results and prints the identified parallelization suggestions to the console. +In case any issues arise during the process, please refer to the detailed [setup instructions](setup/setup.md), or contact us via GitHub messages or by mail to [discopop-support@lists.parallel.informatik.tu-darmstadt.de](mailto:discopop-support@lists.parallel.informatik.tu-darmstadt.de). +``` +# setup DiscoPoP +git clone git@github.com:discopop-project/discopop.git +cd discopop +mkdir build && cd build +DP_BUILD=$(pwd) +cmake .. && make +# instrument example code +cd ../example +mkdir build && cd build && cmake -DCMAKE_CXX_COMPILER=${DP_BUILD}/scripts/CXX_wrapper.sh .. && make +# execute instrumented code +./cmake_example +# identify parallel patterns +cd .discopop +discopop_explorer +# create applicable patches from patterns +discopop_patch_generator +# print patches to the console +for f in $(find patch_generator -maxdepth 1 -type d); do + echo "SUGGESTION: $f" + cat $f/1.patch + echo "" +done +``` \ No newline at end of file