NVIDIANV

Senior Performance Software Engineer, Deep Learning Libraries

NVIDIA
United Kingdom only

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’scuDNN,cuBLAS, andTensorRTlibraries 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 ourCUTLASS open-source project showcasing performant matrix multiply on NVIDIA’sTensor 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:

  • PhD degree or equivalent experience in Computer Science, Computer Engineering, Applied Math, or related field or a Bachelors or Masters degree plus 4-6 years of equivalent 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.

#deeplearning

About the job

Apply before

Posted on

Job type

Full Time

Experience level

Senior

Location requirements

Hiring timezones

United Kingdom +/- 0 hours
Claim this profileNVIDIA logoNV

NVIDIA

View company profile

Similar remote jobs

Here are other jobs you might want to apply for.

View all remote jobs

30 remote jobs at NVIDIA

Explore the variety of open remote roles at NVIDIA, offering flexible work options across multiple disciplines and skill levels.

View all jobs at NVIDIA

Remote companies like NVIDIA

Find your next opportunity by exploring profiles of companies that are similar to NVIDIA. Compare culture, benefits, and job openings on Himalayas.

View all companies

Find your dream job

Sign up now and join over 85,000 remote workers who receive personalized job alerts, curated job matches, and more for free!

Sign up
Himalayas profile for an example user named Frankie Sullivan
NVIDIA hiring Senior Performance Software Engineer, Deep Learning Libraries • Remote (Work from Home) | Himalayas