Software Engineer, Cuda-q

NVIDIA NVIDIA · Semiconductors · CA +1 · Remote

Software Engineer to build the CUDA-Q toolchain for programming hybrid quantum-classical multi-processor systems, focusing on inter-device communication, efficient execution, and integrating quantum architecture specific components.

What you'd actually do

  1. Contributing to the development of CUDA Quantum by building core infrastructure for inter-device communication and efficient execution across multiple processors
  2. Partnering with architects, product managers, and collaborators to create an extensible toolchain integrating quantum architecture specific components
  3. Solving difficult problems at the intersection of compilers, HPC and quantum computing to enable ground-breaking research and technology
  4. Discussing and refining software designs and implementation strategies with peers
  5. Improving processes and infrastructure to accelerate our development

Skills

Required

  • Bachelors Degree in Computer Science, Physics or related engineering field, or equivalent experience
  • 5+ years of experience
  • Ability working on large-scale software projects
  • proven track record of building performant and robust production software
  • A solid understanding of performance profiling, multi-processor systems, and compiler fundamentals
  • Ability to quickly develop expertise in new domains and products
  • eagerness to master new challenges
  • Strong communication and collaboration skills

Nice to have

  • Ph.D. or Masters preferred
  • Extensive knowledge about quantum computing hardware and control systems
  • prior experience implementing optimization and code generation components for various quantum computing architectures
  • A passion for system designing and a focus on improving extensibility
  • An understanding of quantum error correction
  • Deep understanding of compiler toolchains, specifically LLVM/MLIR
  • Proficiency in GPU- and/or FPGA-programming

What the JD emphasized

  • proven track record of building performant and robust production software
  • solid understanding of performance profiling, multi-processor systems, and compiler fundamentals
  • Deep understanding of compiler toolchains, specifically LLVM/MLIR