Multi-GPU Support on Single Node Using Directive-Based Programming Model
Department of Computer Science, University of Houston, Houston, TX 77004, USA
Hindawi Publishing Corporation, Scientific Programming, Article ID 621730, 2015
@article{xu2015multi,
title={Multi-GPU Support on Single Node Using Directive-Based Programming Model},
author={Xu, Rengan and Tian, Xiaonan and Chandrasekaran, Sunita and Chapman, Barbara},
journal={Scientific Programming},
volume={501},
pages={621730},
year={2015},
publisher={Hindawi Publishing Corporation}
}
Existing studies show that using single GPU can lead to obtaining significant performance gains. We should be able to achieve further performance speedup if we use more than one GPU. Heterogeneous processors consisting of multiple CPUs and GPUs offer immense potential and are often considered as a leading candidate for porting complex scientific applications. Unfortunately programming heterogeneous systems requires more effort than what is required for traditional multicore systems. Directive-based programming approaches are being widely adopted since they make it easy to use/port/maintain application code. OpenMP and OpenACC are two popular models used to port applications to accelerators. However, neither of the models provides support for multiple GPUs. A plausible solution is to use combination of OpenMP and OpenACC that forms a hybrid model; however, building this model has its own limitations due to lack of necessary compilers’ support. Moreover, the model also lacks support for direct device-to-device communication. To overcome these limitations, an alternate strategy is to extend OpenACC by proposing and developing extensions that follow a task-based implementation for supporting multiple GPUs. We critically analyze the applicability of the hybrid model approach and evaluate the proposed strategy using several case studies and demonstrate their effectiveness.
May 16, 2015 by hgpu