Software Development Engineer The Role AMD’s Core Software Team (Apple Platform) develops and maintains the MacOS client and kernel device drivers for compute APIs such as OpenCL and Metal (including the new Machine Learning CoreML API), supporting AMD Radeon graphics hardware. Our team is looking for an experienced software engineer to develop, maintain, and support this compute related APIs and device drivers on AMD GPUs. The Person The successful candidate will utilize their knowledge of compute APIs, OS concepts, and machine learning to resolve bugs, implement new features, and support the release of new HW platforms. Through analysis, the candidate will help drive performance improvements at the SW driver stack, and at the GPU execution level. The ideal candidate will demonstrate outstanding cross-component, independent problem-solving skills, and work with other Compute / Compiler / Machine Learning teams at AMD, and our client. Key Responsibilities Improving and maintaining sophisticated production-level GPU OpenCL, Metal compute and ML drivers. Support, design and develop AMD specific machine learning software in the context of MacOS CoreML and Metal Performance Shaders APIs with a focus on performance. Profiling and analysis to identify and resolve performance issues. Excellent communications skills to report status and actions on high-visibility investigations to varied audience, from engineering to executive, and to engage with customer. Collaborating closely with various engineering teams to implement features and debug issues within the GPU-specific driver. Crafting, prototyping, and evaluating new performance tools. Contributing to all phases of software development life cycle including requirements capturing, prioritization, design, implementation, test, bug fixing and documentation. Validating GPU MI / ML features and performance for new hardware generations. Preferred Experience Excellent programming skills with proven experience in C/C . Experience in GPU programming, and/or parallel and asynchronous processing using APIs such as Metal, OpenCL, CUDA, HIP, OpenGL, DirectX, D3D, or Mantle. Experience with code optimization using the GPU, performance tooling, capturing HW counters and traces, and analysis/metrics. Strong foundational understanding of operating system concepts, memory management, concurrency and multi-threading. Strong understanding of Object Oriented design principles. Experience delivering production quality, maintainable code on schedule, particularly in a larger software organization. Experience developing and debugging software on MacOS or Linux/Unix. Experience with sophisticated software systems and architectures. Experience with operating system development, low-level device driver, embedded driver development or similar. Experience in machine learning systems, algorithms, frameworks, libraries. Academic Credentials BASc / BSc (or greater) in Computer Science or Computer Engineering.