Software Engineer, ML Compiler - Meta
New York, NY
About the Job
We are 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. The successful candidate will be part of our efforts to architect, design and implement a clean slate compiler for this activity and will be part of a team that includes compiler, machine learning algorithms and software, firmware and ASIC experts. The ideal candidate will contribute to a full stack development effort compiling PyTorch models down to binaries for custom hardware accelerator blocks.
RESPONSIBILITIES
Software Engineer, ML Compiler Responsibilities:
MINIMUM QUALIFICATIONS
Minimum Qualifications:
PREFERRED QUALIFICATIONS
Preferred Qualifications:
RESPONSIBILITIES
Software Engineer, ML Compiler 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.
- Interface with other compiler-focused teams to evaluate and incorporate their innovations and vice versa.
MINIMUM QUALIFICATIONS
Minimum Qualifications:
- Bachelor's degree in Computer Science, Computer Engineering, relevant technical field, or equivalent practical experience.
- 2+ years experience writing 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 deep learning models on hardware architectures.
PREFERRED QUALIFICATIONS
Preferred Qualifications:
- Experience in deep learning algorithms and techniques, e.g., convolutional neural networks, recurrent networks, etc.
- Experience working on and contributing to an active compiler toolchain codebase, such as LLVM, MLIR, GCC, MSVC, Glow.
- Experience with machine-code generation or compiler back-ends.
- Experience working and communicating cross functionally in a team environment.
- Experience of developing in a mainstream machine-learning framework, e.g. PyTorch, MLIR, Tensorflow or Caffe.
Source : Meta