NVIDIA is looking to solve the problem of accelerating general purpose computation on the GPU by improving the CUDA driver and runtime, core components of their platform.
Requirements
- Strong C programming skills
- Experience working with large codebases
- Track record of debugging performance problems in complex environments with software and hardware components
- Experience with operating system interfaces for threads, process control, and virtual memory
- Experience writing and debugging multithreaded programs
- Understanding of system level architecture, such as interconnects, memory hierarchy, interrupts, and memory-mapped IO
- Experience with performance tuning of device drivers or low level system software
Responsibilities
- Evangelize, architect, and implement new features
- Oversee and drive development efforts across multiple teams
- Analyze full stack performance ranging from application level through libraries, system software, kernel software and hardware
- Define forward-looking improvements to the CUDA APIs and programming model
- Create novel system software optimizations
- Write effective, maintainable, and well-tested code
- Develop code for multiple operating systems
Other
- BS or MS degree in Computer Science, Electrical Engineering (or equivalent experience)
- 7+ years of related development experience
- Strong collaborative and interpersonal skills, specifically a proven ability to effectively guide and influence within a dynamic matrix environment
- Good written communication
- Ability to work in a collaborative environment