At NVIDIA, we build groundbreaking products for the following sectors: Automotive, VR, Gaming, Deep Learning, and High Performance Computing. See your efforts in action as developers use your tools to debug, profile and analyze the performance of their systems/applications using the low-level library that you helped to craft as a member of the GPU Foundations Developer Tools team. Innovate as you develop the performance analysis capability of NVIDIA hardware along with the NSight Perf SDK library to support current and future generations of GPUs. Help inventors the world over who will depend on the creative products that you worked on to deliver. Join the team that brings new GPU technologies to market with sophisticated simulation/emulation systems and be among the first to breathe life into new silicon.
As a GPU kernel software engineer, you will be developing software that empowers GPU application developers to build outstanding graphics and compute applications that are known throughout the world. We are seeking a software developer to join our effort to advance the state of software performance tuning for GPUs. You will use your knowledge gained of NVIDIA chip architectures to improve our tools that provide meaningful feedback to application developers. As a kernel driver engineer in this team, your role will involve establishing software solutions for a variety of platforms such as PC’s, Embedded Systems, and other platforms working directly with our GPUs at a low level. You will have a direct impact on the software mechanisms that our team provides. You should be comfortable working in existing driver code and application code as well as writing new shared libraries and targeted GPU performance tests.
What you'll be doing:
Revising/updating/testing kernel interfaces, reviewing code, and ensuring bug-free code that can be used by the Developer Tools team
Collect requirements from software developer tools features and work with the kernel team to co-design new interfaces
Implementation of new features as well as HAL to support new GPU architectures
Support regression testing efforts of development features
Work on interface layer between Foundations tools’ library and kernel interface including in the UMD
What we need to see:
Pursuing a Master's degree major in CS/SE.
Proficiency in C/C++, object oriented programming.
Proficiency in written and spoken English.
Knowledge of OS kernel, and how to write driver for hardware.
Quick learner, willing to dive in where needed and debug complex code and UMD/KMD interactions, such as kernel panics.
Ways to stand out from the crowd:
CPU or GPU HW architecture knowledge
Familiarity with power, performance, clock control within the kernel
Knowledge of a GPU API such as: CUDA, OpenCL, OpenGL, OpenGL ES, DirectX, or console graphics API
We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, sex, gender, gender expression, sexual orientation, age, marital status, veteran status, or disability status. We will ensure that individuals with disabilities are provided reasonable accommodation to participate in the job application or interview process, to perform essential job functions, and to receive other benefits and privileges of employment. Please contact us to request accommodation.