Senior Performance Software Engineer, Deep Learning Libraries
Company: NVIDIA Corporation
Location: Santa Clara
Posted on: January 9, 2025
Job Description:
We are now looking for a Senior Performance Software Engineer
for Deep Learning Libraries! Do you enjoy tuning parallel
algorithms and analyzing their performance? If so, we want to hear
from you! As a deep learning library performance software engineer,
you will be developing optimized code to accelerate linear algebra
and deep learning operations on NVIDIA GPUs. The team delivers
high-performance code to NVIDIA's cuDNN, cuBLAS, and TensorRT
libraries to accelerate deep learning models. The team is proud to
play an integral part in enabling breakthroughs in domains such as
image classification, speech recognition, and natural language
processing. Join the team that is building the underlying software
used across the world to power the revolution in artificial
intelligence! We're always striving for peak GPU efficiency on
current and future-generation GPUs. To get a sense of the code we
write, check out our CUTLASS open-source project showcasing
performant matrix multiply on NVIDIA's Tensor Cores with CUDA. This
specific position primarily deals with code lower in the deep
learning software stack, right down to the GPU HW.What you'll be
doing:
- Writing highly tuned compute kernels, mostly in C++ CUDA, to
perform core deep learning operations (e.g. matrix multiplies,
convolutions, normalizations)
- Following general software engineering best practices including
support for regression testing and CI/CD flows
- Collaborating with teams across NVIDIA:
- CUDA compiler team on generating optimal assembly code
- Deep learning training and inference performance teams on which
layers require optimization
- Hardware and architecture teams on the programming model for
new deep learning hardware featuresWhat we need to see:
- Masters or PhD degree or equivalent experience in Computer
Science, Computer Engineering, Applied Math, or related field
- 6+ years of relevant industry experience
- Demonstrated strong C++ programming and software design skills,
including debugging, performance analysis, and test design
- Experience with performance-oriented parallel programming, even
if it's not on GPUs (e.g. with OpenMP or pthreads)
- Solid understanding of computer architecture and some
experience with assembly programmingWays to stand out from the
crowd:
- Tuning BLAS or deep learning library kernel code
- CUDA/OpenCL GPU programming
- Numerical methods and linear algebra
- LLVM, TVM tensor expressions, or TensorFlow MLIRNVIDIA is
widely considered to be one of the technology world's most
desirable employers. We have some of the most forward-thinking and
hard-working people in the world working for us. If you're
creative, autonomous, and love a challenge, consider joining our
Deep Learning Library team and help us build the real-time,
cost-effective computing platform driving our success in this
exciting and quickly growing field.The base salary range is 180,000
USD - 339,250 USD. Your base salary will be determined based on
your location, experience, and the pay of employees in similar
positions. You will also be eligible for equity and benefits.NVIDIA
is committed to fostering a diverse work environment and proud to
be an equal opportunity employer. As we highly value diversity in
our current and future employees, we do not discriminate (including
in our hiring and promotion practices) on the basis of race,
religion, color, national origin, gender, gender expression, sexual
orientation, age, marital status, veteran status, disability
status, or any other characteristic protected by law.
#J-18808-Ljbffr
Keywords: NVIDIA Corporation, San Jose , Senior Performance Software Engineer, Deep Learning Libraries, IT / Software / Systems , Santa Clara, California
Didn't find what you're looking for? Search again!
Loading more jobs...