Welcome¶
If you use TAU Commander, start with Installing TAU Commander and the Command reference, which describes
the CLI interface and tau commands and subcommands. For the TAU Performance System itself,
which is used by TAU Commander to carry out performance monitoring, see the TAU project page.
The rest of this documentation is for developers of TAU Commander, and will help you contribute to the project. For over two decades the TAU Performance System has been developed primarily by graduate students with extreme demands on their time so best practices of software design, safety, and maintainability were largely ignored in favor of getting results quickly. This short term thinking ran up an enormous technical debt in TAU and created a “wet spaghetti” code base where TAU developers throw stuff at the wall to see what sticks. The goal of this developer’s guide to bring a little sanity back to the development cycle and take advantage of important software engineering lessons learned in the last two decades.
Remember: Code with a pylint score less than 9 will not be accepted to the master branch.
The TAU Commandments¶
Thou shalt use pylint as part of your development cycle, and keep the score at 9.0 or above.
Thou shalt follow the TAU Commander Design for it is sacred.
Thou shalt style thine code according to the TAU Commander Code Style.
Thou shalt document your code according to the TAU Commander Code Documentation.
Thou shalt install and use the project TAU Commander git hooks.
Thou shalt setup your editor to respect/follow the Editor Config settings.
Thou shalt use type annotations and strong typing (wherever possible) following PEP 484 for all new code.
Never shalt thou develop on the master branch, for that is an abomination.
Never shalt thou merge code into the master branch that is failing the continuous integration (CI) tests.
Never shalt thou just quickly fix this one thing because I have a hard deadline I forgot and now I really really really need this feature to be part of TAU Commander whatever the cost and oh God I broke it I broke it and everything is on fire.
Table of Contents¶
- Installing TAU Commander
- Command reference
- tau
- tau application
- tau application copy
- tau application create
- tau application delete
- tau application edit
- tau application list
- tau build
- tau dashboard
- tau experiment
- tau experiment create
- tau experiment delete
- tau experiment edit
- tau experiment list
- tau experiment select
- tau help
- tau initialize
- tau measurement
- tau measurement copy
- tau measurement create
- tau measurement delete
- tau measurement edit
- tau measurement list
- tau project
- tau project copy
- tau project create
- tau project delete
- tau project edit
- tau project list
- tau project select
- tau rewrite
- tau select
- tau system
- tau system configure
- tau system fetch
- tau system import
- tau target
- tau target copy
- tau target create
- tau target delete
- tau target edit
- tau target list
- tau target metrics
- tau trial
- tau trial create
- tau trial delete
- tau trial edit
- tau trial export
- tau trial list
- tau trial renumber
- tau trial show
- TAU Commander Design
- TAU Commander Code Style
- TAU Commander Code Documentation
- TAU Commander git hooks
- How to Add Support for New TAU Features
- How to Add Support for a New Compiler
- How to write and run unit tests
- Packaging and Releasing TAU Commander
- Continuous Integration