Fast Correlation Function Calculator – A high-performance pair counting toolkit
Context. A novel high-performance exact pair counting toolkit called Fast Correlation Function Calculator (FCFC) is presented, which is publicly available at https://github.com/cheng-zhao/FCFC. Aims. As the rapid growth of modern cosmological datasets, the evaluation of correlation functions with observational and simulation catalogues has become a challenge. High-efficiency pair counting codes are thus in great demand. Methods. We introduce different data structures and algorithms that can be used for pair counting problems, and perform comprehensive benchmarks to identify the most efficient ones for real-world cosmological applications. We then describe the three levels of parallelisms used by FCFC – including SIMD, OpenMP, and MPI – and run extensive tests to investigate the scalabilities. Finally, we compare the efficiency of FCFC against alternative pair counting codes. Results. The data structures and histogram update algorithms implemented in FCFC are shown to outperform alternative methods. FCFC does not benefit much from SIMD as the bottleneck of our histogram update algorithm is mostly cache latency. Nevertheless, the efficiency of FCFC scales well with the numbers of OpenMP threads and MPI processes, albeit the speedups may be degraded with over a few thousand threads in total. FCFC is found to be faster than most (if not all) other public pair counting codes for modern cosmological pair counting applications.
READ FULL TEXT