{"id":2065,"date":"2014-08-19T10:47:30","date_gmt":"2014-08-19T13:47:30","guid":{"rendered":"http:\/\/w3.ufsm.br\/ppgi\/?p=2065"},"modified":"2014-08-19T10:47:30","modified_gmt":"2014-08-19T13:47:30","slug":"defesa-de-dissertacao-2208-programacao-paralela-hibrida-para-cpu-e-gpu-uma-avaliacao-do-openacc-frente-a-openmp-e-cuda","status":"publish","type":"post","link":"https:\/\/www.ufsm.br\/cursos\/pos-graduacao\/santa-maria\/ppgcc\/2014\/08\/19\/defesa-de-dissertacao-2208-programacao-paralela-hibrida-para-cpu-e-gpu-uma-avaliacao-do-openacc-frente-a-openmp-e-cuda","title":{"rendered":"Defesa de Disserta\u00e7\u00e3o 22\/08 &#8211; PROGRAMA\u00c7\u00c3O PARALELA H\u00cdBRIDA PARA CPU E GPU: UMA AVALIA\u00c7\u00c3O DO OPENACC FRENTE A OPENMP E CUDA"},"content":{"rendered":"<p>T\u00edtulo: PROGRAMA\u00c7\u00c3O PARALELA H\u00cdBRIDA PARA CPU E GPU: UMA AVALIA\u00c7\u00c3O DO OPENACC FRENTE A OPENMP E CUDA<\/p>\n<p>Aluno: MAUR\u00cdCIO SULZBACH<\/p>\n<p>Orientador: Benhur de Oliveira Stein<\/p>\n<p>Data: 22\/08\/2014<br \/>\nHor\u00e1rio: 14:00h<br \/>\nLocal: Sala 321-A<\/p>\n<p>Banca:<br \/>\nDr. BENHUR DE OLIVEIRA STEIN &#8211; Presidente\/Co-orientador (UFSM)<br \/>\nDr\u00aa. ANDREA SCHWERTNER CHARAO &#8211; UFSM<br \/>\nDr\u00aa. M\u00c1RCIA CRISTINA CERA &#8211; UNIPAMPA<br \/>\nDr. JOAO VICENTE FERREIRA LIMA &#8211; UFSM (Suplente)<\/p>\n<p>Resumo:<br \/>\nComo consequ\u00eancia do avan\u00e7o das arquiteturas de CPU e GPU, nos \u00faltimos anos houve um aumento no n\u00famero de APIs de programa\u00e7\u00e3o paralela para os dois dispositivos. Enquanto que OpenMP \u00e9 utilizada no processamento paralelo em CPU, CUDA e OpenACC s\u00e3o empregadas no processamento paralelo em GPU. Na programa\u00e7\u00e3o para GPU, CUDA apresenta um modelo baseado em fun\u00e7\u00f5es que deixam o c\u00f3digo fonte extenso e propenso a erros, al\u00e9m de acarretar uma baixa produtividade no desenvolvimento. Objetivando suprir esses problemas e sendo uma alternativa \u00e0 utiliza\u00e7\u00e3o de CUDA surgiu o OpenACC. Semelhante ao OpenMP, essa API disponibiliza diretivas que facilitam o desenvolvimento de aplica\u00e7\u00f5es paralelas, por\u00e9m para execu\u00e7\u00e3o em GPU. Como forma de aproveitar as caracter\u00edsticas de paralelismo de CPU e GPU, unidas a APIs de programa\u00e7\u00e3o paralela, tornase poss\u00edvel desenvolver algoritmos h\u00edbridos que dividam o processamento nos dois dispositivos, podendo dessa forma, ser uma alternativa para o ganho de desempenho. Nesse sentido, este trabalho objetiva verificar se as facilidades que o OpenACC introduz tamb\u00e9m refletem positivamente na programa\u00e7\u00e3o h\u00edbrida com OpenMP, se comparado ao modelo OpenMP + CUDA. Al\u00e9m disso, o trabalho visa relatar as limita\u00e7\u00f5es nos dois modelos de programa\u00e7\u00e3o h\u00edbrida que possam influenciar no desempenho ou no desenvolvimento de aplica\u00e7\u00f5es. Como forma de cumprir essas metas, este trabalho apresenta o desenvolvimento de tr\u00eas algoritmos paralelos h\u00edbridos baseados nos algoritmos do benchmark Rodinia, a saber, RNG, Hotspot e SRAD, utilizando os modelos h\u00edbridos OpenMP + CUDA e OpenMP + OpenACC. Nesses algoritmos \u00e9 atribu\u00edda ao OpenMP a execu\u00e7\u00e3o paralela em CPU, enquanto que CUDA e OpenACC s\u00e3o respons\u00e1veis pelo processamento paralelo em GPU. Ap\u00f3s as execu\u00e7\u00f5es dos algoritmos h\u00edbridos foram analisados o desempenho, a efici\u00eancia e a divis\u00e3o da execu\u00e7\u00e3o em cada um dos dispositivos. Verificou-se atrav\u00e9s das execu\u00e7\u00f5es dos algoritmos h\u00edbridos que nos dois modelos de programa\u00e7\u00e3o propostos foi poss\u00edvel superar o desempenho de uma aplica\u00e7\u00e3o paralela em uma \u00fanica API, com execu\u00e7\u00e3o em apenas um dos dispositivos. Al\u00e9m disso, nos algoritmos h\u00edbridos RNG e Hotspot o desempenho de CUDA foi superior ao desempenho de OpenACC, enquanto que no algoritmo SRAD a API OpenACC apresentou uma execu\u00e7\u00e3o mais r\u00e1pida, se comparada \u00e0 API CUDA.<\/p>\n<p>Palavras-chave: CPU. GPU. OpenMP. CUDA. OpenACC. Programa\u00e7\u00e3o paralela h\u00edbrida.<br \/>\nDesempenho.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>T\u00edtulo: PROGRAMA\u00c7\u00c3O PARALELA H\u00cdBRIDA PARA CPU E GPU: UMA AVALIA\u00c7\u00c3O DO OPENACC FRENTE A OPENMP E CUDA Aluno: MAUR\u00cdCIO SULZBACH Orientador: Benhur de Oliveira Stein Data: 22\/08\/2014 Hor\u00e1rio: 14:00h Local: Sala 321-A Banca: Dr. BENHUR DE OLIVEIRA STEIN &#8211; Presidente\/Co-orientador (UFSM) Dr\u00aa. ANDREA SCHWERTNER CHARAO &#8211; UFSM Dr\u00aa. M\u00c1RCIA CRISTINA CERA &#8211; UNIPAMPA Dr. JOAO [&hellip;]<\/p>\n","protected":false},"author":25,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-2065","post","type-post","status-publish","format-standard","hentry","category-noticias"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ufsm.br\/cursos\/pos-graduacao\/santa-maria\/ppgcc\/wp-json\/wp\/v2\/posts\/2065","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ufsm.br\/cursos\/pos-graduacao\/santa-maria\/ppgcc\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ufsm.br\/cursos\/pos-graduacao\/santa-maria\/ppgcc\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ufsm.br\/cursos\/pos-graduacao\/santa-maria\/ppgcc\/wp-json\/wp\/v2\/users\/25"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ufsm.br\/cursos\/pos-graduacao\/santa-maria\/ppgcc\/wp-json\/wp\/v2\/comments?post=2065"}],"version-history":[{"count":0,"href":"https:\/\/www.ufsm.br\/cursos\/pos-graduacao\/santa-maria\/ppgcc\/wp-json\/wp\/v2\/posts\/2065\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.ufsm.br\/cursos\/pos-graduacao\/santa-maria\/ppgcc\/wp-json\/wp\/v2\/media?parent=2065"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ufsm.br\/cursos\/pos-graduacao\/santa-maria\/ppgcc\/wp-json\/wp\/v2\/categories?post=2065"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ufsm.br\/cursos\/pos-graduacao\/santa-maria\/ppgcc\/wp-json\/wp\/v2\/tags?post=2065"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}