Parallel Colt: A High-Performance Java Library for Scientific Computing and Image Processing

  • Authors:
  • Piotr Wendykier;James G. Nagy

  • Affiliations:
  • Emory University;Emory University

  • Venue:
  • ACM Transactions on Mathematical Software (TOMS)
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Major breakthroughs in chip and software design have been observed for the last nine years. In October 2001, IBM released the world’s first multicore processor: POWER4. Six years later, in February 2007, NVIDIA made a public release of CUDA SDK, a set of development tools to write algorithms for execution on Graphic Processing Units (GPUs). Although software vendors have started working on parallelizing their products, the vast majority of existing code is still sequential and does not effectively utilize modern multicore CPUs and manycore GPUs. This article describes Parallel Colt, a multithreaded Java library for scientific computing and image processing. In addition to describing the design and functionality of Parallel Colt, a comparison to MATLAB is presented. Two ImageJ plugins for iterative image deblurring and motion correction of PET brain images are described as typical applications of this library. Performance comparisons with MATLAB, including GPU computations via AccelerEyes’ Jacket toolbox are also given.