Unknown Company

Software Engineer - Hardware Abstraction Layer, AWS Machine Learning Accelerators

cupertino, california • Posted 5 days ago
Onsite Full Time General

Software Engineer Developing SoC HALCustom silicon chips live at the heart of AWS machine learning servers (Trainium and Inferentia), and enable machine learning (ML) for AWS's customers. We're looking for engineers to scale the system software team developing the hardware abstraction layer (HAL) that manages these cutting-edge ML system-on-chips (SoCs). The HAL forms the lowest level of the AWS infrastructure management software stack.As a software engineer developing the SoC HAL, you will:Work with hardware designers to build HALs for newly developed SoC IPsWork with system software teams to solve SoC and system-level architectural issues, drive debug, architect the HAL itself, and innovate on cross-functional solutionsContinuously test and deploy your software stack to multiple internal customersRefactor and maintain existing codebases throughout the device lifecycleInnovate on the tooling you provide to customers, making it easier for them to use our SoCsAWS's Annapurna Labs organization designs and deploys some of the largest custom silicon in the world, with many subsystems that must all be managed, tested, and monitored.

The SoC HAL is a critical piece of the AWS infrastructure management software stack that ensure the chip is functional, performant, and secure.You will thrive in this role if you:Are strong in C++ and familiar with PythonEnjoy working with hardware-based systems, and diving into chip and system architectureKnow how to build effective abstractions over low-level SoC detailsHave strong opinions about software architecture, and are able to apply them effectivelyAre familiar with modular driver architectures (such as the Linux or Windows device-driver stacks)Enjoy learning new technologies, building software at scale, moving fast, and working closely with colleagues as part of a small, startup-like team within a large organizationThis role can be based in either Cupertino, CA or Austin, TX. The team is split between the two sites, with no preference for one over the other.This is a fast-paced role where you'll work with thought-leaders in multiple technology areas. You'll have high standards for yourself and everyone you work with, and you'll be constantly looking for ways to improve your software, as well as our products' overall performance, quality, and cost.We're changing an industry.

We're searching for individuals who are ready for this challenge, who want to reach beyond what is possible today. Come join us and build the future of machine learning!Basic qualifications:Experience programming languages such as C/C++, Python, Java or Perl2+ years writing functional or performance models of hardware (SoCs, ASICs, GPUs, CPUs, IP blocks)Familiarity with SoC, CPU, GPU, and/or ASIC architecture and micro-architecturePreferred qualifications:2+ years of full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations experienceExperience working with DV teams or integrating models into verification flowsExperience with SystemC or TLM-based modelingExperience correlating functional models against RTL simulation or emulationExperience developing or calibrating performance modelsFamiliarity with Modern C++ (20 and beyond)Experience with PyTest, GoogleTest, or similar test frameworksAmazon is an equal opportunity employer and does not discriminate on the basis of protected veteran status, disability, or other legally protected status.

Software Engineer - Hardware Abstraction Layer, AWS Machine Learning Accelerators in cupertino at Unknown Company

This position is listed as full time and onsite.

Back to Job Search