2016 · 11 citations · 39 references
ComputingComputer EngineeringComputer ScienceComputer GraphicsMemoryParallel ComputingCache Behavior AnalysisCachingGraphics Processing Unit ArchitectureGraphics Processing Unit ComputingMemory HierarchyMemory Hierarchy DesignCache Access PatternsCache AnalysisCache ContentionCache LocalityMemory Access LocalityMemory Access PatternsMemory LocalityReuse Distance Analysis
Generally, cache is a bridge between CPU and main memory in order to narrow the gap of performance. As a throughput-oriented device, Graphics Processing Unit(GPU) has already integrated with cache, which is similar to CPU cores in order to exploit the locality of memory accesses. However, the applications in GPGPU computing exhibit distinct memory access patterns compared to the multi-core counterparts. Normally, the cache, in GPU cores, suffers from threads contention and resources over-utilization and few detailed works excavate the root of this phenomenon. It is significant for us to have a profound understanding of these behaviors. In this work, we adequately analyze the memory accesses from twenty benchmarks based on reuse distance theory and quantify their patterns. As a metric, the reuse distance can be employed to evaluate the cache performance and predict the access behaviors. We calculate the reuse distance for each memory access and plot them into different distributions according to the cache configuration. Through the analysis, we discover that most benchmarks either access cache in a streaming manner or reuse previous cache line in a short reuse distance. Streaming accesses barely benefit from cache since they have no data reuse. For the accesses with a short reuse distance, they can exploit the data locality in current cache design. Additionally, we discuss the optimization suggestions for all benchmarks which could improve their cache performance.
39
Cramming More Components Onto Integrated Circuits
Gordon E. Moore · Proceedings of the IEEE · 1998 · 5.8K citations
Rodinia: A benchmark suite for heterogeneous computing
Shuai Che, Michael Boyer, Jiayuan Meng et al. · 2009 · 3K citations
Analyzing CUDA workloads using a detailed GPU simulator
Ali Bakhoda, George L. Yuan, Wilson Wai Lun Fung et al. · 2009 · 1.7K citations
Dynamic Warp Formation and Scheduling for Efficient GPU Control Flow
Wilson Wai Lun Fung, Ivan Sham, George L. Yuan et al. · 2007 · 727 citations