A Hybrid CPU-GPU System for Stitching Large Scale Optical Microscopy ImagesWalid Keyrouz
Software and Systems Division, NIST
Tuesday, February 3, 2015 15:00-16:00,
Researchers in various fields are using optical microscopy to acquire very large images, 10000-200000 of pixels per side. Optical microscopes acquire these images as grids of overlapping partial images (thousands of pixels per side) that are then stitched together via software. Composing such large images is a compute- and data-intensive task even for modern machines. Researchers compound this difficulty further by obtaining time-series, volumetric, or multiple channel images with the resulting data sets now having or approaching terabyte sizes.
We present a scalable hybrid CPU-GPU implementation of image stitching that processes large image sets at near interactive rates. Our implementation scales well with both image sizes and the number of CPU cores and GPU cards in a machine. It processes a grid of 42 x 59 tiles into a 17k x 22k pixels image in 43 s (end-to-end execution times) when using one NVIDIA Tesla C2070 card and two Intel Xeon E-5620 quad-core CPUs, and in 29 s when using two Tesla C2070 cards and the same two CPUs. It also composes and renders the composite image without saving it in 15 s. In comparison, ImageJ/Fiji, which is widely used by biologists, has an image stitching plugin that takes more than 3.6 h for the same workload despite being multithreaded and executing the same mathematical operators; it composes and saves the large image in an additional 1.5 h.
This implementation takes advantage of coarse-grain parallelism. It organizes the computation into a pipeline architecture that spans CPU and GPU resources and overlaps computation with data motion. The implementation achieves a nearly 10x performance improvement over our optimized non-pipeline GPU implementation and demonstrates near-linear speedup when increasing CPU thread count and increasing number of GPUs.
In the talk, we will also describe the variant of the image stitching algorithm for achieving more accurate results and outline the most recent benchmarks.
Speaker Bio: Walid has a Bachelor of Engineering degree from the American University of Beirut and Master’s and Ph.D. degrees from Carnegie-Mellon University, all in Civil Engineering. He worked at Schlumberger in the Lab for Computer Science in Austin, TX, and taught at the Lebanese American University and American University of Beirut in Lebanon. He joined NIST in August 2011. He has worked on and off in HPC since his grad school days.
Contact: M. Mascagni
Note: Visitors from outside NIST must contact Cathy Graham; (301) 975-3800; at least 24 hours in advance.