A naive implementation of a convolution can be written in 18 lines of Python, while kernel libraries typically devote tens of thousands of lines of code to implementing optimized variants of convolution, often in architecture specific ways or even assembly in the case of cuDNN*. In cases like this where specialized code is needed to achieve performance goals, massive engineering resources are required, maintenance and development costs are high, and lock-in is common. Compilers were originally created to automate construction of general purpose machine code. Nowadays, machine learning is increasingly using compilation, reducing engineering constraints and enabling automated special-case performance upgrades for workloads too rare or novel to see human optimization. PlaidML is a tensor compiler that can be used as a component in existing ML stacks to boost performance and to enable performance portability.
You Will Learn:
- How to use PlaidML in an existing TensorFlow* program through demonstration
- About the PlaidML internal architecture and its role in the broader ML ecosystem
- The technical details we will be discussing further in “How PlaidML Compiles Machine Learning Kernels,” our upcoming webinar
Tim Zerrell
Tim Zerrell is a Deep Learning Software Engineer in Intel’s Artificial Intelligence Products Group. He works on PlaidML, focusing on representing the mathematics of machine learning effectively for performing hardware and software optimizations. He received a Master’s degree in Mathematics from the University of Washington and a Bachelor’s degree in Mathematics from Pomona College. In his free time he enjoys hiking his local Pacific Northwest wilderness.
Denise Kutnick
Denise Kutnick is a Deep Learning Software Engineer within Intel’s Artificial Intelligence Products Group. In her role, Denise works on the development and community engagement of PlaidML, an extensible, open-source deep learning tensor compiler. Denise holds a bachelor’s degree in Computer Science from Florida Atlantic University and a master’s degree in Computer Science from Georgia Institute of Technology.