PROJECT TITLE :
MPI-ACC: Accelerator-Aware MPI for Scientific Applications
Data movement in high-performance computing systems accelerated by graphics processing units (GPUs) remains a difficult problem. Knowledge communication in standard parallel programming models, like the Message Passing Interface (MPI), is currently limited to the info stored within the CPU memory area. Auxiliary memory systems, such as GPU memory, are not integrated into such information movement standards, thus providing applications with no direct mechanism to perform end-to-end information movement. We tend to introduce MPI-ACC, an integrated and extensible framework that enables finish-to-end information movement in accelerator-based mostly systems. MPI-ACC provides productivity and performance advantages by integrating support for auxiliary memory areas into MPI. MPI-ACC supports knowledge transfer among CUDA, OpenCL and CPU memory spaces and is extensible to different offload models further. MPI-ACC's runtime system allows several key optimizations, including pipelining of information transfers, scalable memory management techniques, and balancing of communication based on accelerator and node architecture. MPI-ACC is meant to figure concurrently with alternative GPU workloads with minimum contention. We describe how MPI-ACC can be used to style new communication-computation patterns in scientific applications from domains such as epidemiology simulation and seismology modeling, and we discuss the lessons learned. We tend to gift experimental results on a state-of-the-art cluster with lots of GPUs; and we compare the performance and productivity of MPI-ACC with MVAPICH, a fashionable CUDA-aware MPI resolution. MPI-ACC encourages programmers to explore novel application-specific optimizations for improved overall cluster utilization.
Did you like this research project?
To get this research project Guidelines, Training and Code... Click Here