Meta is seeking a software engineer to support the development of the compiler tool-chain for state-of-the-art deep learning hardware components optimized for AR/VR systems. This involves architecting, designing, and implementing a clean slate compiler to compile PyTorch models down to binaries for custom hardware accelerator blocks.
Requirements
- 2+ years experience developing compilers, runtime, or similar code optimization software
- Experience in software design and programming experience in Python and/or C/C++ for development, debugging, testing and performance analysis
- Experience in AI framework development or accelerating models on hardware architectures
- Experience with machine-code generation or compiler back-ends.
- Experience working on and contributing to an active compiler toolchain codebase, such as LLVM, MLIR, GCC, MSVC, Glow.
- Experience in deep learning algorithms and techniques, e.g., convolutional neural networks, recurrent networks, etc.
- Experience of developing in a mainstream machine-learning framework, e.g. PyTorch, MLIR, Tensorflow or Caffe.
Responsibilities
- Analyze and design effective compiler passes and optimizations.
- Implement and/or enhance code generation targeting machine learning accelerators
- Work with algorithm research teams to map ML graphs to hardware implementations, model data-flows, create cost-benefit analysis and estimate silicon power and performance
- Contribute to the development of machine-learning libraries, intermediate representations, export formats, and analysis tools
- Conduct design and code reviews.
- Evaluate code performance, debug, diagnose and drive resolution of compiler and cross-disciplinary system issues
- Analyze and improve the efficiency, scalability, and stability of our toolchains
Other
- Bachelor's degree in Computer Science, Computer Engineering, relevant technical field, or equivalent practical experience
- Experience working and communicating cross functionally in a team environment.