[Remote] MTS Software Development Engineer
Note: The job is a remote job and is open to candidates in USA. AMD develops technologies for supercomputing, high-performance computing, cloud, and artificial intelligence applications. The MTS Software Development Engineer will research, design, develop, debug, and optimize systems-level software, including operating systems, compilers, GPU software, and distributed training and inference solutions, while collaborating with teams to deliver products on schedule.
Responsibilities
- Research, design, develop, and/or test operating systems-level software, compilers, and/or network distribution software for semiconductor operations, applying principles and techniques of engineering, and mathematical analysis
- Design, develop, troubleshoot and debug software programs for enhancements and new products
- Develop software and tools in support of design, infrastructure and technology platforms, including operating systems, compilers, routers, networks, utilities, databases, cloud-based and Internet related tools
- Determine hardware compatibility and/or influence hardware design
- Profile and analyze system and application performance to identify bottlenecks and areas for improvement
- Use profiling tools to understand and optimize hardware resource utilization
- Design and implement strategies for distributed model training and inference across multiple GPUs and nodes
- Work in an area of specialization to develop systems-level software, working on problems of complex scope where analysis of situations or data requires a review of a variety of factors
- Participate in code reviews, creating unit tests, authoring detailed documentation related to your work, and working with on-site and offshore teams to deliver the software solutions on schedule
- Partake in all phases of the software development
- Work on problems of moderate scope where analysis of situations or data requires a review of a variety of factors
- Exercise judgment within defined company procedures and practices to select methods, techniques and evaluation criteria for obtaining results
- Utilize knowledge of computers and electronics, including computer hardware and software, applications, and programming, as well as knowledge of the practical application of engineering science and technology
- Apply knowledge of engineering principles, best practices, and technologies to the design, development, and testing of various AMD systems and products
Skills
- Master's degree or foreign equivalent in Electrical and Computer Engineering, Computer Science, Computer Engineering or related field
- Two (2) years of experience in the job offered or a closely related engineering role
- Employer will alternatively accept a Bachelor's degree or foreign equivalent in Electrical and Computer Engineering, Computer Science, Computer Engineering or related field and five (5) years of progressive post baccalaureate experience in the job offered or a closely related engineering role
- Position requires two (2) years of experience in the following:
- CUDA
- Linux and Windows internals
- Deep learning frameworks (TensorFlow or PyTorch)
- C, C++, or Python
- Software debugging in macOS, Linux, or Unix; and
- Git and Github
- Position requires one (1) year of experience in the following:
- Low-level GPU kernel optimization
- Performance profiling and optimization tools
- Can work remotely
- Travel required: NO
Benefits
- Can work remotely.
Company Overview
Company H1B Sponsorship