A Multi-Threaded Fast Convolver for Dynamically Parallel Image Filtering
<|reference_start|>A Multi-Threaded Fast Convolver for Dynamically Parallel Image Filtering: 2D convolution is a staple of digital image processing. The advent of large format imagers makes it possible to literally ``pave'' with silicon the focal plane of an optical sensor, which results in very large images that can require a significant amount computation to process. Filtering of large images via 2D convolutions is often complicated by a variety of effects (e.g., non-uniformities found in wide field of view instruments). This paper describes a fast (FFT based) method for convolving images, which is also well suited to very large images. A parallel version of the method is implemented using a multi-threaded approach, which allows more efficient load balancing and a simpler software architecture. The method has been implemented within in a high level interpreted language (IDL), while also exploiting open standards vector libraries (VSIPL) and open standards parallel directives (OpenMP). The parallel approach and software architecture are generally applicable to a variety of algorithms and has the advantage of enabling users to obtain the convenience of an easy operating environment while also delivering high performance using a fully portable code.<|reference_end|>
@article{kepner2001a,
    title={A Multi-Threaded Fast Convolver for Dynamically Parallel Image Filtering},
    author={Jeremy Kepner (MIT Lincoln Laboratory)},
    journal={Journal of Parallel and Distributed Computing archive Volume 63
  Issue 3, March 2003 Pages 360 - 372},
    year={2001},
    doi={10.1016/S0743-7315(02)00054-0},
    archivePrefix={arXiv},
    eprint={astro-ph/0107084},
    primaryClass={astro-ph cs.DC}
}