Browsing by Author "Kennedy, Kenneth W., Jr."
Now showing 1 - 2 of 2
Results Per Page
Sort Options
Item In-place updating of variables in LabVIEW(2008) Abu-Mahmeed, Samah; Kennedy, Kenneth W., Jr.Functional programming languages are free of side effects which makes programs written in them easy to verify, parallelize and optimize. However, to maintain this model, naive execution may involve an excessive amount of copying which consumes both space and time. Optimizing the compilers for such languages with an algorithm that minimizes copies improves their performance without losing the side effect free feature. In this thesis we present a O ( TlogT + V E w + V 2 ) greedy in-placeness algorithm that reduces the amount of copying in such languages. We have implemented a prototype of the in-placeness algorithm for the widely used graphical programming language LabVIEW and compared its performance to the performance of the ad-hoc in-placeness heuristic used in the current LabVIEW compiler. Our in-placeness algorithm achieves promising improvements to LabVIEW performance in a uniform and systematic approach. National Instruments anticipates incorporating our algorithm in the next published version of the LabVIEW compiler.Item Matlab D: Compiling parallel Matlab with user-defined data distributions(2008) Fletcher, Mary E.; Kennedy, Kenneth W., Jr.While many scientists prefer to write applications in high-level languages like Matlab, these languages often do not deliver high performance. For computationally-intense applications, scientists typically write parallel code in low-level languages, which is tedious. To enable the translation from Matlab directly into high-performance parallel code, we augmented Matlab with distributed arrays and parallel forall loops to create the Matlab D language. We developed a compiler that translates Matlab D into parallel Fortran for distributed-memory machines. The compiler partitions work among processors using array distributions as a guide. To generate quality code for a broad range of applications, the Matlab D compiler supports user-defined distributions. Our experiments show that the Matlab D compiler generates parallel code with significantly higher performance than serial Matlab, enabling users to obtain high performance from high-level languages. This thesis describes the compiler implementation and demonstrates its promise with studies of several computational kernels.