User Tools

Site Tools



This shows you the differences between two versions of the page.

Link to this comparison view

future-arch [2013/02/08 18:09]
future-arch [2013/02/10 11:55] (current)
jthestness Remove the proposed GPGPU-Sim interface
Line 1: Line 1:
-===== Proposed Future GPGPU-Sim Interface ===== 
-Since gem5 (Ruby) models the memory hierarchy, future revisions of GPGPU-Sim could more rigorously define the interface between the shader pipeline and the memories. In particular, neither the fetch or memory access (ldst_unit) pipeline stages in GPGPU-Sim export a clear API for connecting with caches. We propose a more rigorous use of pipeline registers to communicate to and from the fetch and ldst units (e.g. see gem5/src/cpu/inorder/*). These units can then be implemented either within or outside GPGPU-Sim, depending on integration aims. If the desire is to implement the fetch and/or ldst units within GPGPU-Sim but to allow tight integration with gem5, we recommend that GPGPU-Sim export the gem5 port interface (gem5/src/mem/port.*) to be connected to the gem5 memory system. 
-All of the files in gem5-gpu/gpu/gpgpu-sim are thin wrappers around GPGPU-Sim objects. We foresee generalizing these interfaces with C++ inheritance. Depending on how this is implemented, these wrappers could live in either gem5-gpu or GPGPU-Sim. 
-While generalizing these interfaces the future gem5-gpu software architecture vision detailed below will likely be followed. In particular, the CudaContext - a construct orthogonal to the choice of GPU simulator - will be moved out of CudaGPU to slim it down. 
 ===== Future gem5-gpu Software Architecture Vision ===== ===== Future gem5-gpu Software Architecture Vision =====
 Here is a diagram of the future gem5-gpu software architecture. Here is a diagram of the future gem5-gpu software architecture.
future-arch.txt ยท Last modified: 2013/02/10 11:55 by jthestness