Senior System Software Engineer, GPU Development Tools
We are now looking for a GPU Development Tools System Software Engineer. A key part of NVIDIA's strength is our sophisticated development tools and simulation environments that enable our incredible pace of delivering new technology to the market. We are looking for forward-thinking, hard-working, and creative people to join a dynamic software development team with high production-quality standards. Our work includes designing and developing frameworks for creating GPU workloads that enable functional and perf verification of GPU. NVIDIA is continuously pushing the state of the art in chip development software and infrastructure to enable the next generation of chips.
In this position, you will develop the core infrastructure needed to generate stimulus for modeling, analysis, and debugging of upcoming general-purpose graphics and computing chips. Our infrastructure is critical to enable GPU development and verification throughout the chip lifecycle and is used across many diverse groups of engineers including but not limited to chip architects, driver developers, and verification engineers.
What you will be doing:
As a member of the team, you will play a critical role in all stages of GPU development
Design and architect features in compute and graphics stimulus development framework similar to OpenGL and CUDA
Coordinate with GPU architects to craft and implement infrastructure used for functional and performance verification for the upcoming architecture
Design and develop GPU stimulus analysis tools such as debuggers & disassemblers
Empower GPU architects to understand application performance today and model industry-leading performance for tomorrow
Work closely with HW & SW teams to enable speed-of-light development of GPU software ecosystem
In this role, you will dramatically improve the daily workflows of the world's top chip modelers and designers to help produce the world’s next greatest generation of GPUs
What we need to see:
Bachelors or masters in computer science / computer engineering or equivalent experience
3+ years of overall experience with large portion of that working on C++ based projects
Strong C++ programming capability required (experience with boost or C++11/14 a plus)
Knowledge of object-oriented design patterns
Good understanding of system software and Operating Systems
Strong expertise in design and development of complex massively parallel algorithms
Experience with chip and/or system simulation a huge plus
Strong scripting skills desired
Graphics or CUDA knowledge a plus
Experience with OpenGL, Vulkan, Direct3D, CUDA APIs a plus
Excellent interpersonal skills
NVIDIA is committed to fostering a diverse work environment and proud to be an equal opportunity employer. As we highly value diversity in our current and future employees, we do not discriminate (including in our hiring and promotion practices) on the basis of race, religion, color, national origin, gender, gender expression, sexual orientation, age, marital status, veteran status, disability status or any other characteristic protected by law.