Application Software Optimization Engineer, High Performance Computing and AI

Overview

On Site
Full Time

Skills

Data
Embedded systems
Innovation
Management
Code optimization
Optimization
High performance computing
Testing
Computer science
Computational physics
PyTorch
TensorFlow
Training
Computational Science
Finite Element Analysis
Chemistry
Fluid mechanics
Modeling
Communication
Fortran
C
C++
Performance analysis
CPU
GPU
MPI
CUDA
OpenMP
Artificial intelligence
Machine Learning (ML)
HPC
CMake
Software development
Debugging
Version control
Documentation
Bug tracking
Team building
Git
Sales
Purchasing
Military
Law
Recruiting

Job Details

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_

Application Software Optimization Engineer, High Performance Computing and AI

THE ROLE:

Would you like to be part of a world class team enabling applications for high performance computing? AMD is searching for talented and highly motivated computational scientists/engineers to join our team of developers preparing applications for supercomputing platforms across industry, academia, and national laboratories.

This position is for a variable experience level optimization engineer in high performance computing. You will be part of a team testing, porting and tuning a wide variety of scientific applications for AMD GPU platforms.

THE PERSON:

A computational scientist, physicist, or engineer with experience in at least one scientific computing domain and strong GPU programming skills. Extensive experience with MPI communications packages and internals is essential. A track record of collaborating with others on applications and libraries widely used by the scientific computing community is a plus. Must be self-motivated and possess the ability to work well within a team environment.

ACADEMIC CREDENTIALS AND EXPERIENCE:
  • PhD in Computer Science, Computational Physics, Engineering or related subjects
  • Advanced candidates bring an additional 3-5 years of relevant industry experience
  • GPU programming experience of at least two years in an academic or industrial setting is highly desired
  • Detailed knowledge of the MPI communications layer is essential including understanding of internals (libfabrics, verbs)
  • Working knowledge of a major AI framework (PyTorch / TensorFlow) or exposure to a converged HPC/AI code is a plus


KEY RESPONSIBILITIES:
  • Port and optimize a variety of scientific applications for AMD GPU systems
  • Provide MPI domain specific knowledge to other groups at AMD
  • Engage with AMD product groups to drive resolution of application and customer issues
  • Develop and present training materials to internal audiences, at customer venues, and at industry conferences


PREFERRED EXPERIENCE:
  • Exposure to one scientific computing discipline such as finite element analysis, computational chemistry, fluid dynamics, weather modeling, and oil and gas applications
  • Extensive experience with MPI collectives and communication layers is essential
  • Extensive experience with diagnosing and debugging MPI performance issues is essential
  • Extensive experience with modern Fortran or C/C++
  • Strong performance analysis skills ideally for both CPU and GPU
  • Experience in implementing and optimizing parallel methods on GPU accelerators in distributed memory systems with MPI, CUDA, HIP, OpenMP, etc.
  • Experience with a converged HPC/AI application or ML is a plus
  • Broad experience creating, adapting, and running workloads with widely used HPC applications is a plus
  • Familiarity with installation and setup of various HPC applications is a plus
  • Experience with build system tools including Make, CMake, autoconf, and autotools
  • In-depth knowledge of software development practices including debug, test, revision control, documentation, and bug tracking
  • Strong team development skills including demonstrated expertise with git
  • Ability to work well in geographically dispersed teams


LOCATION:

Austin, TX; Santa Clara, CA, or remote

#HYBRID

#LI-RL1

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.
Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.