Senior GPU Cluster Software Engineer

Overview

On Site
USD 148,000.00 per year
Full Time

Skills

User experience
Data
Mentorship
Agile
Design
Visualization
Art
Research
Computer science
Software development
Python
GitLab
Management
Continuous integration
Continuous delivery
Algorithms
Data structure
Distributed computing
Software architecture
Machine Learning (ML)
Database
SQL
NoSQL
Elasticsearch
Redis
Extract
transform
load
Kibana
Grafana
Debugging
GPU
Training
PyTorch
Log management
HPC
Recruiting
Promotions
SAP BASIS
Law

Job Details

As a member of the System Software team, you'll be responsible for building profiling solutions for large-scale real world applications running on GPU compute clusters to make them work efficiently and improve the user experience for customer as well as engineers supporting the cluster. Much of our software development focuses on profiling varied set of applications running on different GPU clusters, and being able to accurately measure and display the user experience on these clusters with actionable inputs for customers and engineers supporting the cluster. Creating a fault tolerant distributed system while minimizing data loss and limiting time spent on reactive operational work is key to product quality and dynamic day-to-day work. We promote self-direction to work on meaningful projects, while we also strive to build an environment that provides the support and mentorship needed to learn and grow.

What you'll be doing:
  • Work in an agile and fast-paced global environment to gather requirements, architect, design, implement, test, deploy, release, and support large scale distributed systems infrastructure with monitoring, logging, visualization, and alerting capabilities with promised uptime
  • Build internal profiling tools for real world ML/DL applications running on HPC GPU clusters for failure and efficiency analysis to help improve current and future generation of GPU clusters and associated HWs
  • Understand state of the art improvements in ML/DL domain, and work with various application owners and research teams to add / improve profiling needs for current and potential future supported features

What we need to see:
  • BS+ in Computer Science or related (or equivalent experience) and 5+ years of software development (in Python)
  • Experience with Gitlab (or another source code management) branch/release, CI/CD pipeline, etc.
  • Solid understanding of algorithms, data structures, and runtime/space complexity
  • Experience working with distributed system software architecture
  • Basic understanding of HPC GPU cluster, slurm
  • Basic understanding of Machine learning concepts and terminologies
  • Background with databases - SQL and NoSQL (prometheus, elasticsearch, opensearch, redis, etc.)
  • Experience with distributed Data Pipeline, Telemetry, Visualizations (Kibana, Grafana, etc.), Alerting (pagerduty, etc.)

Ways to stand out from crowd:
  • Experience debugging functional and performance issues in HPC GPU clusters
  • Background in running and instrumenting distributed LLM training on a multi gpu HPC cluster
  • Knowledge of LLM training features and libraries - Checkpointing, Parallelism, Pytorch, Megatron-LM, NCCL
  • Experience with HPC schedulers such as Slurm
  • Background with Opentelemetry

The base salary range is 148,000 USD - 276,000 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.

NVIDIA is committed to fostering a diverse work environment and proud to be an equal opportunity employer. As we highly value diversity in our current and future employees, we do not discriminate (including in our hiring and promotion practices) on the basis of race, religion, color, national origin, gender, gender expression, sexual orientation, age, marital status, veteran status, disability status or any other characteristic protected by law.
Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.