Akita is a computer architecture simulation framework that aims at fast chip design prototyping. MGPUSim is an AMD GCN3 GPU simulator based-on the Akita framework. They are both developed with the Go programming language and are both open-sourced under the MIT license.
The goals of this tutorial include introducing the recently published computer architecture simulator framework, Akita, and introducing the multi-GPU simulator that is implemented with Akita, MGPUSim. We will engage the audience to let them work with the simulator. We will first give a brief tutorial of the Go programming language. The rest of the tutorial will be divided into 2 parts. First, we will analyze the general requirements of computer architecture simulators, followed by an introduction to Akita and the discussion of how simulators developed using Akita can easily satisfy the simulator requirements. We emphasize how programmers can write very simple simulator code, while the simulation engine can run the simulation on parallel hardware. Second, as a particular use case of Akita, we introduce MGPUSim, a multi-GPU simulator that simulates AMD-GCN3-based GPUs. We will introduce how MGPUSim models GPU architecture. We will highlight novel features in MPGPUSim, including the thread-dispatching process and the cache pipelines. By the end of the tutorial, participants will be able to use Akita and MGPUSim to support their research. The takeaways for participants will include: