On the Computer Generation of Adaptive Numerical Libraries

Abstract

Very fast runtime is crucial in many applications in scientific computing, multimedia processing communication, and control. Most of these applications spend the bulk of the computation in wellknown mathematical functions which are provided by highly optimized libraries. The development and maintenance of these libraries has become extraordinarily difficult. Optimal performance requires multiple-core balancing, careful use of vector instruction sets, and locality optimization. These optimizations require highly-skilled programmers and are often platform-specific, which means maintenance is a considerable effort given the short processor release cycles. The Spiral system has successfully addressed these issues by automatically generating high performance libraries given only a high-level mathematical algorithm description in a language called SPL. Spiral produced high performance code using a number of techniques including SPL rewriting systems and a form iterative compilation. However, to date Spiral has been limited in two key aspects. First, Spiral could only generate libraries for the domain of linear transforms; second all optimizations for a specific target platform are performed during the source code generation, that is, the produced libraries themselves had no dynamic platform-adaptation mechanism. In this thesis we make progress on both fronts. We present a framework and its implementation for the computer generation of functionalities that are not transforms, specifically matrix multiplication and convolutional decoding. The framework builds on the operator language (OL) that we introduce and that extends SPL. Similar to prior work on transforms, we then develop OL rewriting system to explore algorithm choice, to vectorize and parallelize, and to derive the basic library structure called recursion step closure.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
May 01, 2010
Accession Number
ADA525364

Entities

People

  • Frederic D. Mesmay

Organizations

  • Carnegie Mellon University

Tags

Communities of Interest

  • Autonomy
  • C4I
  • Energy and Power Technologies
  • Human Systems

DTIC Thesaurus Topics

  • Artificial Intelligence
  • Computational Science
  • Computer Architecture
  • Computer Languages
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Information Processing
  • Information Systems
  • Machine Learning
  • Mathematical Programming
  • Network Science
  • Operating Systems
  • Parallel Computing
  • Programming Languages
  • Signal Processing

Fields of Study

  • Computer science
  • Engineering

Readers

  • Adaptive Control and Estimation with Uncertainty in Dynamic Systems.
  • Parallel and Distributed Computing.
  • Systems Analysis and Design