Browsing by Author "Sorensen, Danny C"
Now showing 1 - 3 of 3
Results Per Page
Sort Options
Item High-dimensional integration for optimization under uncertainty(2015-09-09) Takhtaganov, Timur A; Heinkenschloss, Matthias; Sorensen, Danny C; Zhang, YinThis thesis focuses on the problem of evaluating high-dimensional integrals arising in optimization under uncertainty. Uncertainties in the input data affect the behavior of the physical system and need to be accounted for at the design stage or in the way the system is controlled. This translates into evaluating integrals of the quantities of interest with respect to the random parameters. This task becomes challenging when the dimension of the random parameters is high. Without guidelines for the choice of favorable integration methods the optimization algorithm might encounter prohibitively high computational cost. This thesis provides a comprehensive overview of methods for high-dimensional integration and exposes their relative strengths and weaknesses. Emphasis is placed on problems with moderately high dimension and with non-smoothness. The performance of integration methods in high dimension is assessed on several simple model problems.Item oASIS: Adaptive Column Sampling for Kernel Matrix Approximation(2015-04-21) Patel, Raajen; Baraniuk, Richard G; Veeraraghavan, Ashok; Sorensen, Danny CKernel or similarity matrices are essential for many state-of-the-art approaches to classification, clustering, and dimensionality reduction. For large datasets, the cost of forming and factoring such kernel matrices becomes intractable. To address this challenge, we introduce a new adaptive sampling algorithm called Accelerated Sequential Incoherence Selection (oASIS) that samples columns without explicitly computing the entire kernel matrix. We provide conditions under which oASIS is guaranteed to exactly recover the kernel matrix with an optimal number of columns selected. Numerical experiments on both synthetic and real-world datasets demonstrate that oASIS achieves performance comparable to state-of-the-art adaptive sampling methods at a fraction of the computational cost. The low runtime complexity of oASIS and its low memory footprint enable the solution of large problems that are simply intractable using other adaptive methods.Item OKL: A Unified Language for Parallel Architectures(2015-11-25) Medina, David; Warburton, Timothy; Riviere, Beatrice; Sorensen, Danny C; Cooper, Keith DRapid evolution of computer processor architectures has spawned multiple programming languages and standards. This thesis strives to address the challenges caused by fast and cyclical changes in programming models. The novel contribution of this thesis is the introduction of an abstract unified framework which addresses portability and performance for programming many-core devices. To test this concept, I developed a specific implementation of this framework called OCCA. OCCA provides evidence that it is possible to achieve high performance across multiple platforms. The programming model investigated in this thesis abstracts a hierarchical representation of modern many-core devices. The model at its lowest level adopts native programming languages for these many-core devices, including serial code, OpenMP, OpenCL, NVIDIA's CUDA, and Intel's COI. At its highest level, the ultimate goal is a high level language that is agnostic about the underlying architecture. I developed a multiply layered approach to bridge the gap between expert "close to the metal" low-level programming and novice-level programming. Each layer requires varying degrees of programmer intervention to access low-level features in device architectures. I begin by introducing an approach for encapsulating programming language features, delivering a single intermediate representation (OCCA IR). Built above the OCCA IR are two kernel languages extending the prominent programming languages C and Fortran, the OCCA kernel language (OKL) and the OCCA Fortran language (OFL). Additionally, I contribute two automated approaches for facilitating data movement and automating translations from serial code to OKL kernels. To validate OCCA as a unified framework implementation, I compare performance results across a variety of applications and benchmarks. A spectrum of applications have been ported to utilize OCCA, showing no performance loss compared to their native programming language counterparts. In addition, a majority of the discussed applications show comparable results with a single OCCA kernel.