author	 = {Nabeeh Jumah and Julian Kunkel},
	title	 = {{Optimizing Memory Bandwidth Efficiency with User-Preferred Kernel Merge}},
	year	 = {2019},
	month	 = {07},
	editor	 = {},
	publisher	 = {Springer},
	series	 = {Lecture Notes in Computer Science},
	conference	 = {COLOC - Workshop on Data Locality},
	location	 = {Göttingen, Germany},
	isbn	 = {to appear},
	issn	 = {1611-3349},
	abstract	 = {Earth system modeling computations use stencils extensively while running many kernels. Optimal coding of the stencils is essential to efficiently use memory bandwidth of an underlying hardware. This is important as stencil computations are memory bound.  Even when the code within one kernel is written to optimally use the memory bandwidth, there could be still opportunities to further do some optimization at the inter-kernel level. Stencils naturally exhibit data locality, and executing a sequence of stencils within separate kernels could waste caching capabilities. Merging the kernels allows to improve the use of the caches.  Some tools were developed to automatically fuse loops instead of the manual optimization. However, scientists still apply fusion in different levels of loop nests manually to find optimal performance. To allow scientists to still apply loop fusions equal to manual loop fusion, we develop a technique to automatically analyse the code and allow scientists to apply there preferred fusions without doing the effort of dependency analysis and code transformation. Our work is done using GGDML language extensions which enables performance portability over different architectures using a single source code.},