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/15 13:43]
jthestness Add notes about current simulation infrastructure limitations
cur-arch [2016/02/19 08:53] (current)
jthestness [Current gem5-gpu limitations]
Line 46: Line 46:
  
 ==== Current gem5-gpu limitations ==== ==== Current gem5-gpu limitations ====
-Currently, there are a few noteworthy limitations to the GPU simulation capability in gem5-gpu: +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. 
-  * gem5-gpu models memory access to GPU global and const memory through the gem5/Ruby memory hierarchy. Shared memory accesses are modeled in GPGPU-Sim code + 
-  * GPU local memory access is NOT currently supported in gem5-gpu. To lift this restriction will require coordinating GPGPU-Sim local memory allocation with gem5-gpu handling of the global memory space +However, currently, there are a few noteworthy limitations to the GPU simulation capability in gem5-gpu: 
-  * There are known (but very infrequent) bugs in GPU memory allocation in gem5-gpu. In particular, the CUDA compiler, nvcc, has statically defined regions of the GPU virtual address space that are reserved for shared and local addresses in order to implement generic addressing. Both when running syscall emulation mode and full-system gem5-gpu simulation, the virtual memory space allocation (in gem5/src/arch/<architecture>/<os>/syscalls.cc and in Linuxrespectively) may not respect these nvcc-imposed boundaries. GPU accesses to incorrect spaces in gem5-gpu may result in incorrect data being accessed or address translation failures.+  * 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 streamsthis functionality has not yet been pulled into gem5-gpu.
cur-arch.1360957435.txt.gz · Last modified: 2013/02/15 13:43 by jthestness