Pulsars are rapidly rotating neutron stars whose signal is received on Earth periodically. They are relatively newly discovered astronomical objects (the first was discovered only in 1967) and elusive ones: so far only two thousand of them are know. Their properties, especially their big mass and precise period, can be used to probe space and gravitation. This makes them important not only for astronomers, but for physicists and other scientists as well: the discovery of the first binary pulsar by Hulse and Taylor in 1973  has been so important for proving general relativity and other aspects of gravitation that they won the 1993 Nobel prize for physics. Thus, being able to discover new pulsars is an important goal of current radio astronomy.
The process of finding a new pulsar is, however, difficult and time consuming: it involves a brute-force search over hundreds of thousands of parameter combinations. Moreover, the amount of data that needs to be searched is huge: the input of a typical observation using a radio telescope like LOFAR  is in the order of hundreds of terabytes. During the process petabytes of intermediate results are produced and analyzed. Thus, searching for pulsars clearly is a big data problem.
The challenges are not only limited to the amount of data that needs to be processed: the signal received from a pulsar is usually quite faint and can be completely covered by radio frequency interference and, even when there is no artificial noise, a long integration time may be necessary to properly detect its profile. There is, furthermore, the inter-stellar medium to take into account: typical effects of the interaction between the emission and the medium are dispersion, scintillation and scattering. And this is not the only interaction: if the pulsar is orbiting with a companion of some kind, the interaction between them modifies the signal and makes it even more difficult to detect from Earth.
We propose to reduce the time necessary to search for new pulsars using many-core accelerators, e.g. modern GPUs. We design and implement the whole searching pipeline, using OpenCL to build the three most important computational kernels of this application: dedispersion, folding and the signal to noise computation. An overview of our pulsar searching pipeline is presented in Figure 1. Using our prototypical tool we are able to find pulsars in test data sets generated with Duncan Lorimer’s SIGPROC. To overcome one of the main problems of using accelerators, i.e. the expensive memory transfers between device and host memory, we keep all the intermediate results in device memory. Moreover we use auto-tuning, a technique that we know to be effective with many-core architectures , to identify which parameters are the best suited for each specific device used to run our prototype.
- 1.Hulse, R.: The discovery of the binary pulsar. Bulletin of the American Astronomical Society 26, 971–972 (1994)Google Scholar
- 2.Romein, J., Mol, J., van Nieuwpoort, R., Broekema, P.: Processing LOFAR Telescope Data in Real Time on a Blue Gene/P Supercomputer. In: URSI General Assembly and Scientific Symposium (URSI GASS 2011), Istanbul, Turkey (August 2011)Google Scholar
- 3.Sclocco, A., Varbanescu, A.L., Mol, J.D., van Nieuwpoort, R.V.: Radio astronomy beam forming on many-core architectures. Parallel and Distributed Processing Symposium, International, 1105–1116 (2012)Google Scholar