Senior Systems Software Engineer - C++ and CUDA - Accelerated Apache Spark

8-10 years
12 days ago
Job Description

As NVIDIA is leading the world in accelerated computing, we are building the next generation data processing ecosystem.

Apache Spark is the most popular distributed data processing engine in data centers. It is used for a wide variety of workloads, from data preparation, feature generation, reporting, analytics, and more. Data scientists spend a considerable amount of time exploring data and iterating over machine learning (ML) experiments. Every hour of compute required to sort through datasets, extract features and fit ML algorithms impedes an efficient business workflow.

At NVIDIA, we are passionate about working on hard problems that have an impact. You will need to have strong programming skills, a deep understanding of software building and packaging, especially related to C++. You will work with a team that is using open source libraries - RAPIDS libcudf, RMM and cuIO - to accelerate operations in Apache Spark ETL and ML.

What you'll be doing:

  • Develop CUDA/C++ libraries that will be used by distributed data processing engines, accelerating operations in Apache Spark

  • Improve OSS RAPIDS through technical discussion and code contributions

  • Collaborate with distributed systems teams to craft solutions to distributed processing problems challenges at large scale

  • Provide recommendations and feedback to teams regarding decisions surrounding topics such as infrastructure, continuous integration and testing strategy

  • Build, test and optimize CUDA/C++ libraries across different platforms

  • Build automation and tools that will increase the efficiency of teams developing distributed systems

What we need to see:

  • BS, MS, or PhD in Computer Science, Computer Engineering, or closely related field

  • 8+ years of work experience in software development

  • Outstanding technical skills in designing and implementing high-quality distributed systems

  • Excellent programming skills in C++, Java, and/or Scala

  • Ability to work with multi-functional teams across boundaries and geographies

  • Highly motivated with strong interpersonal skills

Ways to stand out from the crowd:

  • Familiarity with RAPIDS libcudf, RMM and cuIO

  • Experience in writing performant distributed software at scale

  • Experience in OS kernel development

  • Experience with developing in CUDA on GPUs

  • Solid understanding of C++ 17/20

We are an AA/EEO/Disabled employer and with highly competitive salaries and a comprehensive benefits package. NVIDIA is 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. Are you creative and autonomous Do you love a challenge If so, contact us!

NVIDIA&#8217&#x3B;s invention of the GPU in 1999 sparked the growth of the PC gaming market, redefined modern computer graphics, and revolutionized parallel computing. More recently, GPU deep learning ignited modern AI &#8212&#x3B; the next era of computing &#8212&#x3B; with the GPU acting as the brain of computers, robots, and self-driving cars that can perceive and understand the world. Today, NVIDIA is increasingly known as "the AI computing company.

Career Advice to Find Better

Related Searches