Synthetic programming: User-directed run-time code synthesis for high performance computing
by Mueller, Christopher E., Ph.D., INDIANA UNIVERSITY, 2007, 164 pages; 3283098

Abstract:

Scripting and interpreted languages are important tools for software engineering and are often used in place of compiled languages for application development. While they enable a high level of developer productivity, their run-time environments limit the overall performance attainable with any given application. To develop performance-critical applications, developers continue to rely on compiled languages. However, tuning applications in compiled languages is a time consuming process that affects the overall productivity of development teams. Additionally, recent changes in microprocessor design have begun to push the limits of compiled languages, making it difficult for developers to fully utilize the available hardware resources.

This thesis presents Synthetic Programming, a new approach to generating high-performance code and developing parallel applications from scripting languages. Synthetic programming is based on the synthetic programming environment, a collection of libraries that provide direct access to low-level processing resources from the Python programming language. Using the synthetic programming environment, developer’s can create applications using machine-level instructions directly from Python, enabling a number of optimization strategies not readily available when using compiled languages.

In this thesis, synthetic programming is evaluated for feasibility and applicability. To demonstrate the feasibility of synthetic programming, the synthetic programming environment was developed for three complete instruction sets (PowerPC, AltiVec/VMX, Cell BE SPU) and two operating systems (OS X and Linux). Using the synthetic programming environment on G5 and Cell Broadband Engine-based systems, synthetic programming is demonstrated to be applicable for a broad range of common high-performance problems from SIMD programming to automated loop optimization and multi-core application development.

 
AdviserAndrew Lumsdaine
SchoolINDIANA UNIVERSITY
SourceDAI/B 68-09, p. , Dec 2007
Source TypeDissertation
SubjectsComputer science
Publication Number3283098
Adobe PDF Access the complete dissertation:
 

» Find an electronic copy at your library.
  Use the link below to access a full citation record of this graduate work:
  http://gateway.proquest.com/openurl%3furl_ver=Z39.88-2004%26res_dat=xri:pqdiss%26rft_val_fmt=info:ofi/fmt:kev:mtx:dissertation%26rft_dat=xri:pqdiss:3283098
  If your library subscribes to the ProQuest Dissertations & Theses (PQDT) database, you may be entitled to a free electronic version of this graduate work. If not, you will have the option to purchase one, and access a 24 page preview for free (if available).

About ProQuest Dissertations & Theses
With over 2.3 million records, the ProQuest Dissertations & Theses (PQDT) database is the most comprehensive collection of dissertations and theses in the world. It is the database of record for graduate research.

The database includes citations of graduate works ranging from the first U.S. dissertation, accepted in 1861, to those accepted as recently as last semester. Of the 2.3 million graduate works included in the database, ProQuest offers more than 1.9 million in full text formats. Of those, over 860,000 are available in PDF format. More than 60,000 dissertations and theses are added to the database each year.

If you have questions, please feel free to visit the ProQuest Web site - http://www.proquest.com - or call ProQuest Hotline Customer Support at 1-800-521-3042.