Senior Math Libraries Engineer - AI and HPC
NVIDIA Math Libraries team is looking for an expert 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. Did you know our team develops the GPU accelerated mathematical libraries that makes all of this possible?
What you will be doing:
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.
To be successful in your responsibilities which are by nature sophisticated, you will need to find and explain complex solutions, exercise leadership, and coordinate with multiple teams to work towards your goals.
What we need to see:
PhD or Master’s degree in Computer Science, Applied Math, or related science or engineering field of study (or equivalent experience).
5+ 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 from the crowd:
Experience with parallel programming, ideally using CUDA, MPI, OpenMP, OpenACC, pthreads.
Good understanding of Machine Learning and Deep Learning technologies.
Good 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.
With competitive salaries and a generous benefits package, we are widely considered to be one of the technology world’s most desirable employers. We have some of the most forward-thinking and hardworking people in the world working for us and, due to outstanding growth, our exclusive engineering teams are rapidly growing. If you're a creative and autonomous engineer with a real passion for technology, we want to hear from you.The base salary range is 176,000 USD - 333,500 USD. Your base salary will be determined based on your location, experience, and the pay of employees in similar positions.