Share
What you will be doing:
The software architecture group at NVIDIA has openings for software architects in the field of AI and high-performance networking and system software. We research, develop, and deploy solutions in networking hardware, programming environments, and system software to make current and future high-end computer systems more performant, scalable, and usable.
Creating proofs-of-concept to evaluate and motivate extensions in AI Frameworks (PyTorch/NEMO), HPC programming models (MPI, OpenSHMEM, PGAS), new runtime designs, and new network hardware features.
Research, design and implement features for AI and HPC communication middleware (NCCL, Open MPI, UCX, UCC, NVSHMEM), and Deep Learning frameworks such as TensorFlow/Pytorch.
Review, design, and implement features to enhance compiler features to support the NVIDIA networking ecosystem.
Research, design and develop hardware features relevant to scientific, Deep learning, and data-intensive workloads.
What we need to see:
A Ph.D. or Master, in computer science, computer engineering, or a closely related field or equivalent experience.
5+ years of experience in parallel programming models, and/or network architecture.
Background in algorithm design, system programming, and computer architecture
Strong programming and software development skills
Ability and flexibility to work and communicate effectively in a multi-national, multi-time-zone corporate environment
Deep understanding of technology and passion for what you do
Strong collaborative and interpersonal skills, specifically a proven ability to effectively guide and influence within a dynamic matrix environment
Ways to stand out from the crowd:
Background with designing communication middleware for high-performance computing systems, including InfiniBand, DPUs, Ethernet, and Shared Memory;
Experience developing and implementing features for compilers, optimizations for compilers, particularly Clang/LLVM, and NVIDIA compilers;
Experience implementing communications libraries, particularly MPI, OpenSHMEM, NCCL, NVSHMEM, UCX, UCC, or PGAS;
Background with CUDA programming and NVIDIA GPUs
Programming models for emerging architectures including hierarchical heterogeneous memory systems and accelerators.
You will also be eligible for equity and .
These jobs might be a good fit