An overview of GPU Computing Research in the Netherlands: Results from the NIRICT GPGPU Reconnaissance workshop
Marieke Huisman, Ana Lucia Vărbănescu, Ben van Werkhoven, Anton Wijs · University of Twente Research Information · 2018
Results from the NIRICT GPGPU Reconnaissance workshop seriesThe goal of our NIRICT GPGPU Reconnaissance project was to understand the breadth and depth of the GPGPU research actively done in The Netherlands.Thus, we set out to provide all the stakeholders -beneficiaries and designers/developers alike -a platform to showcase their work.Based on these showcases, we can now sketch a landscape of the Dutch GPGPU research.This document presents this landscape, but it also goes beyond it by providing a vision on how GPGPU research can be strengthened in the near future.Ultimately, this vision should help the integration of GPGPU research in the national and international research roadmaps.Motivation Graphics processing units (GPUs) were initially designed to support computer graphics.Their specific architecture provides high processing power and massive parallelism, which allows for efficient solving of typical graphics-related tasks.However, it was soon realised that such architectures are also suitable for many other computational tasks, which led to the development of the area of GPGPU (General Purpose GPU) programming.As a result, GPUs are now used in many different fields, including numerical simulation, media processing, medical imaging, eye-tracking, genomics, fluid dynamics, and machine learning.Complex GPU applications typically need to be programmed at a relatively low level, since they require expert knowledge on the specific hardware used.Given the importance, range and increasing complexity of GPGPU applications today, the main research challenge for GPGPU programming is that we urgently need systematic techniques that can optimise given GPGPU applications without requiring expert knowledge.This would allow GPGPU applications to be developed at a more convenient higher abstraction level.These techniques should offer a predictable performance increase, while preserving the original behaviour.Research on performance and correctness of GPGPU applications in the Netherlands is spread around, without much collaboration.However, this is a fast growing area, with high potential for important results and high visibility.Therefore, we organised a series of workshops to establish closer connections between the different researchers working in this area, with the goal to strengthen Dutch research on performance and correctness of GPGPU applications.This report is based on the outcomes of these workshops, providing an outlook on how to further develop research on GPGPU-related topics.as well as discussing how this research can be added to the national and European research agendas.The programs for the different workshops are available at http://fmt.ewi.utwente.nl/NIRICT_GPGPU/events.html. Geographic spreadResearch in GPU Computing is carried out throughout the Netherlands.TU Eindhoven has a long history of research in verifying the correctness of software designs by means of model checking.In recent years, Anton Wijs is conducting research on using GPUs to speed up model checking, as well as using model checking to verify GPU programs.At the University of Twente, Marieke Huisman is leading a research group on the topic of software reliability.One of her research interests is the software verification of concurrent programs that include GPU code.At the University of Amsterdam, Ana Varbanescu is researching performance models and portability of heterogeneous computing applications.The Netherlands eScience Center is performing research in testing and auto-tuning GPU applications, which is then applied in the development of GPU applications in many domains, including radio astronomy, microscopy, digital forensics, and oceanography.