GPU_inspiral
GPU_inspiral is a low-latency, high performance many-core implementation of the matched-filter gravitational wave search algorithm, developed by the RMKI Virgo Group.
The base is an architecture and vendor independent OpenCL code. The sub algorithms implemented so far are the following:
- template generation
- PSD calculation
- matched-filtering
- chi2 calculation
- clustering of events
The implementation makes use of the stream processing paradigm applied to the matched filter problem. Various atomic operations are mapped
to one or some of the kernel classes like map, reduce, fold, etcc... which are deeply studied and examined already in many-core architecture
programming. The complete pipeline runs on the GPU, no CPU - GPU communication happens, which gives an additional acceleration of the code..
The implementation is straightforward to extend to multi-GPU or GPU-cluster environment,
|
|
Performance
Performence test was done on a 2048 sec long data chunk, 500 template of 64 sec long was filtered. The code run on an Nvidia Tesla C2050. To produce the SNR time series it took ~17 sec
for gpu_inpiral
, this has to be compare with the ~40 minutes necessary for lalapps_inspiral
to produce the same result.
This results a speed-up factor of 2 orders of magnitude !
Documentation
There is some material available on this project:
- A poster about the project here
.
- A summary paper here
.
- Bence's Somhegyi MSc thesis (in hungarian) here
.
Complete description and documentation in english available soon !
Future plans
Instead of writing up a completely new analysis software we will incorporate the code developed as
gpu_inspiral
to be part of the
pyCBC project
.
Developers
- Gergely Debreczeni (Gergely.Debreczeni@rmki.kfki.hu)
- Bence Somhegyi