AI Compiler Engineer
- Menlo Park, CA
Facebook's mission is to give people the power to build community and bring the world closer together. Through our family of apps and services, we're building a different kind of company that connects billions of people around the world, gives them ways to share what matters most to them, and helps bring people closer together. Whether we're creating new products or helping a small business expand its reach, people at Facebook are builders at heart. Our global teams are constantly iterating, solving problems, and working together to empower people around the world to build community and connect in meaningful ways. Together, we can help people build stronger communities - we're just getting started.
In order to further the state-of-the-art in AI/ML, the AI Compiler team, has been developing a comprehensive PyTorch AI Compiler strategy that delivers a highly flexible platform to explore new model architectures, combined with auto-tuned high performance for production environments across a wide range of hardware architectures. We actively engage with the community through publications, open source software, participation in technical conferences and workshops, and collaborations with academia. Facebook AI researchers and engineers work from our offices around the globe. Facebook builds systems that allow more than a billion people all over the world to connect and communicate using whatever devices they have available. Our systems need to be scalable, fast, reliable, and efficient in order to provide a great user experience. The compiler and runtime layer is a crucial system that can affect performance, efficiency and deployment velocity in both training and inference. In order to further the state of the art in AI/ML, the AI Compiler team, has been developing a comprehensive PyTorch AI Compiler strategy that delivers a highly flexible platform to explore new model architectures, combined with auto-tuned high performance for production environments across a wide range of hardware architectures.
- Analyze and design effective compiler optimizations.
- Implement and/or enhance code generation targeting machine learning accelerators.
- Code using a mixture of Python and C++.
- Interface with other compiler-focused teams to evaluate and incorporate their innovations and vice versa.
- Contribute to the development of machine-learning libraries, intermediate representations, export formats and analysis tools.
- Conduct design and code reviews.
- Analyze and improve efficiency, scalability, and stability of our toolchains.
- Employ the scientific method to evaluate performance and to debug, diagnose and drive resolution of cross-disciplinary system issues.
- Work with algorithm research teams to map CNN graphs to hardware implementations, model data-flows, create cost-benefit analysis and estimate silicon power and performance.
- 2+ years of experience and PhD in Computer Science, Electrical Engineering or equivalent field.
- Experience in deep learning algorithms and techniques, e.g., convolutional neural networks, recurrent networks, etc.
- Software design and programming experience in Python and/or C/C++ for development, debugging, testing and performance analysis.
- 1+ years experience working on and contributing to a compiler toolchain codebase, such as LLVM, GCC, MSVC.
- Experience crossing multi-disciplinary boundaries to drive system solutions.
- Knowledge of language design, compiler optimizers, backend code generators.
- Experience developing in a mainstream machine-learning framework, e.g. PyTorch, TensorFlow or Caffe.
- Exposure to compiler or machine learning framework Intermediate Representations.
- Experience with compiler architecture, particularly dynamic language compilers or HPC compilers or ML compilers.
- Experience in code generation targeting machine learning accelerators, GPUs and CPUs.
Back to top