Otter Documentation
Developed under the ExCALIBUR task parallelism cross-cutting research theme, Otter is a tool designed to facilitate data-driven parallelisation of serial code. Otter allows HPC developers to:
Annotate, trace & visualise loop/task-based serial code as a directed graph;
Recommend strategies for transforming serial code into effective task-based parallel code;
Non-invasively trace & visualise loop/task-based OpenMP 5.x programs.
Check out the installation page for instructions on installing Otter.
Note
This project is under active development.
Otter Toolset
The Otter toolset includes:
Otter task-graph: an API and runtime library for annotating & tracing the task-graph of a (possibly parallel) target application.
Otter OMPT: an OMPT plugin for non-invasive tracing of the loop/task-based structure of OpenMP 5.x programs.
PyOtter: The visualisation & reporting tool for use with Otter trace data.
Issues, Questions and Feature Requests
For Otter task-graph and Otter-OMPT, please post here.
For PyOtter, please post here.
Licensing
Otter is released under the BSD 3-clause license. See LICENCE for details.
Copyright (c) 2021, Adam Tuft All rights reserved.
Acknowledgements
Otter’s development started as the subject of a final project and dissertation for the Scientific Computing and Data Analysis MSc (MISCADA) at Durham University, UK. The current research is supported by EPSRC’s Excalibur programme through its cross-cutting project EX20-9 Exposing Parallelism: Task Parallelism (Grant ESA 10 CDEL).