KEY RESPONSIBILITIES
- Architectural Design: Own architectural design and development of GPU software components, ensuring alignment with industry standards and best practices.
- Technical Leadership: Act as one of the subject matter experts in GPU technologies, providing guidance and mentorship to junior engineers in the team on complex technical challenges.
- Work with PMTS and develop strong technical capabilities in the Team
- Software Development: Design, write, and deliver high-quality open software solutions that enhance GPU performance and capabilities. This includes developing drivers, APIs, and other critical software components.
- Research and Innovation: Conduct research to explore new technologies and methodologies that can improve GPU performance and efficiency. Propose innovative solutions to meet evolving market demands.
- Collaboration: Work collaboratively with cross-functional teams, including hardware engineers, system architects, and product managers, to ensure successful integration of GPU technologies into broader systems.
- Documentation and Standards: Develop comprehensive technical documentation and establish coding standards to ensure maintainability and scalability of software products.
THE PERSON
We are looking for a highly motivated and skilled Software Engineer to join our team.You will work with a team of Software Engineers to enable models, libraries, and applications for Instinct GPUs in both on-prem and Cloud environments.Candidates should also have experience analyzing and optimizing the performance of software.Must be self-motivated and possess the ability to work well within a team environment.
Minimum 12 years of experience required.
QUALIFICATIONS
- BE / B-Tech with several years of related experience or M-Tech with years of related experience or PhD with years of related experience in Computer Science or Computer Engineering or related equivalent.
- Overall 12 years of experience
EXPERIENCE- MUST HAVE:
- Strong C++ programming skills
- Good Python programming skills
- Performance analysis skills for both CPU and GPU
- Good knowledge of AI/ML Frameworks and Architecture
- Basic GPU kernel programming knowledge
- Experience with software engineering methodologies such as Agile, Scrum, Kanban.
- Experience in all the phases of software development, from requirement gathering, analysis, design, development, testing to final release.
- Experience providing clear and timely communication related to status and other key aspects of the project to leadership team
- Experience developing software in an end customer product delivery environment.
- Experience with open-source software development including collaboration with community maintainers and submitting contributions.
- Excellent analytical and problem-solving skills.
- Ability to work independently and as part of a team.
- Willingness to learn skills, tools, and methods to advance the quality, consistency, and timeliness of AMD software products.
Experience-Good to have:
- Experience with GPU kernel programming using CUDA, HIP or OpenCL.
- Experience in implementing and optimizing parallel methods on GPU accelerators (NCCL/RCCL, OpenMP, MPI)
- Experience in PyTorch, TensorFlow, JAX
- Experience with Singularity, Docker, and/or Kubernetes.
Preferred attributes
- Proven track record of leading complex technical projects from conception through delivery.
- Excellent problem-solving skills with the ability to work independently as well as collaboratively within a team environment.
- Strong communication skills to effectively convey complex technical concepts to both technical and non-technical stakeholders