Abstract
The development of parallel-processing image-analysis codes is generally a challenging task that requires complicated choreography of interprocessor communications. If, however, the image-analysis algorithm is embarrassingly parallel, then the development of a parallel-processing implementation of that algorithm can be a much easier task to accomplish because, by definition, there is little need for communication between the compute processes. I describe the design, implementation, and performance of a parallel-processing image-analysis appli- cation, called CRBLASTER, which does cosmic-ray rejection of CCD images using the embarrassingly parallel L.A.COSMIC algorithm. CRBLASTER is written in C using the high-performance computing industry standard Message Passing Interface (MPI) library. CRBLASTER uses a two-dimensional image partitioning algorithm that partitions an input image into N rectangular subimages of nearly equal area; the subimages include sufficient additional pixels along common image partition edges such that the need for communication between computer processes is elimi- nated. The code has been designed to be used by research scientists who are familiar with C as a parallel-processing computational framework that enables the easy development of parallel-processing image-analysis programs based on embarrassingly parallel algorithms. The CRBLASTER source code is freely available at the official applicationWeb site at the National Optical Astronomy Observatory. Removing cosmic rays from a single 800 × 800 pixel Hubble Space Telescope WFPC2 image takes 44 s with the IRAF script lacos_im.cl running on a single core of an Apple Mac Pro computer with two 2.8 GHz quad-core Intel Xeon processors. CRBLASTER is 7.4 times faster when processing the same image on a single core on the same machine. Processing the same image with CRBLASTER simultaneously on all eight cores of the same machine takes 0.875 s—which is a speedup factor of 50.3 times faster than the IRAF script. A detailed analysis is presented of the performance of CRBLASTER, using between 1 and 57 processors on a low-power Tilera 700 MHz 64 core TILE64 processor.
Cite
CITATION STYLE
Mighell, K. J. (2010). CRBLASTER: A Parallel-Processing Computational Framework for Embarrassingly Parallel Image-Analysis Algorithms. Publications of the Astronomical Society of the Pacific, 122(896), 1236–1245. https://doi.org/10.1086/656566
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.