System Software Engineer, GPU Development Tools
NVIDIA
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.