====== Differences ====== This shows you the differences between two versions of the page.
|
future-arch [2013/02/06 01:09] morr created |
future-arch [2013/02/10 11:55] (current) jthestness Remove the proposed GPGPU-Sim interface |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | 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. |
| - | In order to more clearly define and connect GPU hardware with specific gem5-gpu programming constructs, we plan to move much of the functionality currently held in the CudaGPU out to a CudaContext class. This class will aggregate the system state associated with running a GPU kernel and will be used for the following functions: | + | {{ :future_gem5-gpu_architecture_1_31_2013_-cropped.png?300 |}} |
| - | Managing GPU memory space page table | + | |
| - | Interfacing with a copy engine which will copy data into and out of the GPU context’s memory space | + | |
| - | Storing and managing PTX code and variables for the context | + | |
| - | Managing the process of interfacing with CPU thread context through blocking | + | |
| - | Introduction of the CudaContext will require updating the CUDA syscall interface in gem5-gpu (little/no change is expected for libcuda). | + | * In order to more clearly define and connect GPU hardware with specific gem5-gpu programming constructs, we plan to move much of the functionality currently held in the CudaGPU out to a CudaContext class. This class will aggregate the system state associated with running a GPU kernel and will be used for the following functions: |
| + | * Managing GPU memory space page table | ||
| + | * Interfacing with a copy engine which will copy data into and out of the GPU context’s memory space | ||
| + | * Storing and managing PTX code and variables for the context | ||
| + | * Managing the process of interfacing with CPU thread context through blocking | ||
| + | * Introduction of the CudaContext will require updating the CUDA syscall interface in gem5-gpu (little/no change is expected for libcuda). | ||