Senior Performance Software Engineer, Deep Learning Libraries
Company: NVIDIA
Location: Palo Alto
Posted on: January 13, 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 the 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 features
What 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 programming
Ways 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 MLIR
NVIDIA 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 184,000 USD - 356,500 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 accepts applications on
an ongoing basis.
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.
#deeplearning
Keywords: NVIDIA, San Jose , Senior Performance Software Engineer, Deep Learning Libraries, IT / Software / Systems , Palo Alto, California
Click
here to apply!
|