Accelerating SIFT On Hybrid Clusters (ACM)
We describe an approach to parallelizing SIFT and other scale-space-based feature transformation algorithms. By partitioning the workload in a novel fashion, our approach can take advantage of all forms of parallelism: the shared-memory parallelism of threaded programming, the distributed-memory approach of cluster programming, and GPU-based acceleration. Also described is an implementation of this approach called SOHC, or SIFT on hybrid clusters, which can take advantage of hybrid clusters to accelerate the transformation of arbitrarily large images into sets of features. SOHC is both portable and scalable: it can run on systems ranging from a desktop without any GPU hardware, to a cluster of multi-GPU nodes, with the only difference being time to complete the extraction. It is the only implementation of SIFT capable of operating directly (i.e. without dropping features at tile boundaries) on gigapixel-sized images often encountered in geospatial applications.
Paper available at ACM.