Software Developer for GPU Math Libraries

Sep 28, 2023
Austin, United States
... Not specified
... Intermediate
Full time
... Office work


WHAT YOU DO AT AMD CHANGES EVERYTHING

We care deeply about transforming lives with AMD technology to enrich our industry, our communities, and the world. Our mission is to build great products that accelerate next-generation computing experiences – the building blocks for the data center, artificial intelligence, PCs, gaming and embedded. Underpinning our mission is the AMD culture. We push the limits of innovation to solve the world’s most important challenges. We strive for execution excellence while being direct, humble, collaborative, and inclusive of diverse perspectives. 

AMD together we advance_




THE ROLE: 

You will develop a high-performance GPU kernel generator to deliver the machine learning tensor operations with support for layer fusion. AMD is searching for talented and motivated computer scientists and compiler engineers to implement machine learning primitives as part of the AMD Radeon Open Ecosystem (ROCm). In this role you will be collaborating with teams involved with all aspects of the machine learning and math libraries.

 

THE PERSON: 

We are looking for a talented library developer who is looking to make an impact on deep learning performance. A great candidate will be a strong collaborator who is open to continuously learning, is excited about innovative solutions, and is able to communicate effectively and work optimally with different teams across AMD.

 

KEY RESPONSIBILITIES: 

  • Contribute to the design and implementation of AMD’S GPU kernel generator used in a variety of high-performance machine learning libraries and frameworks

  • Analyze the performance of GPU kernels and provide insight on optimization paths

  • Develop optimization and analysis passes on graph representations of GPU kernels

  • Communicate and collaborate with key technical experts across AMD and with our partners and customers to improve ROCm applications, libraries, and tools, as well as hardware

  • Deliver high-quality code and documentation following best practices for open-source software development

  • Apply software engineering methodologies to ensure robust, maintainable code

  • Participating in new ASIC and hardware bring up 
  • Develop technical relationships with peers and partners 

 

PREFERRED EXPERIENCE: 

  • Strong object-oriented programming background, C/C++  and Python preferred 
  • Strong fundamentals in linear algebra
  • Understanding of compiler technology fundamentals such as: abstract syntax trees, control flow graphs, data flow analysis, IR, and target lowering
  • Experience with best practices in software development, including testing, profiling, debugging, documentation, version control, and issue tracking
  • Experience with low-level optimization techniques; assembly programming and/or vectorization
  • Understanding of graph theory
  • Experience with concurrent programming 
  • Experience developing in a Linux operating system environment
  • Experience with software development processes and tools such as debuggers, source code control systems (GitHub) and profilers is a plus 
  • Effective communication and problem-solving skills 

 

ACADEMIC CREDENTIALS: 

  • Bachelor’s or Master's degree in Applied Mathematics, Computer Science, Computer Engineering, Electrical Engineering, or equivalent 

#LI-JG1




At AMD, your base pay is one part of your total rewards package.  Your base pay will depend on where your skills, qualifications, experience, and location fit into the hiring range for the position. You may be eligible for incentives based upon your role such as either an annual bonus or sales incentive. Many AMD employees have the opportunity to own shares of AMD stock, as well as a discount when purchasing AMD stock if voluntarily participating in AMD’s Employee Stock Purchase Plan. You’ll also be eligible for competitive benefits described in more detail here.

 

AMD does not accept unsolicited resumes from headhunters, recruitment agencies, or fee-based recruitment services. AMD and its subsidiaries are equal opportunity, inclusive employers and will consider all applicants without regard to age, ancestry, color, marital status, medical condition, mental or physical disability, national origin, race, religion, political and/or third-party affiliation, sex, pregnancy, sexual orientation, gender identity, military or veteran status, or any other characteristic protected by law.   We encourage applications from all qualified candidates and will accommodate applicants’ needs under the respective laws throughout all stages of the recruitment and selection process.

At AMD, your base pay is one part of your total rewards package.  Your base pay will depend on where your skills, qualifications, experience, and location fit into the hiring range for the position. You may be eligible for incentives based upon your role such as either an annual bonus or sales incentive. Many AMD employees have the opportunity to own shares of AMD stock, as well as a discount when purchasing AMD stock if voluntarily participating in AMD’s Employee Stock Purchase Plan. You’ll also be eligible for competitive benefits described in more detail here.

 

AMD does not accept unsolicited resumes from headhunters, recruitment agencies, or fee-based recruitment services. AMD and its subsidiaries are equal opportunity, inclusive employers and will consider all applicants without regard to age, ancestry, color, marital status, medical condition, mental or physical disability, national origin, race, religion, political and/or third-party affiliation, sex, pregnancy, sexual orientation, gender identity, military or veteran status, or any other characteristic protected by law.   We encourage applications from all qualified candidates and will accommodate applicants’ needs under the respective laws throughout all stages of the recruitment and selection process.

THE ROLE: 

You will develop a high-performance GPU kernel generator to deliver the machine learning tensor operations with support for layer fusion. AMD is searching for talented and motivated computer scientists and compiler engineers to implement machine learning primitives as part of the AMD Radeon Open Ecosystem (ROCm). In this role you will be collaborating with teams involved with all aspects of the machine learning and math libraries.

 

THE PERSON: 

We are looking for a talented library developer who is looking to make an impact on deep learning performance. A great candidate will be a strong collaborator who is open to continuously learning, is excited about innovative solutions, and is able to communicate effectively and work optimally with different teams across AMD.

 

KEY RESPONSIBILITIES: 

  • Contribute to the design and implementation of AMD’S GPU kernel generator used in a variety of high-performance machine learning libraries and frameworks

  • Analyze the performance of GPU kernels and provide insight on optimization paths

  • Develop optimization and analysis passes on graph representations of GPU kernels

  • Communicate and collaborate with key technical experts across AMD and with our partners and customers to improve ROCm applications, libraries, and tools, as well as hardware

  • Deliver high-quality code and documentation following best practices for open-source software development

  • Apply software engineering methodologies to ensure robust, maintainable code

  • Participating in new ASIC and hardware bring up 
  • Develop technical relationships with peers and partners 

 

PREFERRED EXPERIENCE: 

  • Strong object-oriented programming background, C/C++  and Python preferred 
  • Strong fundamentals in linear algebra
  • Understanding of compiler technology fundamentals such as: abstract syntax trees, control flow graphs, data flow analysis, IR, and target lowering
  • Experience with best practices in software development, including testing, profiling, debugging, documentation, version control, and issue tracking
  • Experience with low-level optimization techniques; assembly programming and/or vectorization
  • Understanding of graph theory
  • Experience with concurrent programming 
  • Experience developing in a Linux operating system environment
  • Experience with software development processes and tools such as debuggers, source code control systems (GitHub) and profilers is a plus 
  • Effective communication and problem-solving skills 

 

ACADEMIC CREDENTIALS: 

  • Bachelor’s or Master's degree in Applied Mathematics, Computer Science, Computer Engineering, Electrical Engineering, or equivalent 

#LI-JG1

COMPANY JOBS
1252 available jobs
WEBSITE
Top Jobs