SMTS Software Development Eng.- 96565

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.

 

SMTS Software Engineer: Advanced Technologies Group – Computer Vision and Machine Learning Platform

The role:

Advanced Technologies Group (ATG) is a technology group running at the innovation forefront of AMD with missions in developing new camera/computer vision/machine learning technologies and solutions to transform how we will live and work on AMD next generation platforms.

The person:

In this role you will participate in developing end-to-end machine learning-based solutions for camera and computer vision applications running on AMD Edge platforms

Key responsibilities:

  • Lead designs and initiatives in area of focus, responsible to drive your assigned component to success with collaborations across multiple teams and multiple technical domains, in different geographical regions in a large computer vision and machine learning program
  • Work closely with HW and SW teams and get your hands on a broad range of activities from solution design, software development, to optimization and deployment for Edge platforms
  • Work closely with architecture teams to provide timely feedback and direction on various architectural design decisions
  • Measure, analyze, and optimize power and performance for both application and system software/hardware stack
  • Manage project priorities, deadlines, and deliverables for your assigned components
  • Manage full development cycle including review design and code; determine and implement unit testing and system level testing strategies

Preferred experience:

  • Experience with software engineering and C, C++ programming
  • Experience in system-level design, analysis, and optimization
  • Experience with machine learning and/or compute APIs (OpenCL/CUDA/DirectX)
  • Experience in leading development technical areas and/or projects
  • Experience with Machine Learning/Deep Learning frameworks like Tensorflow, Pytorch
  • Good understanding of deep learning concepts like CNN, RNN/LSTMs
  • Strong background in computer vision, computer system architecture, and algorithm design
  • Strong experience in software solution designs and/or system architectures
  • Strong experience in analyzing and solving complex issues in end-to-end stack – from application level (i.e. user experience, performance benchmarking) down to system/platform level (i.e. driver/APIs and hardware behavior). This includes the ability to profile, gather, integrate, and interpret information from multiple sources and identify fundamental patterns/trends across sets of highly complex data to solve problems and/or optimize end-to-end software stack
  • Leadership & taking Initiative – can serve as a technical leader within area of focus and have strong ability to attack work activities with drive and energy, understanding the impact of work on key metrics, and making decisions to steer designs and projects. This includes not being afraid to initiate action before all the facts are known, and driving value-added work tasks to completion.
  • Communication – The ability to convey information clearly and accurately to express designs and ideas while still foster good collaboration and team energy. This includes using a technically sound communication style both verbally and in writing. Especially strong ability to write good design documents and tech specifications. Can hold a leading role to drive technical meetings and collaborations with other teams across the organization. Can communicates with project/program lead to provide status and information about impending obstacles and suggests remediation
  • Strong team player – Willing to jump in and help others to tackle issues even if it is outside area of focus.

Other desired skills:

  • Experience in developing computer vision algorithms using OpenCV and/or Deep Learning approaches
  • Experience with driver/APIs design and development with proven debugging and analysis skills, for root causing complex issues at system level
  • Experience with system software (driver/OS level) on Android/Linux/Windows environment
  • Experience with camera architecture, camera APIs and other camera algorithms
  • Experience in designing Machine Learning/Deep Learning frameworks and platforms
  • Experience in development of any of the deep learning compiler frameworks like TVM, Glow or XLA; or other LLVM-based compilers
  • Proven record in generating the New and Different – The ability to be creative. This includes the ability to produce breakthrough ideas, being a visionary, managing innovation, seeing multiple futures, having broad interests and knowledge, and gaining support in order to translate new ideas into solutions. This also includes the ability to plan and implement unconventional ideas and speculate about alternative futures without all of the data.

Academic credentials:

  • BS/MS degree in Computer Science, Electrical/Computer Engineering, or Applied Math

Location:

Markham, ON