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

Company: NVIDIA
Company: NVIDIA
Location: China, Shanghai
Commitment: Full time
Posted on: 2023-11-22 05:07
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 SparkImprove OSS RAPIDS through technical discussion and code contributionsCollaborate with distributed systems teams to craft solutions to distributed processing problems challenges at large scaleProvide recommendations and feedback to teams regarding decisions surrounding topics such as infrastructure, continuous integration and testing strategyBuild, test and optimize CUDA/C++ libraries across different platformsBuild automation and tools that will increase the efficiency of teams developing distributed systemsWhat we need to see:BS, MS, or PhD in Computer Science, Computer Engineering, or closely related field8+ years of work experience in software developmentOutstanding technical skills in designing and implementing high-quality distributed systemsExcellent programming skills in C++, Java, and/or ScalaAbility to work with multi-functional teams across boundaries and geographiesHighly motivated with strong interpersonal skillsWays to stand out from the crowd:Familiarity with RAPIDS libcudf, RMM and cuIOExperience in writing performant distributed software at scaleExperience in OS kernel developmentExperience with developing in CUDA on GPUsSolid understanding of C++ 17/20We 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!
View Original Job Posting