C-Simulation Engineer, GPU Modeling
Overview
In this role you will develop and maintain C/C++ simulation models to explore and validate next-gen GPU architectures before silicon. You will collaborate across architecture, design, verification, firmware, and software teams to solve complex challenges and influence design decisions. You’ll analyze results, debug issues, and help extend simulation environments. This position sits at the software-hardware intersection and offers impact on graphics technologies and performance. You will contribute to innovation that shapes future GPUs.
ResponsibilitiesDevelop and maintain C/C++ simulation models for architecture evaluation, performance analysis, and hardware verificationModel hardware behavior to support design and validation of next-generation GPU technologiesDebug complex software issues and investigate discrepancies between simulation models and hardware implementationsCollaborate with architecture, design, verification, firmware, emulation, validation, and software teamsAnalyze simulation results and provide feedback to improve product quality, functionality, and performanceSupport the development and integration of new features within existing simulation environmentsContribute to large-scale software projects using modern development practices and version controlParticipate in technical discussions and help drive solutions for complex engineering challenges
Key requirementsProven hands-on experience with object-oriented programming in C/C++Strong software development, debugging, and problem-solving skillsExperience working in Linux or UNIX environmentsGood understanding of computer organization and computer architecture conceptsFamiliarity with software development tools, debuggers, IDEs, and version control systemsExperience working with large-scale software codebasesExposure to hardware modeling, simulation, verification, or performance analysisKnowledge of GPU, graphics, CPU, or related hardware architectures is preferredExposure to firmware development or debugging is a plusExperience with scripting languages such as Python is beneficialBachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, or a related technical field preferredColaborationEffective communicationContinuous learningC/C++Linux/UNIXComputer architecture concepts