HPSM: uma API em linguagem c++ para programas com laços paralelos com suporte a multi-CPUs e Multi-GPUs
Abstract
Arquiteturas paralelas são consideradas ubíquas atualmente. No entanto, o mesmo termo não
pode ser aplicado aos programas paralelos, pois existe uma complexidade maior para codificálos
em relação aos programas convencionais. Este fato é agravado quando a programação envolve
também aceleradores, como GPUs, que demandam o uso de ferramentas com recursos
muito específicos. Neste cenário, apesar de existirem modelos de programação que facilitam
a codificação de aplicações paralelas para explorar aceleradores, desconhece-se a existência de
APIs que permitam a construção de programas com laços paralelos que possam ser processados
simultaneamente em múltiplas CPUs e múltiplas GPUs. Este trabalho apresenta uma API C++
de alto nível, denominada HPSM, visando facilitar e tornar mais eficiente a codificação de programas
paralelos voltados a explorar arquiteturas com multi-CPU e multi-GPU. Seguindo esta
ideia, deseja-se ganhar desempenho através da soma dos recursos. A HPSM é baseada em laços
e reduções paralelas implementadas por meio de três diferentes back-ends paralelos, sendo Serial,
OpenMP e StarPU. A hipótese deste estudo é que aplicações científicas podem valer-se do
processamento heterogêneo em multi-CPU e multi-GPU para alcançar um desempenho superior
em relação ao uso de apenas aceleradores. Comparações com outras interfaces de programação
paralela demonstraram que o uso da HPSM pode reduzir em mais de 50% o tamanho de um
programa multi-CPU e multi-GPU. O uso da nova API pode trazer impacto no desempenho do
programa, sendo que experimentos demonstraram que seu sobrecusto é variável de acordo com
a aplicação, chegando até 16,4%. Os resultados experimentais confirmaram a hipótese, pois
as aplicações N-Body, Hotspot e CFD, além de alcançarem ganhos ao utilizar somente CPUs
e somente GPUs, também superaram o desempenho obtido por somente aceleradores (GPUs)
através da combinação de multi-CPU e multi-GPU.
Collections
The following license files are associated with this item: