Performance Debugging

Uses aim and accelerate to ensure that we can get as close as possible when training on a single GPU and multiple GPU in terms of performance, and what that actually looks like