Senior Software Engineer - AI Compute Libraries & Performance
You build high-performance AI compute libraries for next-generation hardware, implement kernels for linear algebra and tensor operations, own performance and numerical correctness through benchmarks and tests, profile and optimize threading and memory behaviour, debug and resolve issues, and mentor others.
Responsibilities
- Build high-performance AI compute libraries
- Design and implement linear algebra and tensor kernels
- Implement GEMM, convolution and reduction operations
- Own performance and correctness through microbenchmarks
- Maintain regression tests
- Perform numerics validation
- Profile and optimize threading, cache locality, memory layout and kernel launch efficiency
- Debug and resolve bugs
- Mentor others
- Support Agile ways of working
Requirements
- Excellent C++ programming skills
- Excellent Python scripting skills
- Understanding of processor architectures
- Linux profiling
- Algorithmic performance
- Vectorisation
- Memory hierarchy
- Threading
- Hands-on experience with BLAS or DNN stacks
- Ability to read or extend kernels
- Understanding of numerical stability
- Understanding of FP32, FP16, BF16 and FP8 trade-offs
- Written and verbal communication skills
Benefits
- Flexible working
- Comprehensive healthcare and dental cover
- Phantom equity
- Fully funded gym card
- Fitness classes
- Death and disability insurance
- Retirement savings with a 4% employer contribution
- Employee Assistance Programme