The Role
As a Software Engineer within Autopilot, you will work on profiling, optimizing and scaling out our deep learning model training. Within the machine learning infrastructure team, we are responsible for the code running on thousands of nodes across multiple clusters, on petabyte-scale datasets.
You will be working with the engineers that model our neural networks that define its objectives, and optimize it by making training more efficient and drive wall-clock time down. Optimization goals should be set up throughout the stack, from profiling the GPU to optimizing data loading, pipelining and processing.
Responsibilities
- Bringing down wall clock time of our training jobs through identify bottlenecks in the ML stack, from data-loading up to the GPU
- Profile our workloads and implement solutions to increase training efficiency
- Optimizing for efficient hardware utilization (e.g. CPU and GPU compute, data throughput, networking)
Requirements
- Experience programming in Python
- Experience with at least one deep learning framework (ideally in PyTorch)
- Demonstrated experience in profiling CPU/GPU code
- Proficient in system-level software, in particular hardware-software interactions and resource utilization
- Optional: Experience with high-performance networking (e.g. Infiniband, RDMA, NCCL)
- Optional: Experience programming in C/C++ and CUDA.
Tesla participates in the E-Verify Program
Tesla is an Equal Opportunity / Affirmative Action employer committed to diversity in the workplace. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, age, national origin, disability, protected veteran status, gender identity or any other factor protected by applicable federal, state or local laws.
Tesla is also committed to working with and providing reasonable accommodations to individuals with disabilities. Please let your recruiter know if you need an accommodation at any point during the interview process.