NVIDIA is looking to solve the problem of accelerating general purpose computation on the GPU by leading/extend work on the CUDA driver, a core component of their platform.
Requirements
- Strong C programming skills
- Experience designing, debugging, and maintaining complex software stacks
- Background with operating system interfaces for threads, process control, and virtual memory
- Experience with HW/SW co-design, perf. modeling using emulation/simulation, creating SW programming model exposures for HW features
- Deep understanding of system level architecture, such as interconnects, memory hierarchy, interrupts, and memory-mapped IO
- Experience designing and implementing drivers programming rich HW acceleration engines and software verification test plans.
- Knowledge of CPU, GPU architectures, memory coherence and consistency models
Responsibilities
- As a member of our team, you will use your leadership skills, design abilities, coding expertise, creativity to evangelize, architect, and implement new CUDA features
- Work closely with Product Management and Program Management teams to help collect requirements for your products as well as contribute to the development of roadmaps and oversee and drive development efforts across multiple teams
- Collaborate with members of hardware architecture teams
- Understand and address unique challenges in developing and deploying forward-looking improvements to the CUDA APIs and programming model
- Design and maintain performance and precision modeling
- Write effective, maintainable, and well-tested code
- Develop code for multiple operating systems
Other
- BS, MS or PhD degree in Computer Science, Electrical Engineering or related field (or equivalent experience)
- 12+ overall years of relevant industry experience or equivalent academic experience after BS
- 3+ years of experience recruiting, training and leading software engineering teams
- Strong interpersonal, verbal, and written communications skills with a capability to achieve objectives under tight deadlines
- Strong collaborative and interpersonal skills, specifically a proven ability to effectively guide and influence within a dynamic matrix environment