
Comparativo de desempenho de execução de Algoritmos no CUDA e no OpenCL
2019; UNIVERSIDADE ESTADUAL DE FEIRA DE SANTANA; Issue: 22 Linguagem: Português
10.13102/semic.v0i22.4171
ISSN2595-0339
Autores Tópico(s)IoT and Edge/Fog Computing
ResumoCom o avanço tecnológico surgiu a necessidade de processar dados de formamais rápida e eficaz. Dando origem à Computação Paralera (CP) (ROCHA,2007/2008) e os processadores capazes de atender as necessidades da mesma que são osmulticore ou os manycore. Um exemplo de processadores que se assemelham aosmanycore, possuindo dezenas de unidades de processamento, são as Placas Gráficas(GPU). As GPUs foram projetadas para auxiliar em cálculos de uso intensivos dosprocessadores comuns, elas possuem muito mais núcleos de processamentos quepermite a execução simultânea de operações idênticas sobre dados diferentes (SIMD)(DE PAULA, 2014).Novas plataformas para gerenciar a implementação de algoritmos foram criadase com elas outras tecnologias como Application Programming Interface (API) ebibliotecas foram aprimoradas. APIs e bibliotecas são interfaces usadas para acessaralgumas funções existentes sem necessariamente saber como o código fonte funciona, adiferença básica é que as primeiras são mantidas por entidades e isso agrega umaconfiabilidade maior aos serviços. Atualmente, as plataformas que mais se destacampara computação paralela usando GPU são: CUDA (Compute Unified DeviceArchitecture), OpenCL (Open Computing Language) e Direct Compute (Microsoft).A CUDA foi criada pela NVIDIA em 2006, com o intuito de otimizar aexecução de algoritmos nas placas desenvolvidas por esta empresa. O OpenCL,desenvolvido pela Khronos, é uma plataforma aberta que comporta a paralelização deaplicações e, também, admite a elaboração de códigos heterogêneos podendo assimaproveitar tanto a CPU quanto a GPU (TSUCHIYAMA, 2010). Visto que noLaboratório de Computação de Alto Desempenho (LaCAD) da Universidade Estadualde Feira de Santana (UEFS) existem GPU da NVIDIA, foi possível utilizar ambas asplataformas. Dessa forma, esse trabalho teve o objetivo de testar e identificar, dentreelas, a que potencializa a criação de sistemas de alto desempenho para atender asnecessidades do laboratório.
Referência(s)