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.

Where to start

Page Content
Getting started Install DiscoPoP and use the graphical user interface. Start here if you want to analyze your own project.
Manual The detailed reference: setup options, examples, every tool, the data DiscoPoP produces, and how to contribute.

Components

Component Purpose Page
GUI and project manager (discopop_gui, discopop_project_manager) Configure a project, run it, and drive all other tools from one window or the command line Graphical user interface, Project manager
Profiler (discopop_cc, discopop_cxx) Instruments the program and records data dependences while it runs Compiler wrappers
Explorer (discopop_explorer) Detects parallel patterns in the profiling data and creates patches Explorer
Patch tools Create, apply and repair the OpenMP patches Patch generator, Patch applicator, Patch repair
Hotspot detection Identifies the code regions that account for most of the execution time Hotspot detection
Empirical autotuner (discopop_auto_tuner) Measures combinations of suggestions and selects the best one Empirical autotuner
MCP server (discopop_mcp_server) Lets AI assistants run DiscoPoP MCP server
VS Code extension An extension to the GUI for browsing suggestions and hotspots in the editor VS Code extension

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.


Copyright © 2026, Technical University of Darmstadt.

This site uses Just the Docs, a documentation theme for Jekyll.