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).

/images/ExCALIBUR_colour.png