NVIDIA is leading the way in groundbreaking developments in Artificial Intelligence, High-Performance Computing and Visualization. The GPU, our invention, serves as the visual cortex of modern computers and is at the heart of our products and services. Our work opens up new universes to explore, enables amazing creativity and discovery, and powers what were once science fiction inventions from artificial intelligence to autonomous cars. NVIDIA is looking for great people like you to help us accelerate the next wave of artificial intelligence.
NVIDIA is looking for an enthusiastic software engineer with experience in system software development to join the GPU Software team. You will design key aspects of our production GPU kernel drivers and embedded SW. You should demonstrate the ability to excel in an environment with complex software and hardware designs.
What you’ll be doing:
- You will be designing and developing C language extensions and interface definition languages (IDLs); providing the foundation for NVIDIA GPU drivers.
- You will refactor code to take advantage of these frameworks to reduce complexity, improve consistency and modularity.
- You’d work closely with both hardware engineers and other software engineers to design, develop, and debug features for our GPUs and mobile system-on-chip (SOC) devices.
What we need to see:
- You should have a BS, MS or PhD degree in Computer Engineering, Computer Science, or related degree.
- 5+ years of significant software development experience.
- You can demonstrate a hand on technical background; excellent C programming, C++, Perl/Python, and low-level driver experience.
- You are an asset if you have familiarity with computer system architecture, microprocessor, and microcontroller fundamentals (caches, buses, memory controllers, DMA, etc).
- Kernel experience with Linux, Android, Chrome, or Windows systems.
- Experience with complex system-level debugging is invaluable.
Ways to stand out from the crowd:
- Deep understanding of Compiler/LLVM techniques.
- Familiarity with large scale code refactoring techniques (e.g.: using Coccinelle for source transformations)
- Experience on big complex system-level SW build flow/maintenance/Open Source Project.
- Experience with embedded system SW concepts, e.g.: RTOS and overlay programming models.
NVIDIA is widely considered to be one of the technology world’s most desirable employers. We have some of the most brilliant and talented people on the planet working for us. If you’re creative, passionate, and self-motivated, we want to hear from you!