Job Description
Summary
Description
Role has the opportunity to influence the design of compute and programming models in next generation GPU architectures.
Responsibilities:
* Adding optimizations in machine learning computation graph.
* Defining and implementing APIs in Metal Performance Shaders Graph, investigating new algorithms.
* Develop/maintain/optimize ML training acceleration technologies.
* Support adoption of GPU-accelerated training across 1st and 3rd party clients.
* Tune GPU-accelerated training across products.
* Performing in-depth analysis, compiler and kernel level optimizations to ensure the best possible performance across hardware families.
- Intended deliverables:
* ML training GPU acceleration technology.
* Optimized ML training across products.
If this sounds of interest, we would love to hear from you!
Minimum Qualifications
- Proven programming and problem-solving skills.
- Good understanding of machine learning fundamentals.
- GPU compute programming models & optimization techniques.
- GPU compute framework development, maintenance, and optimization.
- Machine learning development using one or more ML frameworks (TensorFlow, PyTorch or JAX).
Preferred Qualifications
- Experience with adding computational graph support, runtime or device backend to Machine learning libraries (TensorFlow, PyTorch or JAX) support is a plus.
- Experience with high performance parallel programming, GPU programming or LLVM/MLIR compiler infrastructure is a plus.
- Experience with system level programming and computer architecture.
- Background in mathematics, including linear algebra and numerical methods.