Back to results

Principal Software Development Engineer

  • Waterloo, ON, Canada

Applications open in a new tab.

Job details

Apply by
Posting language
English
Posted

Original job description

ADVANCE YOUR CAREER. ADVANCE THE WORLD. 

At AMD, we believe technology has the power to solve the world’s most important challenges. From advancing healthcare and scientific discovery to powering AI and the technologies people rely on every day, innovation at AMD is shaping the future.

Whether you’re designing next-gen processors, enabling AI breakthroughs, or bringing leading edge products to market, every role at AMD contributes to something bigger - technology that moves the world forward. Join us and, together, we’ll advance your career.

Responsibilities

PMTS SOFTWARE DEVELOPMENT ENGINEER

THE ROLE:

AMD is looking for a strategic software engineering lead who is passionate about improving the performance of machine learning models on AMD GPUs. You will be a member of a core team of incredibly talented industry specialists. The team optimizes ML inference and training workloads across the ROCm software stack, from frameworks like PyTorch, vLLM, and llama.cpp down to ROCm libraries and GPU kernels. You will work with the very latest hardware and software technology.

THE PERSON:

The ideal candidate should be passionate about software engineering and performance optimization, and have the leadership skills to drive sophisticated issues to resolution. They should be comfortable working across multiple layers of the software stack in both Python and C++. They should be able to communicate effectively and work well with different teams across AMD and with open-source communities.

KEY RESPONSIBILITIES:

  • Analyze and optimize the performance of ML models running on AMD GPUs with the ROCm stack
  • Optimize code across multiple software layers, including PyTorch, vLLM, llama.cpp, and ROCm libraries, in both Python and C++
  • Work with AMD's architecture specialists to improve future products
  • Apply a data-driven approach, using profiling and benchmarking, to target optimization efforts
  • Stay informed of software and hardware trends and innovations, especially in ML models, algorithms, and GPU architecture
  • Design and develop new groundbreaking AMD technologies
  • Participate in new ASIC and hardware bring-ups
  • Debug and fix existing issues, and research alternative, more efficient ways to accomplish the same work
  • Contribute to upstream open-source projects and develop technical relationships with peers, partners, and open-source communities
  • Share AI-assisted workflows and best practices across the team to raise overall engineering productivity
  • Critically evaluate AI-generated code and analysis for correctness and performance before relying on it

PREFERRED EXPERIENCE:

  • Strong programming background, C/C++ and Python preferred 
  • Experience with ML frameworks and inference engines such as PyTorch, vLLM, or llama.cpp
  • Experience with GPU programming (HIP, CUDA, or Triton) and performance optimization is a plus
  • Ability to write high-quality code with keen attention to detail
  • Experience with modern concurrent programming and threading APIs
  • Experience with Linux development
  • Experience with software development processes and tools such as debuggers, source code control systems (GitHub), and profilers
  • Effective communication and problem-solving skills
  • Motivating leader with good interpersonal skills

ACADEMIC CREDENTIALS:

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

Qualifications

Benefits offered are described:  AMD benefits at a glance.

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.

AMD may use Artificial Intelligence to help screen, assess or select applicants for this position.  AMD’s “Responsible AI Policy” is available here.

This posting is for an existing vacancy.

More about this job

Responsibilities

The Principal Software Development Engineer at AMD will analyze and speed up machine learning models on AMD GPUs, working across Python and C++ code. The role also works with AMD hardware specialists, contributes to open-source projects and helps lead the engineering team.

Requirements

Candidates need a strong C/C++ and Python programming background, experience with ML frameworks such as PyTorch, vLLM or llama.cpp, and a Bachelor's or Master's degree in a related engineering or computer science field. GPU programming, Linux, profiling and leadership experience are preferred.

Skills

  • C++
  • Python
  • PyTorch
  • vLLM
  • llama.cpp
  • ROCm
  • HIP
  • CUDA
  • Triton
  • GPU kernel development
  • Machine learning model optimization
  • Performance profiling
  • Benchmarking
  • Concurrent programming and threading APIs
  • Linux development
  • Debuggers
  • GitHub
  • Source code control
  • Open-source contribution
  • Hardware bring-up
  • Technical leadership
  • Communication
  • Problem solving
  • AI-assisted code review

Categories

  • Technology
  • Software
  • Engineering

Keywords

  • PyTorch
  • vLLM
  • llama.cpp
  • ROCm
  • HIP
  • CUDA
  • Triton
  • GPU kernels
  • C++
  • Python
  • machine learning inference
  • machine learning training
  • performance optimization
  • profiling
  • benchmarking
  • Linux
  • GitHub
  • open source
  • software engineering
  • software development engineer

Seniority

Senior

Tools

  • PyTorch
  • vLLM
  • llama.cpp
  • ROCm
  • HIP
  • CUDA
  • Triton
  • GitHub

Languages

  • English

Fields of study

  • Computer Science
  • Computer Engineering
  • Electrical Engineering

Report this job

Get in touch
MovoJobs

Contact us