Staff Software Development Engineer
Indexed description
The GPU libraries team helps develop the ROCm software ecosystem, which powers the ultimate computing experience provided by our AMD Instinct GPUs. Highly tuned libraries are developed by large teams using C++, Python, HIP, and low-level GPU assembly programming. To grow these libraries with rich features and support customers at scale, development must follow great software design principles while striving for simplicity, ease-of-maintenance, and extensibility.
The Successful Candidate For This Role Will Be An Integral Part Of Our GPU Matrix & Tensor Operations Team By Helping With New Feature Development, Refactoring Code To Improve Modularity, Debugging, And Optimizing Performance. Relevant Open-source Projects Include:
https://github.com/ROCm/rocm-libraries/tree/develop/projects/hipblaslt
https://github.com/ROCm/rocm-libraries/tree/develop/projects/rocblas
THE PERSON:
- Possess excellent software skills in Python and C++
- Have low-level software optimization experience
- Have strong desire and ability to solve problems quickly
- Be able to schedule, and work on tasks independently
- Have excellent written and verbal communication skills
- Be flexible and accept new challenges
- Plan, design, and refactor existing codebases to improve maintainability and extensibility across multiple target hardware configurations
- Develop new software designs to integrate a variety of code optimization patterns in a clear modular fashion in code generators
- Identify and help resolve functional and performance issues by working closely with libraries development teams and other internal engineering teams
- Apply a data minded approach to target optimization efforts
- Stay informed of software and hardware trends and innovations, especially pertaining to algorithms and architecture
- Design and develop new groundbreaking AMD technologies
- Participating in new ASIC and hardware bring ups
- 3+ years software development experience
- Proficient in C/C++ and Python programming, employing best software design practices
- Experience working with large-scale software development projects and understanding of PC architecture
- Proven experience in code optimizations for any architectures such as CPU/GPU/FPGA
- GPU software development or validation involving HIP, CUDA, or OpenCL
- Experience in system-level performance evaluations and debugging
- Ability to closely interact with architects, developers, and tuning teams to maintain and release production software
- Great communication and teamwork skills
- Bachelor’s or Master's degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent
THE PERSON
You are accustomed to working in a dynamic, geographically distributed agile team, where partnership and collaboration are paramount. You possess excellent written and verbal communication skills, strong attention to detail, and the ability to express your work in a clear, cohesive fashion. You are results-oriented and accustomed to tight deadlines and changing priorities. Most importantly, you are constantly thinking of ways to improve performance of software and hardware.
KEY RESPONSIBILITIES:
- Test and validate ROCm libraries on the newest AMD GPUs in pre-silicon and post-silicon scenarios.
- Work with the AGS Library software development teams to analyze problems and validate solutions.
- Provide code quality analyses and work with various teams to address technical debt.
- Benchmark, profile and optimize code to maximize throughput on single and multi-GPU systems.
- Work with key technical experts across AMD and with our partners and customers to improve ROCm applications, libraries, and tools.
- Background in debugging software in simulation and emulation environments, and on early hardware samples.
- In depth knowledge of C, C++ and assembly.
- Understanding of GPU architecture and GPU programming using HIP or CUDA.
- Automation of configuration environments, test execution and data collection.
- Use of AI for rapid code analysis and improvements.
- B.Sc. or B.Eng. degree in Computer Science, Software Engineering, Electrical Engineering, Applied Mathematics, or equivalent
- Advanced degrees, such as M.Sc., M.Eng., Ph.D. are preferred.
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.
Create a free Caio profile to unlock more results and save your role and location preferences.
Unlock free search