====== Differences ====== This shows you the differences between two versions of the page.
cur-arch [2013/02/08 16:16] jthestness [CUDA syscalls (src/api/cuda_syscalls.*)] |
cur-arch [2016/02/19 08:53] (current) jthestness [Current gem5-gpu limitations] |
||
---|---|---|---|
Line 44: | Line 44: | ||
Currently supported CUDA calls are listed [[http://goo.gl/ysf55|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. |