About The RoleAs a Software Engineer on the Simulator Team (New College Grad), you will help build and improve the core simulation infrastructure for the next-generation Cerebras Wafer-Scale Engine (WSE). This role spans multiple simulator efforts, including functional simulation and pipeline-accurate simulation, based on team priorities and product needs.
The Simulator team builds foundational internal tools used across Cerebras for hardware and software co-development. These tools give kernel developers, compiler and runtime teams, architects, and design verification engineers visibility into both correctness and performance. Your work will help teams validate architectural behavior, understand performance tradeoffs, and move faster as new systems come online.
You will contribute to simulator architecture, model development, tooling, testing, and runtime optimization, working closely with cross-functional teams to keep our simulators accurate, scalable, and useful in day-to-day development.
Responsibilities- Develop and maintain simulator infrastructure in C++ for next-generation WSE systems.
- Contribute to both functional simulation (architectural correctness, instruction behavior, and state and memory semantics) and pipeline-accurate simulation (execution behavior, bottleneck analysis, and performance visibility).
- Build features and tooling that improve kernel developer visibility into correctness and performance.
- Work with Design Verification and architecture teams to align simulator behavior with hardware specifications and validate design correctness.
- Build and maintain strong unit, integration, and regression test coverage for simulator quality.
- Improve simulator runtime performance, scalability, and usability for internal engineering workflows.
- Debug complex issues that span simulator models, kernels, compiler/runtime interactions, and hardware assumptions.
- Contribute to code reviews, documentation, and continuous improvement of engineering workflows.
Skills & Qualifications- Bachelor's or Master's degree (or equivalent) in Computer Science, Computer Engineering, or a related field.
- Strong C++ programming skills and software engineering fundamentals.
- Solid understanding of computer architecture concepts, including instruction execution, memory systems, and microarchitecture basics.
- Strong debugging, analytical, and problem-solving skills.
- Ability to collaborate effectively across software and hardware teams.
Preferred Skills & Qualifications- Familiarity with architectural, functional, or performance modeling.
- Experience with test automation, regression systems, and CI pipelines.
- Exposure to Python or scripting for tooling and automation.
- Familiarity with parallel systems, accelerators, or ML/HPC workloads.