Senior Software Engineer, JAX

at Nvidia

📍 Santa Clara, United States

$180,000-339,200 per year

SENIOR
✅ On-site

SCRAPED

Used Tools & Technologies

Not specified

Required Skills & Competences ?

Python @ 4 Distributed Systems @ 4 Machine Learning @ 4 scikit-learn @ 4 TensorFlow @ 4 Hiring @ 4 Communication @ 4 PyTorch @ 4

Details

NVIDIA is hiring senior engineers to develop its AI platform and more specifically its performance optimizations in deep learning frameworks using JAX, a tool that can differentiate between Python control code and NumPy code. Our goal is to deliver a polished, fast, modular and coordinated platform to handle data, training and analysis for a wide range of deep learning solutions using JAX. To achieve this and provide an excellent user experience, you have strong programming skills and excellent system design skills. You should have excellent communication and planning skills for this role. Come join us to build the next generation of tooling that will advance the numerical computing and machine learning research around the world!

Responsibilities

  • Play a meaningful role in NVIDIA's effort in contributing to JAX.
  • Design and implement JAX core components and drive peak performance on NVIDIA products.
  • Work with AI applied researchers and leaders to build future-proof models.
  • Build tools that will increase the efficiency of teams developing AI-based systems.
  • Work to bridge the gap between the latest in numerical computing, simulation and deep learning research and their applications in real-world products.

Requirements

  • BS in Computer Science or Computer Engineering or related field (or equivalent experience).
  • 5+ years relevant experience.
  • C/C++ and Python programming.
  • Experience with machine learning frameworks and their internals (e.g. PyTorch, TensorFlow, scikit-learn, etc.).
  • Proven ability developing customer-facing solutions, balancing feature requests and bugs.
  • Proven technical foundation in CPU and GPU architectures, numeric libraries, modular software design.
  • Highly motivated with excellent verbal and written communication skills.
  • Ability to work successfully with multi-functional teams, principles and architects. Coordinates effectively across organizational boundaries and geographies.

Ways To Stand Out From The Crowd

  • Understanding of JAX, Autograd, tracing, code generation and DSL compilers and their design.
  • Understanding of deep learning training in distributed contexts: multi-GPU, multi-node, synchronous vs asynchronous.
  • Background with software shipping cycles (dev, deploy, release, CI).
  • Experience building distributed systems and services at large scale.