DiFX-2: A More Flexible, Efficient, Robust, and Powerful Software Correlator - Deller, A. T.; Brisken, W. F.; Phillips, C. J.; Morgan, John; Alef, W.; Cappallo, R.; Middelberg, E.; Romney, J.; Rottmann, H.; Tingay, Steven; Wayth, Randall (University of Chicago Press, 2011)
Software correlation, where a correlation algorithm written in a high-level language such as C++ is run on commodity computer hardware, has become increasingly attractive for small-to medium-sized and/or bandwidth-constrained radio interferometers. In particular, many long-baseline arrays (which typically have fewer than 20 elements and are restricted in observing bandwidth by costly recording hardware and media) have utilized software correlators for rapid, cost-effective, correlator upgrades to allow compatibility with new, wider-bandwidth, recording systems and to improve correlator flexibility. The DiFX correlator, made publicly available in 2007, has been a popular choice in such upgrades and is now used for production correlation by a number of observatories and research groups worldwide. Here, we describe the evolution in the capabilities of the DiFX correlator over the past three years, including a number of new capabilities, substantial performance improvements, and a large amount of supporting infrastructure to ease use of the code. New capabilities include the ability to correlate a large number of phase centers in a single correlation pass, the extraction of phase-calibration tones, correlation of disparate but overlapping sub-bands, the production of rapidly sampled filter-bank and kurtosis data at minimal cost, and many more. The latest version of the code is at least 15% faster than the original (and in certain situations, many times this value). Finally, we also present detailed test results validating the correctness of the new code.