ImageCL: An image processing language for performance portability on heterogeneous systems

Modern computer systems typically conbine multicore CPUs with accelerators like GPUs for inproved performance and energy efficiency. However, these systems suffer from poor performance portability - code tuned for one device must be retuned to achieve high performance on another. Image processing is increasing in importance, with applications ranging from… (More)