SIMPL: A Pattern Language for Writing Efficient Kernels on GPGPU
Davide Barbieri, Valeria Cardellini, Salvatore Filippone · 2015
Graphics processing units (GPUs) have become an integral part of both High Performance Computing (HPC) and desktop systems. To fully exploit their potential, algorithms should be specifically designed to fit the General Purpose computing on GPU (GPGPU) programming paradigm and, above all, an optimized implementation should be provided. In the past, pattern languages were proven to be an effective way to communicate experience and help researchers and developers to reduce the learning curve over a particular expertise field. In this paper we describe SIMPL, a pattern language dedicated to GPGPU computing. We discuss in detail three example patterns enabling optimal performance results on various classes of applications.