Research Scientist Compiler/Microarchitecture team
Yorktown Heights, USA IT development
Job description
Introduction
IBM Research takes responsibility for technology and its role in society. Working in IBM Research means you'll join a team who invent what's next in computing, always choosing the big, urgent and mind-bending work that endures and shapes generations. Our passion for discovery, and excitement for defining the future of tech, is what builds our strong culture around solving problems for clients and seeing the real-world impact that you can make.
IBM's product and technology landscape includes Research, Software, and Infrastructure. Entering this domain positions you at the heart of IBM, where growth and innovation thrive.
Your Role and Responsibilities
Research and development of hardware and software solutions targeting inference and training of AI applications on specialized accelerators. Exercise expertise in AI applications, computer architecture, and compilers to design
hardware and software optimizations to efficiently map operations to AI hardware.
· Perform research and propose new concepts in compilers to exercise the computer architecture features
· Implement the compiler optimizations to generate programs that exercise the computer architecture features.
· Implement software simulators to evaluate the performance benefits across different use-cases and determine the hardware and software bottlenecks to improve performance.
· Perform a cost-benefit analysis using the cost models and the simulator performance and propose changes to the hardware and software to improve the trade-offs.
· Develop new algorithms to enable the applications to exercise the new hardware systems and the software
· Engage with other researchers to debate and discuss merits of existing and proposed computing systems architectures.
· Prepare internal reports and presentations to summarize research progress.
· Meet with product hardware teams to understand future hardware roadmap and align research to provide cutting-edge solutions.
· Read and assess external work published in academic conferences and journals. Compare internal solution's competitiveness relative to them.
· Write papers to submit to academic conferences and journals for external recognition
Required Technical and Professional Expertise
· Research experience in graduate school demonstrating ability to propose new concepts in computer architecture/compilers/algorithms
· Strong background in SoC architecture/microarchitecture and compilers
· Proficiency in C, C++ and Python programming
· Well versed with state-of-the-art software collaboration practices
Preferred Technical and Professional Expertise
· Experience with the use and adaptation of Deep Learning frameworks is preferred
· Experience programming GPUs targeting AI applications