User Tools

Site Tools


cur-arch

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

Link to this comparison view

cur-arch [2013/02/06 01:35]
morr
cur-arch [2016/02/19 08:53] (current)
jthestness [Current gem5-gpu limitations]
Line 1: Line 1:
 ===== Current gem5-gpu Software Architecture ===== ===== Current gem5-gpu Software Architecture =====
 Here is a diagram of the current gem5-gpu software architecture. Here is a diagram of the current gem5-gpu software architecture.
 +
 +{{ :current_gem5-gpu_architecture_1_31_2013-cropped.png?300 |}}
  
 ==== CudaCore (src/gpu/gpgpu-sim/cuda_core.*, src/gpu/gpgpu-sim/CudaCore.py) ==== ==== CudaCore (src/gpu/gpgpu-sim/cuda_core.*, src/gpu/gpgpu-sim/CudaCore.py) ====
Line 24: Line 26:
   * Manages GPU memory space page table   * Manages GPU memory space page table
  
-**NOTE: The last 4 items will be eventually moved to a CudaContext as described later**+**NOTE: The last 4 items will be eventually moved to a CudaContext as described [[future-arch|here]].**
  
 ==== Shader TLB (src/gpu/shader_tlb.*, src/gpu/ShaderTLB.py) ==== ==== Shader TLB (src/gpu/shader_tlb.*, src/gpu/ShaderTLB.py) ====
Line 41: Line 43:
   * Once trapped into CUDA syscalls, the appropriate CUDA call is executed, which may interface with the GPU for managing memory or kernel handling, PTX code handling or the copy engine   * Once trapped into CUDA syscalls, the appropriate CUDA call is executed, which may interface with the GPU for managing memory or kernel handling, PTX code handling or the copy engine
  
-Currently supported CUDA calls are listed here.+Currently supported CUDA calls are listed [[http://goo.gl/ysf55|here]]. 
 + 
 +==== Current gem5-gpu limitations ==== 
 +gem5-gpu models memory access to GPU global, const, and local memory through the gem5/Ruby memory hierarchy. Shared (scratch) memory accesses are modeled in GPGPU-Sim code. Atomic memory operations are supported to global and shared memory spaces. 
 + 
 +However, currently, there are a few noteworthy limitations to the GPU simulation capability in gem5-gpu: 
 +  * gem5-gpu does not model the CUDA texture memory space. This would require aligning GPGPU-Sim's address space identifiers for texture memory with memory allocations and accesses in gem5-gpu. 
 +  * Though GPGPU-Sim provides some support for asynchronous copy engine activity and multiple GPU kernel streams, this functionality has not yet been pulled into gem5-gpu.
cur-arch.1360136102.txt.gz · Last modified: 2013/02/06 01:35 by morr