Posted in

Senior Software Engineer – CUDA Python

Senior Software Engineer – CUDA Python

CompanyNVIDIA
LocationSanta Clara, CA, USA
Salary$184000 – $425500
TypeFull-Time
DegreesBachelor’s, Master’s, PhD
Experience LevelSenior

Requirements

  • BS, MS or PhD degree in Computer Science, Electrical Engineering or related field (or equivalent experience)
  • 5+ years of relevant industry experience or equivalent academic experience after BS
  • Strong Python programming and deployment skills with track record of driving formulation and/or adoption of Python community standards
  • Fluent C/C++ and CUDA programming skills
  • Background in AI, high performance computing or performance critical applications
  • Track record of developing/maintaining Python projects, and/or engaging with Python users on UX or performance improvements
  • Experience in designing, developing, tuning, navigating, and/or maintaining a large, complex, multi-language software stack (between C/C++/CUDA and Python)
  • Good written communication, collaboration, and presentation skills with ability of operating across team boundaries
  • Experience in distributed programming in C/C++/Python using MPI, Dask, Legate, or other distributed programming models/frameworks
  • Knowledge of generating Python bindings for mid- to large- size C/C++ codebases

Responsibilities

  • Architect, prioritize, and develop new features in CUDA Python
  • Analyze, identify, and improve the UX and performance of CUDA software in Python
  • Write effective, maintainable, and well-tested code for production use
  • Bridge the language gap between existing CUDA C/C++ solutions and Python
  • Understand and address unique challenges in developing and deploying Python GPU solutions
  • Identify key open source players in the Python/PyData ecosystem, and engage with them to develop and drive necessary protocols and standards for the NVIDIA CUDA platform
  • Evangelize CUDA programming in Python to encourage and empower adoption of the NVIDIA CUDA platform

Preferred Qualifications

  • Deep understanding in the CUDA programming model and language features
  • Familiarity with Python ecosystem, language idioms, and pioneering solutions
  • Dexterity with compilers, static/dynamic analysis techniques, and/or dynamic code generation/transpilation/compilation
  • Experience in using or developing the LLVM/Clang compiler infrastructure
  • Experience in memory management of a multi-language project or development of domain specific libraries/languages for AI, Data Analytics or Scientific Computing