Sponsor Presentation—Advancements in High-Performance AI/ML through PyTorch's Python Compiler

Meredith Ringel Hammer
Ai

Discover PyTorch's Python compiler, Dynamo, designed to prioritize user experience for AI researchers, with dynamic control flow and ability to handle input changes, showcasing 93% successful model deployment.

Key takeaways
  • PyTorch’s popularity is largely due to its Pythonic approach, which makes it easy to use.
  • The project’s success can be attributed to its early adoption of a comprehensive set of Python features, collected by the PyTorch team.
  • The compiler, Dynamo, is designed to prioritize user experience, particularly for AI researchers, and is not a static data flow graph.
  • The compiler executes a program line by line, recording or tracing each PyTorch operation.
  • The compiler emits code for run on GPU, and generates code for dynamic control flow, allowing it to handle operations like input changes.
  • TorchScript is an earlier attempt at adding a compiler to PyTorch, which worked by tracing the execution of a program and generating a graph.
  • The Torch.jit.trace compiler works by adding guards to handle operations that weren’t captured by the PyTorch model.
  • The new compiler, Dynamo, takes a different approach by splitting the effort into three steps: graph acquisition, graph lowering, and graph compilation.
  • The compiler can handle dynamic control flow and is not limited to static data flow graphs.
  • The results show that 93% of the 80 models worked out of the box with the new compiler.
  • The compiler is designed to work with upcoming experimental hardware and is still under development.
  • The project is open-source and welcomes contributions.
  • The developer community is active and provides support through the discourse forum.