This course teaches the basics of utilizing modern programmable graphics processing units (GPUs) for military applications. The modern GPU is a fully programmable parallel programming environment that performs computations an order of magnitude faster than the modern CPU. In this course, we will learn broadly about the architecture of the GPU, the appropriate situations where speedups may be obtained and gain an understanding of the tools and languages that are available for development. Programming is not a part of the curriculum.
We will also discuss the available GPU platforms, with an emphasis on rugged, deployable, and low-power offerings. Lastly, the bulk of the course will center on applications and case studies, with emphasis on applications we have produced, including: real-time image processing for the reduction of atmospheric turbulence, applied accelerated linear algebra, image enhancement via super resolution, computational fluid dynamics, and computational electromagnetics.