/Compiler Framework for Compute-near-Memory Applications

Compiler Framework for Compute-near-Memory Applications

Master projects/internships | More than two weeks ago

Going from compute-centric to memory-centric.

Systems that deploy computational logic near memory can overcome typical von Neumann-based bottlenecks (e.g. memory wall) by limiting the amount of data transferred to central compute areas in a system. With modern compute-near memory (CnM) systems still in their infancy and typical programming paradigms focused on centralized computing however, new work must be undertaken to build compilation tools that ease the integration of CnM programming paradigms into conventional applications.

During this research internship, you will develop a compilation framework with which high performance programmers can easily transform CPU-centric algorithms and applications into CnM-enabled, distributed applications that leverage bank-level parallelism in RAM to lower data transaction overheads in future CnM-enabled systems.

Key responsibilities will include:

  • Conducting detailed studies into state-of-the-art compilation frameworks and compiler extensions for heterogeneous systems.
  • Defining and analysing CnM ISA semantics and implementations.
  • Collaborating with technologists to propose and implement features and constraints in CnM hardware.
  • This role is ideal for someone who is deeply interested in hardware-software codesign, software engineering, and working in an interdisciplinary environment that values innovation, creativity, and real-world impact.

Profile: You are analytical and detail-oriented, with a strong interest in compilers and ISAs. You are adept at or have a keen interest in programming, static and dynamic analysis, and performance evaluation tools.

Background: Currently pursuing or already have a degree in computer engineering, computer science, or informatics. Has some background in operating systems (e.g. Linux), algorithms, parallel programming, or accelerators. Knowledge of kernel programming and scripting languages is an advantage.

Type of project: Internship, Thesis

Required degree: Master of Science, Master of Engineering Technology

Required background: Computer Science

Duration: 3 to 9 months

Supervising scientist(s): For more information on this topic, please contact Leandro M. Giacomini Rocha (leandro.m.giacominirocha@imec.be) and Joshua Klein (joshua.klein@imec.be).

Who we are
Accept marketing-cookies to view this content.
Cookie settings
imec's cleanroom
Accept marketing-cookies to view this content.
Cookie settings

Send this job to your email