Machine Learning Software Engineer - 70382

What you do at AMD changes everything

At AMD, we push the boundaries of what is possible. We believe in changing the world for the better by driving innovation in high-performance computing, graphics, and visualization technologies building blocks for gaming, immersive platforms, and the data center.

Developing great technology takes more than talent: it takes amazing people who understand collaboration, respect, and who will go the extra mile to achieve unthinkable results. It takes people who have the passion and desire to disrupt the status quo, push boundaries, deliver innovation, and change the world. If you have this type of passion, we invite you to take a look at the opportunities available to come join our team.

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, supporting AMD Radeon graphics hardware. Our team is looking for an experienced software engineer to develop, maintain, and support Apple s Machine Learning CoreML API on AMD GPUs. The successful candidate will utilize their knowledge of machine learning and operating system fundamentals to be a key contributor to the ongoing development of AMD drivers and future hardware. The ideal candidate will leverage outstanding cross-component, independent problem-solving skills, and work with other Compute / Machine Learning teams at AMD. The successful candidate will thrive in a dynamic environment, be a strong team player with demonstrated initiative who is passionate about developing leading-edge products.

Key Responsibilities

  • Support, design and develop AMD specific machine learning software in the context of Apple s CoreML and Metal Performance Shaders APIs
  • Excellent communications skills to report status and actions on high-visibility investigations to varied audience, from engineering to executive, and to engage with customer
  • Enhancing and maintaining sophisticated production-level GPU drivers, with a focus on ML
  • Collaborating closely with various engineering teams to implement features and debug issues within the GPU-specific driver
  • Designing, prototyping, and evaluating new technologies and features
  • Contributing to all phases of software development life cycle for driver development, including requirements gathering, scoping, design, implementation, test, bug fixing and documentation.
  • Profiling and analysis to identify and resolve performance issues
  • Validating GPU MI/ML features for new hardware generations


  • BASc/BSc (or greater) in Computer Science or Computer Engineering
  • Excellent technical communication, interpersonal and teamwork skills
  • Excellent programming skills with demonstrated experience in C/C++
  • Outstanding independent cross-functional problem solving and debugging skills

Required Skills:

  • 10+ years demonstrated software engineering experience (or advanced education equivalent) strongly preferred.
  • Experience in machine learning systems, algorithms, frameworks, libraries.
  • Strong knowledge of GPU architecture and parallel computing concepts.
  • Good foundational understanding of operating system concepts, memory management, concurrency and multi-threading.
  • Fast learner, adaptable, self-starter who can work both independently and collaborate well within dynamic team environment.
  • Experience delivering production quality, maintainable code on schedule, particularly in a larger software organization.
  • Experience with complex software systems and architectures.
  • Strong understanding of Object Oriented design principles.

Preferred Skills:

  • Experience in GPU programming, and/or parallel and asynchronous processing using APIs such as Metal, OpenCL, CUDA, HIP, OpenGL, DirectX, D3D, or Mantle.
  • Experience developing and debugging software on macOS or Linux/Unix.
  • Exposure to code optimization using the GPU or software performance analysis.
  • Experience with the Objective-C programming language.
  • Experience with operating system development, low-level device driver, embedded driver development or similar.


Don't Be Fooled

The fraudster will send a check to the victim who has accepted a job. The check can be for multiple reasons such as signing bonus, supplies, etc. The victim will be instructed to deposit the check and use the money for any of these reasons and then instructed to send the remaining funds to the fraudster. The check will bounce and the victim is left responsible.

More Jobs

Technical Writer, Software Engineering
San Francisco, CA Google
Technical Writer, Software Engineering
Mountain View, CA Google
Lead Software Engineer (Ruby on Rails)
Burbank, CA Deluxe Entertainment
Sr. Full Stack Software Engineer, Technical Lead
Burbank, CA Deluxe Entertainment
Junior / Mid Level Software Engineer - Venture...
Artesia, CA Lucas Group