|Published||November 9, 2022|
|Location||Palo Alto, United States of America|
What To Expect
As a Software Engineer within the Autonomy group, you will work reinforcing, optimizing, and scaling our neural network training & auto-labeling infrastructure both for Autopilot and the Humanoid robot.
At the core of our autonomy capabilities are multiple neural networks that the Deep Learning team is designing to train on very large amounts of data, across large-scale GPU clusters and soon our supercomputer Dojo. Robustly training networks at scale, should it be for production models or quick experiments, and completing them in the shortest amount of time possible, is critical to our mission.
What You’ll Do
- 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).
What You’ll Bring
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.