BeyondMoore tackles the challenge of adapting to the end of Moore's Law, which has driven computing progress for over 50 years. The vision of BeyondMoore is to pave the way for this transition by developing innovative solutions to the software challenges posed by the post-Moore's Law era. One key aspect of this transition is the increasing importance of heterogeneous computing, where systems consist of a diverse array of specialized hardware accelerators and memory technologies, rather than relying solely on a single, general-purpose processor.
Current approaches to programming such heterogeneous systems are often host-centric, meaning that the main processor orchestrates the entire execution, which can lead to scalability issues and limit the types of parallelism that can be effectively exploited. BeyondMoore seeks to overcome these limitations by proposing an accelerator-centric execution model, where accelerators have a greater degree of autonomy and can collaborate and communicate with each other without constant intervention from the host processor. We refer to this programming model as CPU-free execution, where the CPU is removed from the critical path of computation.
The execution model's objectives include enhancing programmer productivity, achieving high program performance, and eliminating host control. BeyondMoore aims to provide a rich set of programming abstractions. These abstractions will effectively hide the complexities of programming, making it easier for programmers to utilize the diverse hardware resources available. A critical aspect of BeyondMoore is the development of a heterogeneity-centric compiler. This compiler performs static code transformations and data movement optimizations tailored to complex heterogeneous systems. By optimizing code at compile-time, it improves performance and efficiency on diverse hardware architectures. BeyondMoore develops a low overhead runtime system that maximizes the utilization of heterogeneous resources. This runtime system extracts parallelism, schedules computation, and orchestrates data movement to fully exploit the capabilities of diverse hardware accelerators. To guide performance optimizations and monitor data movement effectively, BeyondMoore devices a comprehensive communication modeling tool, called Snoopie. This model proxies the cost of data movement and computation, providing valuable insights into resource utilization and performance bottlenecks. Lastly, BeyondMoore aims to demonstrate the effectiveness of its framework on important real-life applications spanning multiple domains. By showcasing its capabilities in practical scenarios, BeyondMoore validates its approach and highlights its potential impact across various fields.
BeyondMoore represents a forward-looking and ambitious endeavor. It builds upon previous successes, such as the utilization of CPU+GPU systems for Exascale computing, and now sets its sights on more tightly coupled heterogeneous systems for the Post-Moore era. By addressing the software challenges inherent in heterogeneous computing, the success of BeyondMoore could ensure continued computing progress beyond Moore's Law, benefiting science and technology.