Date of Award

5-2016

Level of Access Assigned by Author

Campus-Only Thesis

Degree Name

Master of Science (MS)

Department

Computer Engineering

Advisor

Peter Koons

Second Committee Member

Yifeng Zhu

Third Committee Member

Bruce Segee

Abstract

Graphical Processing Unit (GPU) provides a significant amount of computation power that can be used to accelerate scientific models. This thesis discusses the use of GPUs to accelerate two scientific models. The topics included are topographic anisotropy model for earth sciences applications and a bird migration model for ecological study.

Compute Unified Device Architecture (CUDA) is an Application Program Interface (API) that allows programmers to use NVIDIA GPUs for computation. It provides a layer of abstraction over the highly parallel architecture of the GPUs. CUDA supports multiple languages like C, C++, Fortran, Java, and Python. For the scientific models at hand, C is chosen over other languages because of its speed and the large support community based around C CUDA programming.

Every-direction Variogram Analysis (EVA) calculates the anisotropy or directional dependency for each point in a landscape grid. Since the anisotropy computation for a point in the grid does not depend on any other, it is an embarrassingly parallel problem well suited for GPU acceleration. Serial CPU implementation of the anisotropy algorithm was converted to GPU accelerated implementation that was improved further to take advantage of multiple GPUs. Speedup of about 42x was achieved when the CPU implementation was converted to a CUDA GPU implementation.

In addition, an agent based model was created to analyze the flight patterns of birds during migration. Flight of an individual bird is independent of another, therefore the the agent based model was easily converted from a serial CPU implementation to a GPU accelerated implementation to achieve a speedup of approximately 1.5x. The birds go through multiple states during their flight and the decision to move from one state to another depends on weather variables like wind, precipitation, pressure change and on non-weather variables like birds’ endogenous direction.

The geological and ecological applications of GPU computation show that dramatic acceleration of both time-variant and time-invariant systems is made possible by parallel processing.

Share