Title of Presentation: Developing and Deploying Advanced Algorithms to Novel Supercomputing Hardware

Primary (Corresponding) Author: Volodymyr Kindratenko and Robert J. Brunner

Organization of Primary Author: NCSA, University of Illinois



The objective of our research is to demonstrate the practical usage and orders of magnitude speedup of real-world applications by using alternative technologies to support high performance computing. Currently, the main barrier to the widespread adoption of this technology is the lack of development tools and case studies that present a large barrier to nonspecialists that might otherwise develop applications that could leverage these technologies. By partnering with the Innovative Systems Laboratory at the National Center for Supercomputing (NCSA), we have obtained access to several novel technologies, including several Field Programmable Gate Array (FPGA) systems, NVidia Graphics Processing Units (GPUs), and the IBM Cell platform. Our goal is to not only demonstrate the capabilities of these systems, but to also serve as guides for others to follow in our path.

To date, we have explored the efficacy of the SRC MAP-C and MAP-E systems in supporting a two-point correlation function (i.e., the Fourier Transform of the Power Spectrum), which is used in a number of different scientific domains. In a brute force test, the FPGA based single-processor system has achieved a better than 100x speedup over a single-processor CPU system. We are now developing implementations of this algorithm on other platforms, including one using a GPU. Given the considerable efforts of the cosmology community in optimizing this class of algorithms, we are currently working to implement an optimized version of the basic family of correlation functions by using tree-based data structures. Finally, we are also exploring other algorithms, such as instance-based classifiers, power spectrum estimators, and higher-order correlation functions, that are also commonly used in a wide range of scientific disciplines.