Skip to content

Commit

Permalink
doc(wiki)[index]: added TLDR
Browse files Browse the repository at this point in the history
  • Loading branch information
lukasrothenberger committed Jan 9, 2024
1 parent 6c5f42a commit 99fec6b
Showing 1 changed file with 28 additions and 29 deletions.
57 changes: 28 additions & 29 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,32 +26,31 @@ 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 [[email protected]](mailto:[email protected]).
```
# setup DiscoPoP
git clone [email protected]:discopop-project/discopop.git
cd discopop
git checkout release/3.1.0
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
```

0 comments on commit 99fec6b

Please sign in to comment.