A key part of NVIDIA's strength is our sophisticated development tools and modelling environments that enable our incredible pace of delivering new technology to market. We are looking for forward-thinking, hard-working, and creative people to join a multifaceted software team with high production-quality standards. This software engineering role involves developing high-level chip models, test APIs and trace generation workflows, and analysis tools. As a member of the software development team, you will engineer and improve the core infrastructure for execution, automation, and debugging the development of large-scale, general-purpose graphics and computing chips. This infrastructure enables our driver stack, applications, tests, and studies to run unchanged on all functional, diagnostic, and performance models.
What You’ll Be Doing
-
This role will require you to play a critical part in every stage of development of a GPU!
-
Improve the daily workflows of the world’s top chip modelers and designers to help produce the next greatest generation of GPUs.
-
Empower GPU architects to understand application performance today and model competition-destroying performance for tomorrow.
-
Coordinate with architecture and software teams to enable functional and performance testing for the next architecture.
What We Need To See
-
Bachelor's or higher degree in Computer Science, Computer Engineering, or related major
-
5+ years of experience
-
Aptitude to work across the GPU, driver, and application stacks
-
Strong C/C++ is a must-have capability
-
Excellent interpersonal skills
-
Ability to multi-task
-
Some familiarity with a scripting language, such as Python or Perl
-
Flexibility for working in an evolving environment with different frameworks and requirements
Ways To Stand Out From The Crowd
-
Know-how working on operating system kernels or writing device drivers with strong systems-level debugging skills
-
A knowledge of GPU APIs such as DirectX, CUDA, Vulkan or OpenGL
-
Experience with chip and/or system simulation
-
Deep understanding of systems architecture: CPU, GPU, memory, display, buses, kernel internals would be helpful
-
Advanced programming expertise with full-stack web based visualization technologies to help provide data insights.
JR1984295