Senior Software Engineer - CUDA Driver
Role details
Job location
Tech stack
Requirements
-
Bachelor of Science or Master of Science degree in Computer Science, Electrical Engineering, or related field (or equivalent experience)
-
5+ years of relevant experience in developing systems software
-
Strong C programming skills
-
Experience designing, debugging, and maintaining complex software stacks
-
Experience with operating system interfaces for threads, process control, and virtual memory
-
Experience with HW/SW co-design, performance modeling using emulation/simulation, and developing SW programming model exposures for HW features
-
Understanding of system-level architecture, such as interconnects, memory hierarchy, interrupts, and memory-mapped IO
-
Strong interpersonal, verbal, and written communication skills with a capability to achieve objectives under tight time constraints
Ways to stand out from the crowd:
-
Prior experience with parallel computing - preferably writing CUDA programs or libraries that use CUDA
-
Knowledge of memory coherence and consistency models
-
Background with kernel mode development
-
Experience with Linux systems software development as well as experience maintaining and extending programming models or higher-level language support for similar environments
-
Familiarity with distributed system and training/inference patterns (data/model/pipeline parallelism) and deep learning frameworks
Benefits & conditions
Your base salary will be determined based on your location, experience, and the pay of employees in similar positions. The base salary range is 152,000 USD - 241,500 USD for Level 3, and 184,000 USD - 287,500 USD for Level 4.