Software Engineer, Systems ML - Compilers...

The Meta Game, Inc.
Sunnyvale, United States of America
1 month ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Junior
Compensation
$ 181K

Job location

Sunnyvale, United States of America

Tech stack

Artificial Intelligence
Compilers
Code Generation
Program Optimization
Code Review
Computer Programming
Computer Engineering
Software Debugging
Visual C++ (Programming Language)
Firmware
Python
Machine Learning
TensorFlow
Software Engineering
Application Specific Integrated Circuits
PyTorch
Deep Learning
Convolutional Neural Networks
Backend
Information Technology
Hardware Infrastructure

Job description

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. You 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. You will contribute to a full stack development effort compiling PyTorch models down to binaries for custom hardware accelerator blocks.

Required Skills:

Software Engineer, Systems ML - Compilers / Backend Responsibilities:

  1. Analyze and design effective compiler passes and optimizations. Implement and/or enhance code generation targeting machine learning accelerators

  2. Work with algorithm research teams to support the co-design of hardware features mapping ML graphs to hardware implementations, modeling data-flows, creating cost-benefit analysis and estimating silicon power and performance

  3. Work with hardware architects to co-design hardware features that maximize performance, power efficiency and programmability

  4. Contribute to the development of machine-learning libraries, intermediate representations, export formats, and analysis tools

  5. Collaborate with the team to enhance the efficiency, scalability, and stability of our toolchains by focusing on kernel optimization and tuning

  6. Conduct design and code reviews. Evaluate code performance, debug, diagnose and drive resolution of compiler and cross-disciplinary system issues

  7. Interface with other compiler-focused teams to evaluate and incorporate their innovations and vice versa

Requirements

  1. Currently has, or is in the process of obtaining a Bachelor's degree in Computer Science, Computer Engineering, relevant technical field, or equivalent practical experience. Degree must be completed prior to joining Meta

  2. Experience in software design and programming experience in Python and/or C/C++ for development, debugging, testing and performance analysis

  3. Experience in AI framework development or accelerating models on hardware architectures (GPU, TPU, custom AI ASICs)

  4. Must obtain work authorization in the country of employment at the time of hire, and maintain ongoing work authorization during employment

Preferred Qualifications:

Preferred Qualifications:

  1. 1+ years experience developing compilers or similar code optimization software

  2. Experience working and communicating cross functionally in a team environment

  3. Experience with machine-code generation or compiler back-ends for on-device inference workloads

  4. Experience working on and contributing to an active compiler toolchain codebase, such as LLVM, MLIR, GCC, MSVC, Glow

  5. Experience in deep learning algorithms and techniques, e.g., convolutional neural networks, recurrent networks, etc

  6. Experience developing high-performance kernels or runtime components and tuning them for inference specific accelerator platforms

  7. Experience of developing in a mainstream machine-learning framework, e.g. PyTorch, MLIR, Tensorflow or Caffe

Apply for this position