Repository logo
Log In(current)
  1. Home
  2. Colleges & Schools
  3. Graduate School
  4. Masters Theses
  5. Hig-level support for microvector programming
Details

Hig-level support for microvector programming

Date Issued
August 1, 1995
Author(s)
Castellanos, Antonio
Advisor(s)
Micah Beck
Additional Advisor(s)
Bradley Vander Zanden
Michael W. Berry
Permanent URI
https://trace.tennessee.edu/handle/20.500.14382/32327
Abstract

This thesis introduces a set of programming tools based on the low-level optimization technique of microvector programming used for the high performance implementation of certain applications. A microvector is an array of small data items or bit fields packed into a single word so that memory fetches and certain arithmetic operations can be performed in all of its fields in parallel. In some cases, an improvement in the performance of the memory hierarchy is also obtained by reducing the data space. However, working at the bit-level is not a pleasant environment for the high level programmer. For that purpose, this thesis also presents a set of high-level programming tools for microvectorization. These tools are:

  • libuvec, a C library that supports handling and operating with microvectors,
  • VectorC, an extension to ANSI C for the high-level description of vector variables and vector operations, and
  • vpp, a vector preprocessor that performs the translation of VectorC source code to the libuvec library.
With VectorC, the user is presented with a high-level programming environment in which to declare vector variables and express vector operations. The preprocessor vpp then performs a series of program analysis and transformations to generate the appropriate microvectorized code and libuvec calls. In most cases, the performance results obtained with this optimization are superior to those obtained with most scalar optimizations. The class of applications where these tools have been tested corresponds to the area of Cellular Automata. The inherently data-parallel nature of these simulations makes them perfect candidates for microvectorization. We believe that the software framework presented here can also be generalized to a much wider class of applications not considered in this the-sis. In general, applications which are data parallel consisting of basic arithmetic operations and conditionals performed on limited range values can benefit from microvectorization.

Degree
Master of Science
Major
Computer Science
File(s)
Thumbnail Image
Name

Thesis95C38.pdf

Size

3.47 MB

Format

Unknown

Checksum (MD5)

bec34014e41a2712b18fef882355474b

Built with DSpace-CRIS software - Extension maintained and optimized by 4Science

  • Privacy policy
  • End User Agreement
  • Send Feedback
  • Contact
  • Libraries at University of Tennessee, Knoxville
Repository logo COAR Notify