Senior Software Engineer, MathDx – cuBLASDx and cuSolverDx
NVIDIA
NVIDIA is looking for an expert software engineer to help us expand our catalog of Device eXtension (Dx) APIs for our math libraries. For over a decade, NVIDIA's accelerated computing platform has revolutionized HPC and AI with applications ranging from COVID-19 research to autonomous machines. Did you know that our team develops the GPU-accelerated mathematical libraries that make all of this possible?
The hardware and software accelerated computing ecosystem is constantly evolving, including shifts towards hybrid backends, deep integration with high-level languages and ecosystems (such as Python, Numpy, JAX, MLIR…), and optimization at runtime for maximum flexibility and performance. Our Dx APIs allow developers to embed highly-optimized mathematical operations in their applications for these and other scenarios. You will be part of a team designing, developing, and optimizing math libraries for the future. If you are passionate about designing modern HPC libraries and want to build software that will stand the test-of-time as it accelerates countless applications, we might have the dream job you have been waiting for!
What you'll be doing:
+ Design modern, flexible, and easy to use APIs for math libraries and lead design reviews with all collaborators.
+ Work closely with internal (e.g., engineering, Product Management) and external partners such as researchers to understand their use cases and requirements.
+ Become a domain expert by continuously surveying current trends in software systems.
What we need to see:
+ PhD or MSc degree in Computer Science, Applied Math, or a related science or engineering field is preferred (or equivalent experience).
+ 3+ years of experience designing and developing software for high-performance computing and/or AI applications.
+ Advanced C++ skills, including modern design paradigms (e.g., template meta-programming, RAII).
+ Parallel programming experience with CUDA or OpenCL.
+ Strong collaboration, communication, and documentation habits.
Ways to stand out from the crowd:
+ Experience using graph compilers and/or Just In Time compilation workflows (e.g. XLA, LLVM, MLIR, Numba, NVRTC).
+ Programming skills with Python, and modern automation setups for both building software (e.g. cmake) as well as testing it (e.g. CI/CD, sanitizers).
+ Experience with CCCL, OpenMP, OpenACC, multi-threading, MPI, PGAS.
+ Strong background in numerical methods (e.g., FFT, numerical linear algebra).
+ Experience with scientific and deep learning libraries and frameworks such as PyTorch, JAX, MKL, MAGMA, PETSc, Kokkos, etc.
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 unprecedented 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!
Confirmar seu email: Enviar Email
Todos os Empregos de NVIDIA