About the Role
We are looking to hire a talented team of engineers and technical leaders to architect our heterogeneous compute platform. You will be in the driver's seat of designing and implementing APIs, utilities, profiling, and execution on-vehicle autonomous software applications on custom hardware. You will work closely with autonomous systems application developers in perception, prediction, and planning to optimize their applications for both online and offline / simulated execution. In this fast evolving space, you will keep ahead of development in the GPU systems software industry and lead development, develop best practices, and help us scale applications for the future.
What You'll Do
- Build, grow, and lead the vision for the GPU Systems Team,
- Architect heterogeneous (GPU, ASIC, DLA, etc.) onboard compute APIs, libraries,
- Optimize algorithms for the heterogeneous compute architecture through collaboration with Autonomy and R&D teams,
- Do hands-on work at various levels of the self-driving stack, as low as dealing with memory transfers, allocations, asynchronicity, type mapping, and locking to name a few,
- Stay current on industry developments in GPGPUs and architect durable future looking computing solution.
What You'll Need
- Degree in Computer Science, Computer Engineering, Electronics Engineering or a related field,
- Strong Knowledge of GPGPU APIs and architecture (CUDA, OpenCL, etc.),
- Strong software engineering skills and API design experience in C++,
- Experience with soft real-time systems
- Experience in implementation and integration of ML libraries (TensorFlow, PyTorch, etc) in C++
- Knowledge of, and experience with, deep neural network accelerator concepts (TensorRT, cuDNN, TPUs, etc.),
- Knowledge of hardware system architecture and concepts (Cache, PCIe, VM, interrupts, etc.)
- Linux kernel experience
- Interest in robotics and electro-mechanical systems
About the Team
The autonomy systems team exists to develop and maintain a world-class autonomy stack. The team will focus on data flow, interfaces, component design, overall architecture and working on domain specific problems in autonomy. Projects include any area with large impact to the autonomy team, big-picture issues (eg. timing) as well as longer term 'end-game' concerns.
At the Advanced Technologies Group (ATG), we are building technologies that will transform the way the world moves. Our teams in Pittsburgh, San Francisco, Boulder, and Toronto are dedicated to mapping, software and hardware development, vehicle safety, and operations for self-driving technology. Our teams are passionate about developing a self-driving system that will one day move people and things around more safely, efficiently, and cost effectively.
At Uber, we believe technology has the power to make transportation more efficient, accessible, and safer than ever before. Self-driving technology has the potential to make these benefits an everyday reality for our customers, but it's not going to happen overnight. Building best-in-class self-driving technology will take time, and safety is our priority every step of the way. Operating inclusively and transparently, while displaying responsible behavior in a structured development are critical to safety. We at ATG seek candidates who will role model these values.
At Uber, we ignite opportunity by setting the world in motion. We take on big problems to help drivers, riders, delivery partners, and eaters get moving in more than 600 cities around the world.
We welcome people from all backgrounds who seek the opportunity to help build a future where everyone and everything can move independently. If you have the curiosity, passion, and collaborative spirit, work with us, and let's move the world forward, together.