Jobs and Careers
CR

Senior Software Engineer, Architecture

Cruise LLC
San Francisco, United Statesfull_timeVerifiedPosted 5 Jul 2023
💰 $163,200/yr

About the role

We're Cruise, a self-driving service designed for the cities we love.

We’re building the world’s most advanced self-driving vehicles to safely connect people to the places, things, and experiences they care about. We believe self-driving vehicles will help save lives, reshape cities, give back time in transit, and restore freedom of movement for many.

In our cars, you’re free to be yourself. It’s the same here at Cruise. We’re creating a culture that values the experiences and contributions of all of the unique individuals who collectively make up Cruise, so that every employee can do their best work. 

Cruise is committed to building a diverse, equitable, and inclusive environment, both in our workplace and in our products. If you are looking to play a part in making a positive impact in the world by advancing the revolutionary work of self-driving cars, come join us. Even if you might not meet every requirement, we strongly encourage you to apply. You might just be the right candidate for us.

About the role: 

As a Software Engineer in Cruise’s Machine Learning Accelerator team, you will be responsible for performance analysis to support next-generation custom accelerator IP, SoC, and system-level design.

Compute Platform’s mission is to enable performant, functional portability of AV software for multiple AV compute system generations. The team contributes to cross-functional efforts including architecture, performance modeling, workload characterization, runtime and compiler development, and middle- to low-level software. Looking for strong software engineers that can help us build these technologies.

What you’ll be doing:

  • Profile and categorize workloads, and analyze their performance on target hardware

  • Run simulations, collect stats, extract findings

  • Work with silicon and software engineers to explore ideas, enhance models, and contribute to silicon development and software optimization

  • Engage with software developers to identify workload requirements

  • Engage with external vendors and evaluate their IPs

  • Engage with compiler developers to enable implementation of compiler optimizations

  • Develop C++ timing and functional models for our custom hardware

What you must have:

  • Strong C++ skills

  • Strong knowledge of computer architecture

  • Experience developing complex software systems in C++1x

  • Background in software architecture and design patterns

  • Familiarity with Python

  • Exceptional leadership skills, and ability to set direction and work through ambiguities

  • Excellent analytical and problem-solving skills

  • Experience in architecture performance analysis and optimization

  • Experience in analyzing workload performance and architectural exploration

  • Minimum 5+ years of relevant industry experience

  • MS or PhD in Computer Science or related technical field

Bonus Points!

  • Experience in performance modeling

  • Knowledge of compiler infrastructures such as MLIR

  • Solid understanding of abstraction and modular design (class hierarchy, etc.)

  • Experience with multithreaded programing (pthreads, tbb, boost, openmp)

  • Knowledge of processor design and/or accelerator designs

  • Knowledge of mapping machine learning models to hardware architectures

  • Experience in hardware/software co-design

The salary range for this position is $163,200 - 240,000. Compensation will vary depending on location, job-related knowledge, skills, and experience. You may also be offered a bonus, restricted stock units, and benefits. These ranges are subject to change.

Why Cruise?

  • Our benefits are here to support the whole you: