TaskMiner is a source-to-source compiler that exposes task parallelism in programs written in C. It does so by annotating C programs with task-based OpenMP pragmas. TaskMiner is implemented in LLVM 3.7. Find more information in our paper "Automatic Identification of Tasks in Structured Programs", or in this video, or in these slides. The code of TaskMiner is available in git. To try it out, simply paste a program into the box below, and click 'Annotate'. You will get the annotated program inside the box 'Annotated Code'. We only annotate complete programs. If you have part of a function, with missing definitions, complete it first using psyche-c.

THE TOOL
Runtime Cost
Threshold
Number of Threads
Recursion Prunning
ANNOTATED CODE
LOG & STATISTICS

To assess a potential Task's viability, TaskMiner uses information about the OpenMP runtime and the underlying architecture, such as: