The use of GPUs to implement general purpose computational tasks, known as GPGPU since fifteen years ago, has reached maturity. Applications take advantage of the parallel architectures of these devices in many different domains.
Over the last few years several works have demonstrated the effectiveness of the integration of GPU-based systems in the high level trigger of various HEP experiments. On the other hand the use of GPUs in the DAQ and low level trigger systems, characterized by stringent real-time constraints, poses several challenges.
In order to achieve such a goal we devised NaNet, a FPGA-based PCI-Express Network Interface Card design capable of: i) direct (zero-copy) data transfer with CPU and GPU (GPUDirect); ii) processing of incoming and outgoing data streams; iii) support for multiple link technologies (1/10/40GbE and custom ones).
The validity of our approach has been tested in the context of the NA62 CERN experiment, harvesting the computing power of last generation nVIDIA Pascal GPUs and of the FPGA hosted by NaNet to build in real-time refined physics-related primitives for the RICH detector (i.e. the Cerenkov rings parameters) that enable the building of more stringent conditions for data selection in the low level trigger.