Software Engineer - EDA Algorithms (FPGA)
Role details
Job location
Tech stack
Job description
AMDis looking for aspecializedsoftware engineer who is passionate about improving the performance of key applications and benchmarks.You will be a member of a core team ofincredibly talentedindustry specialists and will work with the very latest hardware and software technology., * Responsible for the design, implementation, analysis, and test of FPGA physical implementation tools which include optimization, placement, timing, and routing.
- Perform research and development of novel algorithms and optimization of existing algorithms to improve quality of results (QOR), runtime, and memory.
- Conduct research and development of novel placement/routing and optimization techniques for next-generation FPGAs.
- 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.
- Debugging/fix existing issues and research alternative, more efficient ways to accomplish the same work.
- Develop technical relationships with peers and partners., AMD may use Artificial Intelligence to help screen, assess or select applicants for this position. AMD's "Responsible AI Policy" is available here.
Requirements
The ideal candidate should be passionate about software engineering and possess leadership skills to drive sophisticated issues to resolution. Able to communicate effectively and work optimally with different teams across AMD., * Strong object-oriented programming background, C/C++ preferred.
- Strong knowledge of Data structures, Graph Theory and Algorithms.
- Ability to write high quality code with a keen attention to detail.
- Experience with modern concurrent programming and threading APIs.
- Experience with software development processes and tools such as debuggers, source code control systems like GitHub, Perforce and profilers is a plus.
- Effective communication and problem-solving skills.
- Knowledge of EDA Algorithms and Distributed Computing is a plus.
- Knowledge of Digital Design and FPGA is a plus.
- Knowledge of optimization techniques like ILP is a plus.
ACADEMIC CREDENTIALS:
- Bachelor's or Master's degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent.
#LI-DR2