Senior Math Libraries Engineer – AI And HPC

at Nvidia
USD 184,000-356,500 per year
SENIOR
✅ On-site

SCRAPED

Used Tools & Technologies

Not specified

Required Skills & Competences ?

Software Development @ 4 Python @ 4 Machine Learning @ 7 Leadership @ 4 Scoping @ 4 Communication @ 7 Parallel Programming @ 4 Performance Optimization @ 7 Jira @ 4 Product Management @ 4 Technical Leadership @ 4 Project Management @ 4 NLP @ 4 Agile @ 4 CUDA @ 4 GPU @ 4

Details

NVIDIA Math Libraries team is looking for a senior engineer to join our development efforts in the area of kernel generation for AI and HPC, specifically targeting matrix operations, JITing and fusions. Around the world, leading commercial and academic organizations are revolutionizing AI, scientific and engineering simulations, and data analytics, using data centers powered by GPUs. Applications of these technologies are in healthcare, NLP, VR, deep learning, autonomous vehicles and countless others. Our team develops the GPU accelerated mathematical libraries that makes all of this possible.

Responsibilities

  • Scoping, designing, and implementing high quality and performance numerical dense linear algebra software on GPUs.
  • Owning the execution of projects involving multiple engineers and sometimes teams.
  • Providing technical leadership and feedback to library engineers working with you on projects and sometimes mentor interns.
  • Working closely with product management and other internal and external customers to understand feature and performance requirements and contribute to the technical roadmaps of libraries.
  • Finding opportunities to improve library performance and reduce code maintenance overhead through re-architecting.
  • Finding and explaining complex solutions, exercising leadership, and coordinating with multiple teams to work towards your goals.

Requirements

  • PhD, Master’s, or Bachelor's degree in Computer Science, Applied Math, or related science or engineering field of study (or equivalent experience).
  • 8+ years of experience in designing, developing, testing, maintenance, and performance optimization of HPC software using C++.
  • Strong fundamentals in kernel generation and composable library design for linear algebra.
  • Leadership skills in driving software development projects.
  • Strong collaboration, communication, and documentation habits.
  • Kernel generation; JIT focus/experience desired.

Ways to Stand Out

  • Experience with parallel programming, ideally using CUDA, MPI, OpenMP, OpenACC, pthreads.
  • Good understanding of Machine Learning and Deep Learning technologies as well as knowledge of GPU (preferred) or CPU hardware architecture.
  • Experience with low level programming using assembly for performance optimization and operator fusion is a huge plus.
  • Experience with agile software development practices using project management tools such as JIRA.
  • A scripting language, preferably Python.

Benefits

Competitive salary package and benefits. NVIDIA is known as one of the technology world’s most desirable employers, with forward-thinking and hardworking people. Equity eligibility and ongoing application acceptance.

NVIDIA is committed to fostering a diverse work environment and is proud to be an equal opportunity employer.