software development engineer
Role details
Job location
Tech stack
Job description
A 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., * Optimize Deep Learning Frameworks: In depth experience in 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 tightly 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., AMD may use Artificial Intelligence to help screen, assess or select applicants for this position. AMD's "Responsible AI Policy" is available here.
Requirements
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., * 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., * Bachelor's and/or Master's degree in Computer Science, Computer Engineering, Electrical Engineering, or a related field.