MTS Software Development Eng.
AMD - Advanced Micro Devices
Cambridge, United Kingdom
THE ROLE:
AI Software development engineer on teams building and optimizing Deep Learning applications and AI frameworks for AMD GPU compute platforms. Work as part of an AMD development team and open-source community to analyze, develop, test and deploy improvements to make AMD the best platform for machine learning applications.
THE PERSON:
Strong technical and analytical skills in C++ development in a Linux environment. Ability to work as part of a team, while also being able to work independently, define goals and scope and lead your own development effort.
KEY RESPONSIBILITIES:
- Optimize Deep Learning Frameworks: Enhance and optimize frameworks like TensorFlow and PyTorch for AMD GPUs in open-source repositories.
- Develop GPU Kernels: Create and optimize GPU kernels to maximize performance for specific AI operations.
- Develop & Optimize Models: Design and optimize deep learning models specifically for AMD GPU performance.
- Collaborate with GPU Library Teams: Work closely with internal teams to analyze and improve training and inference performance on AMD GPUs.
- Collaborate with Open-Source Maintainers: Engage with framework maintainers to ensure code changes are aligned with requirements and integrated upstream.
- Work in Distributed Computing Environments: Optimize deep learning performance on both scale-up (multi-GPU) and scale-out (multi-node) systems.
- Utilize Cutting-Edge Compiler Tech: Leverage advanced compiler technologies to improve deep learning performance.
- Optimize Deep Learning Pipeline: Enhance the full pipeline, including integrating graph compilers.
- Software Engineering Best Practices: Apply sound engineering principles to ensure robust, maintainable solutions.
PREFERRED EXPERIENCE:
- GPU Kernel Development & Optimization: Proficient experienced in designing and optimizing GPU kernels for deep learning on AMD GPUs using HIP, CUDA, and assembly (ASM). Strong knowledge of AMD architectures (GCN, RDNA) and low-level programming to maximize performance for AI operations, leveraging tools like Compute Kernel (CK), CUTLASS, and Triton for multi-GPU and multi-platform performance.
- Deep Learning Integration: Proficient experienced in integrating optimized GPU performance into machine learning frameworks (e.g., TensorFlow, PyTorch) to accelerate model training and inference, with a focus on scaling and throughput.
- Software Engineering: Proficient skills in Python and C++, with experience in debugging, performance tuning, and test design to ensure high-quality, maintainable software solutions.
- High-Performance Computing: Proficient experience in running large-scale workloads on heterogeneous compute clusters, optimizing for efficiency and scalability.
- Compiler Optimization: Solid understanding of compiler theory and tools like LLVM and ROCm for kernel and system performance optimization.
ACADEMIC CREDENTIALS:
- Bachelor's and/or Master’s degree in Computer Science, Computer Engineering, Electrical Engineering, or a related field.
- 3 + years of professional experience in technical software development, with a focus on GPU optimization, performance engineering, and/or framework development
Apply Now
Don't forget to mention EuroTechJobs when applying.