Principal Open Source AI/ML Solutions Engineer
amd
Job Description
- 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.
- 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.
EXPERIENCE - Must have :
- Strong C++ and 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 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.
- Strong communication skills to effectively convey complex technical concepts to both technical and non-technical stakeholders.
- 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.
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.