NVIDIA is looking for a Principal Engineer to join our Distributed Machine Learning team focused on GPU accelerated Apache Spark. Data scientists often apply machine learning (ML) and deep learning (DL) algorithms over large datasets to train AI models. To accelerate and scale the model training, some libraries (e.g., XGBoost, RAPIDS cuML, PyTorch, and TensorFlow) have been extended for distributed training in a GPU-accelerated computer cluster. NVIDIA plans to work with open source communities to make GPU-accelerated distributed ML/DL even more widely applicable and easier to use. We aim to address the key limitations (including performance and usability) of existing solutions so that data scientists could build AI models to achieve business goals, faster, more reliably, and at a lower cost. Come join NVIDIA to design and develop GPU-accelerated distributed machine learning solutions.
What you’ll be doing:
Design and develop new user-friendly APIs and libraries to optimally use existing DL/ML frameworks in GPU-enabled Spark clusters for distributed DL/ML training and inference at scale.
Design and develop GPU accelerated ML libraries for distributed training and inference on Spark clusters, e.g., to improve our existing spark-rapids-ml open source library.
Demonstrate superior performance of developed solutions on industry standard benchmarks and datasets.
Make technical contributions to enhance capabilities of open source projects such as RAPIDS, XGBoost, spark-rapids-ml, and Apache Spark.
Work with NVIDIA partners and customers on deploying distributed ML algorithms in cloud or on-premise.
Keep up with published advances in distributed ML systems and algorithms.
Provide technical mentorship to a team of engineers.
What we need to see:
BS, MS, or PhD in Computer Science, Computer Engineering, or closely related field (or equivalent experience).
12+ years of work or research experience in software development.
5+ experience as technical lead in distributed machine learning and/or deep learning.
3+ years of open source development experience.
3+ years of hands-on experience with Spark MLlib, XGBoost, and/or PyTorch.
Knowledge of internals of Apache Spark MLlib.
Experience with Kubernetes, YARN, Spark, and/or Ray for distributed ML orchestration.
Proven technical skills in designing, implementing and delivering high-quality distributed systems.
Excellent programming skills in C++, Scala, and Python.
Familiar with agile software development practice.
Ways to stand out from the crowd:
Familiarity with NVIDIA libraries (RAPIDS cuML, Spark-RAPIDS, NVTabular) is a plus.
Familiarity with NVIDIA GPUs and CUDA is also a strong plus.
Familiarity with Horovod, Petastorm and other existing/past distributed learning libraries is desirable.
Experience working with multi-functional teams across organizational boundaries and geographies.
NVIDIA is widely considered to be one of the technology world’s most desirable employers. We have some of the most brilliant and talented people in the world working for us. If you are passionate about what you do, creative and autonomous, we want to hear from you!
The base salary range is 272,000 USD - 419,750 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.
Other Jobs from NVIDIA
Senior Chip Design Engineer
Senior Software Engineer
Senior Software QA Automation Engineer
Senior Chip-Design Verification Engineer, Networking Chip Design
Software Engineer, Chip Design
Senior Software Developer, HPC
Similar Jobs
Data Scientist/ Data Engineering Internship
Senior Engineer II
Senior Data Engineer
Research Engineer
Systems Engineer IV - SME
Senior Software Engineer - Cloud Infrastructure
There are more than 50,000 engineering jobs:
Subscribe to membership and unlock all jobs
Engineering Jobs
60,000+ jobs from 4,500+ well-funded companies
Updated Daily
New jobs are added every day as companies post them
Refined Search
Use filters like skill, location, etc to narrow results
Become a member
🥳🥳🥳 401 happy customers and counting...
Overall, over 80% of customers chose to renew their subscriptions after the initial sign-up.
To try it out
For active job seekers
For those who are passive looking
Cancel anytime
Frequently Asked Questions
- We prioritize job seekers as our customers, unlike bigger job sites, by charging a small fee to provide them with curated access to the best companies and up-to-date jobs. This focus allows us to deliver a more personalized and effective job search experience.
- We've got about 70,000 jobs from 5,000 vetted companies. No fake or sleazy jobs here!
- We aggregate jobs from 5,000+ companies' career pages, so you can be sure that you're getting the most up-to-date and relevant jobs.
- We're the only job board *for* software engineers, *by* software engineers… in case you needed a reminder! We add thousands of new jobs daily and offer powerful search filters just for you. 🛠️
- Every single hour! We add 2,000-3,000 new jobs daily, so you'll always have fresh opportunities. 🚀
- Typically, job searches take 3-6 months. EchoJobs helps you spend more time applying and less time hunting. 🎯
- Check daily! We're always updating with new jobs. Set up job alerts for even quicker access. 📅
What Fellow Engineers Say