Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

DiscoPoP - Discovery of Potential Parallelism

DiscoPoP is an open-source tool that helps software developers parallelize their programs with threads. It is a joint project of the High-Performance Computing Lab @ TU Darmstadt and the Software Analytics and Pervasive Parallelism Lab at Iowa State University.

In a nutshell, DiscoPoP performs the following steps:

  • detect parts of the code (computational units or CUs) with little to no internal parallelization potential,
  • find data dependences among them,
  • identify parallel patterns that can be used to parallelize a code region,
  • and finally, suggest corresponding OpenMP parallelization constructs and clauses to programmers.

A more comprehensive overview of DiscoPoP can be found on our project website.

Prerequisites

You need Python 3.11 or newer, LLVM/clang 19-22 with development files, CMake 3.28 or newer, a C++20 compiler, the Boost headers, and Tk with a display for the GUI. The profiler is built during the installation.

On Debian and Ubuntu:

sudo apt install python3 python3-pip python3-venv python3-tk build-essential cmake git llvm-19-dev clang-19 clang-tools-19 libomp-19-dev libboost-dev

Replace 19 with 20, 21, or 22 for a newer LLVM release. Ubuntu 24.04 packages LLVM 19 and 20, Debian 13 packages 19 and 22; other versions are available from apt.llvm.org.

For Arch-based distributions (pacman) and macOS (Homebrew), see the installation page. These routes are not tested in CI.

Installation

python3 -m venv venv
source venv/bin/activate
pip install discopop

To install from a checkout of this repository, see the installation page.

Starting the GUI

Your project has to build with the compilers and flags given in $CC/$CXX and $CFLAGS/$CXXFLAGS. Start the GUI in the project directory:

cd <your project>
discopop_gui

On the first start, a wizard asks for your compile script and an execution script, and creates the first configuration. See Getting started for the details.

What the GUI can do

Detect parallel patterns: the Execute tab manages the profiling and the Pattern Detection tab analyzes the profiling data of your program in order to identify and present parallelization suggestions in the form of OpenMP constructs and corresponding patches.

Pattern Detection tab after a detection run

Find the combination that pays off: the Autotuning tab measures combinations of the suggestions on your program and shows the speedup of each.

Autotuning tab with the measured combinations

Documentation

  • Getting started: install DiscoPoP and work through the GUI.
  • Manual: installation options, examples, all tools and the data they produce.
  • MCP server: lets AI assistants run DiscoPoP.
  • VS Code extension: an extension to the GUI for browsing suggestions in the editor.

Contact

In case any issues arise, please contact us via GitHub messages or by mail to discopop-support@lists.parallel.informatik.tu-darmstadt.de.

License

© DiscoPoP is available under the terms of the BSD-3-Clause license, as specified in the LICENSE file.

Metadata

Release files for discopop 5.0.3a2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for discopop 5.0.3a2
File Size Uploaded
discopop-5.0.3a2.tar.gz 6.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for discopop 5.0.3a2
File Interpreter ABI Platform
discopop-5.0.3a2-py3-none-any.whl Python 3 none any Details

Total release size: 11.4 kB

Release files / discopop-5.0.3a2.tar.gz

Download URL discopop-5.0.3a2.tar.gz
Size 6.2 kB
Tags Source
SHA-256 checksum
How to use checksums
65ceb08977ab88635a2ebe38edb69b558801ac9208f49b2290ba5d2b13c9d27c
BLAKE2b-256 checksum
How to use checksums
12a2f32a5b4bb28c3ee9023d5808f21efd697b242ed957c04e485669356497a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release files / discopop-5.0.3a2-py3-none-any.whl

Download URL discopop-5.0.3a2-py3-none-any.whl
Size 5.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
82d9aba9353f4102a23f8501dd2f303e0d06fdaffc672362918b946b0b858f4e
BLAKE2b-256 checksum
How to use checksums
4ef4ed2567087ad20d751c7b9762896350f567b725dde1ffbcdc5ed4524c0727
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 16, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

5.0.3a2 This release

2 release files

5.0.2

1 release file

5.0.1

1 release file

5.0.0

1 release file

4.1.0

1 release file

4.0.1

1 release file

4.0.0

1 release file

3.2.1

1 release file

3.2.0

1 release file

3.1.1

1 release file

3.1.0

1 release file

3.0.0

1 release file

2.3.0

1 release file

2.2.0

1 release file

2.1.1

1 release file

2.1.0

1 release file

2.0.3

1 release file

2.0.2

1 release file

2.0.1

1 release file

2.0.0

1 release file

1.4.0

1 release file

1.3.0

1 release file

1.2.0

1 release file

1.1.0

1 release file

1.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page