====== 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). |