Buelow, Max vonGuthe, StefanFellner, Dieter W.Umetani, NobuyukiWojtan, ChrisVouga, Etienne2022-10-042022-10-0420221467-8659https://doi.org/10.1111/cgf.14671https://diglib.eg.org:443/handle/10.1111/cgf14671Memory performance is a crucial bottleneck in many GPGPU applications, making optimizations for hardware and software mandatory. While hardware vendors already use highly efficient caching architectures, software engineers usually have to organize their data accordingly in order to efficiently make use of these, requiring deep knowledge of the actual hardware. In this paper we present a novel technique for fine-grained memory profiling that simulates the whole pipeline of memory flow and finally accumulates profiling values in a way that the user retains information about the potential region in the GPU program by showing these values separately for each allocation. Our memory simulator turns out to outperform state-of-theart memory models of NVIDIA architectures by a magnitude of 2.4 for the L1 cache and 1.3 for the L2 cache, in terms of accuracy. Additionally, we find our technique of fine grained memory profiling a useful tool for memory optimizations, which we successfully show in case of ray tracing and machine learning applications.CCS Concepts: Hardware → Simulation and emulation; Computing methodologies → Graphics processors; Theory of computation → Program analysisHardware → Simulation and emulationComputing methodologies → Graphics processorsTheory of computation → Program analysisFine-Grained Memory Profiling of GPGPU Kernels10.1111/cgf.14671227-2359 pages