Jobs · Consulting · California

Firmware Engineer, Annapurna Labs, ML Acceleration - Performance Instrumentation & Developer Tools

Amazon Web Services (AWS) · Cupertino, CA · 5 days ago
ConsultingFull-time

About the role

Joining Annapurna Labs, you will be part of a team designing silicon and software that accelerates innovation. You will work on firmware algorithms for power and performance management on ML acceleration chips, developing intelligent control algorithms, optimization strategies, and real-time decision-making systems.

Responsibilities

  • Design and implement firmware algorithms for power management, thermal control, and performance optimization on ML acceleration hardware
  • Develop real-time control policies and state machines that dynamically balance power, thermal, and performance constraints
  • Create optimization algorithms for resource allocation, frequency/voltage scaling, and workload scheduling
  • Implement efficient data structures and algorithms suitable for embedded, resource-constrained environments
  • Design and implement on-device tracing and telemetry collection systems to support algorithm development and validation
  • Build developer tools and data pipelines for metric collection, analysis, and visualization of algorithm behavior
  • Implement low-overhead instrumentation that minimizes impact on workload performance
  • Collaborate with hardware architects to understand hardware capabilities and identify optimal instrumentation points
  • Develop automated testing and validation workflows; integrate with optional cloud-based analytics pipelines
  • Own firmware code quality through rigorous testing, debugging, and validation on hardware

Qualifications

  • 3+ years of non-internship professional software development experience
  • 2+ years of non-internship design or architecture (design patterns, reliability and scaling) of new and existing systems experience
  • Experience programming with at least one software programming language
  • Strong firmware or embedded systems development experience
  • Proficiency in C/C++ for systems programming with strong foundation in algorithms and data structures
  • Experience implementing efficient algorithms in resource-constrained, real-time environments
  • Experience with hardware interfaces, instrumentation, or performance monitoring
  • Strong debugging skills with hardware-software systems
  • Experience building developer tools or instrumentation frameworks

Similar jobs