View All Jobs 169765

Senior Software Engineer - Performance

Optimize self-driving algorithms for multi-hardware architectures to enhance real-time performance
Shanghai
Senior
yesterday
NVIDIA

NVIDIA

A leading designer of graphics processing units (GPUs) for gaming and professional markets, as well as system on a chip units (SoCs) for the mobile computing and automotive market.

Senior Software Engineer

Intelligent machines powered by Artificial Intelligence computers that can learn, reason and interact with people are no longer science fiction. Today, a self-driving car powered by AI can meander through a country road at night and find its way. An AI-powered robot can learn motor skills through trial and error — this is truly an extraordinary time and the era of AI has begun.

Image recognition and speech recognition — GPU Deep Learning has provided the foundation for machines to learn, perceive, reason and solve problems. The GPU started out as the engine for simulating human creativity, conjuring up the amazing virtual worlds of video games and Hollywood films. Now, NVIDIA's GPU runs Deep Learning algorithms, simulating human intelligence, and acts as the brain of computers, robots and self-driving cars that can perceive and understand the world. Just as human imagination and intelligence are linked, computer graphics and AI come together in our architecture. Two modes of the human brain, two modes of the GPU. This may explain why NVIDIA GPUs are used broadly for Deep Learning, and NVIDIA is increasingly known as "the AI computing company." Make the choice to join us today.

Our team builds NVIDIA's end-to-end autonomous driving application.

We are seeking senior software engineers who are passionate about performance with interest in optimizing self-driving solutions that run on NVIDIA's multi-computer and heterogenous HW architectures.

What You'll Be Doing:

  • Develop, maintain and optimize performance KPIs necessary to deliver NVIDIA's L2/L3/L4 autonomous driving solutions
  • Devise acceleration strategies and patterns to improve software architecture and its efficiency on our computers with multiple heterogeneous hardware engines while meeting or exceeding product goals
  • Develop highly efficient product code in C++, making use of algorithmic parallelism offered by GPGPU programming (CUDA)/ARM NEON while following quality and safety standards such as defined by MISRA
  • Diagnose and fix performance issues reported on our target platform including on-road & simulation

What We Need To See:

  • BS/MS or higher in computer science or a related engineering discipline
  • Excellent C and C++ programming skills
  • 10+ years of relevant industry experience
  • Strong knowledge of programming and debugging techniques, especially for parallel architectures
  • Good understanding of System SW / Operating Systems and Computer architecture
  • Experience with performance analysis, optimizations and benchmarking
  • You have excellent analytical, written and verbal interpersonal skills

Ways To Stand Out From The Crowd:

  • Understanding of Embedded architectures and Real-time operating systems & scheduling
  • Strong mathematical fundamentals, including linear algebra and numerical methods
  • Experience implementing algorithms in Robotics, Computer Vision and/or Machine Learning
  • Software development experience with CUDA/GPGPU or any data parallel architectures
+ Show Original Job Post
























Senior Software Engineer - Performance
Shanghai
Engineering
About NVIDIA
A leading designer of graphics processing units (GPUs) for gaming and professional markets, as well as system on a chip units (SoCs) for the mobile computing and automotive market.