Accelerating Geo-Spatial Computations Using High Performance Computing
Many computational geometry algorithms are compute-intensive and data-intensive due to big spatial data (points, polygons). These algorithms are utilized in computer graphics, robotics, spatial databases, geographic information system (GIS) and VLSI CAD. High-performance computing (HPC) is the use of parallel processing for running application programs efficiently, reliably and quickly. This project is geared towards utilizing HPC to accelerate geo-spatial computations. However, this requires parallelization of existing sequential code on modern multi-core hardware that supports multi-threading. OpenMP and OpenACC will be used for parallel programming. These tools make it easy to parallelize existing C/C++ code with minimal changes.
Students need to know programming in C/C++. Familiarity with working on Linux based system is preferred.
Students will be provided access to HPC clusters with Nvidia GPUs and Intel Xeon Phi processors. Students will learn about the use of computational geometry algorithms in geo-spatial domains. Students will get hands-on experience on parallel programming on multi-core CPUs using OpenMP and Graphics Processing Units (GPU) using OpenACC. Moreover, they will gain knowledge about handling big data and submitting jobs on supercomputers with parallel filesystem.