GPU-Accelerated Pattern Matching using GPURegex

Graphics Processing Units (GPUs) have become an essential component of modern computing. Originally designed to accelerate the rendering of graphics in video games and other visual applications, GPUs have now found a wide range of uses beyond just gaming. GPUs are particularly useful in fields that require high-performance computing and can benefit from large-scale parallel processing. Some of the fields that commonly use GPUs for acceleration of processing include: (i) Artificial Intelligence and Machine Learning, (ii) Computer Vision, (iii) Data Science, (iv) High-Performance Computing, (v) Cryptocurrency Mining and (vi) Gaming. Whether you’re a gamer, a scientist, or a data analyst, understanding the power and potential of GPUs can help you harness their capabilities to accelerate your work and achieve performance gains that were once out of reach.

Image source:

In MARVEL, FORTH implements GPURegex, which is the component that performs high-performance processing of captioning data exported from audio collected by the MARVEL pilots. Specifically, after the anonymization procedure, the raw audio data is processed by the MARVEL component, namely Automated Audio Captioning (AAC) technology, owned by Tampere University (TAU). AAC produces the captions as they occur from the audio files. The exported captioning data are then forwarded as input to the GPURegex component. Besides captioning data, GPURegex receives as input the keywords that will be searched in order to indicate an event. Example keywords “siren” and “injury” could point to a post-accident situation, while “cheer” and “applause” could imply a celebration.

GPURegex reports events by enabling fast pattern matching against those captioning data based on the characteristics and capabilities of modern commodity hardware accelerators (e.g., high-end GPUs). GPURegex can support processing on top of different types of hardware devices (i.e., multicore CPUs and integrated GPUs) since it is implemented using the OpenCL programming framework[1] that enables uniform execution across heterogeneous devices. Utilizing hardware accelerators for pattern matching can significantly speed up the process of analyzing and processing large amounts of data. GPUs are designed to handle massive amounts of data computations in parallel, making them ideal for tasks that involve high-performance computing and large data sets. A GPU parallelizes the processing of the data, which means that multiple computations can be performed simultaneously. This can significantly speed up the data analysis and execution time required, enabling more efficient pattern matching.

Figure 1 The pairing of MARVEL's GPURegex and AAC components.

The GPURegex component, which is part of the optimized E2F2C processing and deployment subsystem, is described in Deliverable 4.2 “Security assurance and acceleration in E2F2C framework – initial version”. The deliverable includes a reference to the state-of-the-art, implementation details and evaluation results.


Blog signed by: Eva Papadogiannaki (FORTH team) 

Feel free to reach out using the MARVEL contact form or to find and talk to us on Twitter and LinkedIn and share your thoughts with us!

Key Facts

  • Project Coordinator: Dr. Sotiris Ioannidis
  • Institution: Foundation for Research and Technology Hellas (FORTH)
  • E-mail: 
  • Start: 01.01.2021
  • Duration: 36 months
  • Participating Organisations: 17
  • Number of countries: 12

Get Connected



This project has received funding from the European Union’s Horizon 2020 Research and Innovation program under grant agreement No 957337. The website reflects only the view of the author(s) and the Commission is not responsible for any use that may be made of the information it contains.