Fusion: abstraÃÃes linguÃsticas sobre Java para programaÃÃo paralela heterogÃnea sobre GPGPUs

Detalhes bibliográficos
Autor(a) principal: Anderson Boettge Pinheiro
Data de Publicação: 2013
Tipo de documento: Dissertação
Idioma: por
Título da fonte: Biblioteca Digital de Teses e Dissertações da UFC
Texto Completo: http://www.teses.ufc.br/tde_busca/arquivo.php?codArquivo=9972
Resumo: Unidades de aceleraÃÃo grÃca, ou GPU (Graphical Processing Units ), tem se consolidado nos Ãltimos anos para computaÃÃo de propÃsito geral, para aceleraÃÃo de trechos crÃticos de programas que apresentam requisitos severos de desempenho quanto ao tempo de execuÃÃo. GPUs constituem um dentre vÃrios tipos de aceleradores computacionais de propÃsito geral que tem sido incorporados em vÃrias plataformas de computaÃÃo de alto desempenho, com destaque tambÃm para as MIC (Many Integrated Cores ) e FPGA (Field Programmable Gateway Arrays ). A despeito da Ãnfase nas pesquisas de novos algoritmos paralelos capazes de explorar o paralelismo massivo oferecido por dispositivos GPGPU, ainda sÃo incipientes as iniciativas sobre novas abstraÃÃes de programaÃÃo que tornem mais simples a descriÃÃo desses algoritmos sobre GPGPUs, sem detrimento à efciÃncia. Ainda à necessÃrio que o programador possua conhecimento especÃfico sobre as peculiaridades da arquitetura desses dispositivos, assim como tÃcnicas de programaÃÃo que nÃo sÃo do domÃnio mesmo de programadores paralelos experientes na atualidade. Nos Ãltimos anos, a NVIDIA, indÃstria que tem dominado a evoluÃÃo arquitetural dos dispositivos GPGPU, lanÃou a arquitetura Kepler, incluindo o suporte Ãs extensÃes Hyper-Q e Dynamic Parallelism (DP), as quais oferecem novas oportunidades de expressÃo de padrÃes de programaÃÃo paralela sobre esses dispositivos. Esta dissertaÃÃo tem por objetivo a proposta de novas abstraÃÃes de programaÃÃo paralela sobre uma linguagem orientada a objetos baseada em Java, a m de expressar computaÃÃes paralelas heterogÃneas do tipo multicore/manycore, onde o dispositivo GPU à compartilhado por um conjunto de threads paralelas que executam no processador hospedeiro, em um nÃvel de abstraÃÃo mais elevado comparado Ãs alternativas existentes, porÃm ainda oferecendo ao programador total controle sobre o uso dos recursos do dispositivo. O projeto das abstraÃÃes dessa linguagem proposta, doravante chamada Fusion, parte da expressividade oferecida pela arquitetura Kepler.
id UFC_1fab03bd3630df45af2e55928ddff863
oai_identifier_str oai:www.teses.ufc.br:6739
network_acronym_str UFC
network_name_str Biblioteca Digital de Teses e Dissertações da UFC
spelling info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisFusion: abstraÃÃes linguÃsticas sobre Java para programaÃÃo paralela heterogÃnea sobre GPGPUsFusion: linguistic abstractions on Java for parallel programming on heterogeneous GPGPUs2013-05-22Francisco Heron de Carvalho Junior53945395372http://lattes.cnpq.br/4164818158160492Ricardo Cordeiro CorrÃa86549103720http://lattes.cnpq.br/8599181647215929Siang Wun Song29302722872http://lattes.cnpq.br/2808213902627406Albert Einstein Fernandes Muritiba96258470300http://lattes.cnpq.br/412633372280892601110747039http://lattes.cnpq.br/3330956156739792Anderson Boettge PinheiroUniversidade Federal do CearÃPrograma de PÃs-GraduaÃÃo em CiÃncia da ComputaÃÃoUFCBRjava GPU paralela heterogÃneajava GPU parallel heterogeneousCIENCIA DA COMPUTACAOUnidades de aceleraÃÃo grÃca, ou GPU (Graphical Processing Units ), tem se consolidado nos Ãltimos anos para computaÃÃo de propÃsito geral, para aceleraÃÃo de trechos crÃticos de programas que apresentam requisitos severos de desempenho quanto ao tempo de execuÃÃo. GPUs constituem um dentre vÃrios tipos de aceleradores computacionais de propÃsito geral que tem sido incorporados em vÃrias plataformas de computaÃÃo de alto desempenho, com destaque tambÃm para as MIC (Many Integrated Cores ) e FPGA (Field Programmable Gateway Arrays ). A despeito da Ãnfase nas pesquisas de novos algoritmos paralelos capazes de explorar o paralelismo massivo oferecido por dispositivos GPGPU, ainda sÃo incipientes as iniciativas sobre novas abstraÃÃes de programaÃÃo que tornem mais simples a descriÃÃo desses algoritmos sobre GPGPUs, sem detrimento à efciÃncia. Ainda à necessÃrio que o programador possua conhecimento especÃfico sobre as peculiaridades da arquitetura desses dispositivos, assim como tÃcnicas de programaÃÃo que nÃo sÃo do domÃnio mesmo de programadores paralelos experientes na atualidade. Nos Ãltimos anos, a NVIDIA, indÃstria que tem dominado a evoluÃÃo arquitetural dos dispositivos GPGPU, lanÃou a arquitetura Kepler, incluindo o suporte Ãs extensÃes Hyper-Q e Dynamic Parallelism (DP), as quais oferecem novas oportunidades de expressÃo de padrÃes de programaÃÃo paralela sobre esses dispositivos. Esta dissertaÃÃo tem por objetivo a proposta de novas abstraÃÃes de programaÃÃo paralela sobre uma linguagem orientada a objetos baseada em Java, a m de expressar computaÃÃes paralelas heterogÃneas do tipo multicore/manycore, onde o dispositivo GPU à compartilhado por um conjunto de threads paralelas que executam no processador hospedeiro, em um nÃvel de abstraÃÃo mais elevado comparado Ãs alternativas existentes, porÃm ainda oferecendo ao programador total controle sobre o uso dos recursos do dispositivo. O projeto das abstraÃÃes dessa linguagem proposta, doravante chamada Fusion, parte da expressividade oferecida pela arquitetura Kepler. Acceleration units free, or GPU (Graphical Processing Units), have been consolidated in recent years for general purpose computing for accelerating critical sections of programs that exhibit high standards of performance and the execution time. GPUs are one of several types of general-purpose computational accelerators that have been built on various platforms for high performance computing, especially also for the MIC (Many Integrated Cores) and FPGA (Field Programmable Gateway Arrays). Despite the emphasis on the research of new parallel algorithms capable of exploiting the massive parallelism offered by GPGPU devices are still incipient initiatives on new programming abstractions that make the simplest description of these algorithms on GPGPUs, without detriment to the effciency. It is still necessary that the programmer has specific knowledge of the peculiarities of the architecture of these devices, as well as programming techniques that are not domain even experienced parallel programmers today. In recent years, NVIDIA, an industry that has dominated the evolution of architectural GPGPU devices, launched the Kepler architecture, including extensions to support Hyper-Q and Dynamic Parallelism (DP), which offer new opportunities for expression patterns of parallel programming on such devices. This paper aims at proposing new programming abstractions over a parallel object-oriented language based on Java, am expressing parallel computations heterogeneous type multicore / manycore, where the GPU device is shared by a set of parallel threads running in host processor, on a higher level of abstraction compared to existing alternatives, but still offering the programmer full control over the use of device capabilities. The design of this proposed language abstractions, hereinafter called Fusion, part of the expressiveness offered by Kepler architecture.CoordenaÃÃo de AperfeiÃoamento de Pessoal de NÃvel Superiorhttp://www.teses.ufc.br/tde_busca/arquivo.php?codArquivo=9972application/pdfinfo:eu-repo/semantics/openAccessporreponame:Biblioteca Digital de Teses e Dissertações da UFCinstname:Universidade Federal do Cearáinstacron:UFC2019-01-21T11:23:10Zmail@mail.com -
dc.title.pt.fl_str_mv Fusion: abstraÃÃes linguÃsticas sobre Java para programaÃÃo paralela heterogÃnea sobre GPGPUs
dc.title.alternative.en.fl_str_mv Fusion: linguistic abstractions on Java for parallel programming on heterogeneous GPGPUs
title Fusion: abstraÃÃes linguÃsticas sobre Java para programaÃÃo paralela heterogÃnea sobre GPGPUs
spellingShingle Fusion: abstraÃÃes linguÃsticas sobre Java para programaÃÃo paralela heterogÃnea sobre GPGPUs
Anderson Boettge Pinheiro
java
GPU
paralela
heterogÃnea
java
GPU
parallel
heterogeneous
CIENCIA DA COMPUTACAO
title_short Fusion: abstraÃÃes linguÃsticas sobre Java para programaÃÃo paralela heterogÃnea sobre GPGPUs
title_full Fusion: abstraÃÃes linguÃsticas sobre Java para programaÃÃo paralela heterogÃnea sobre GPGPUs
title_fullStr Fusion: abstraÃÃes linguÃsticas sobre Java para programaÃÃo paralela heterogÃnea sobre GPGPUs
title_full_unstemmed Fusion: abstraÃÃes linguÃsticas sobre Java para programaÃÃo paralela heterogÃnea sobre GPGPUs
title_sort Fusion: abstraÃÃes linguÃsticas sobre Java para programaÃÃo paralela heterogÃnea sobre GPGPUs
author Anderson Boettge Pinheiro
author_facet Anderson Boettge Pinheiro
author_role author
dc.contributor.advisor1.fl_str_mv Francisco Heron de Carvalho Junior
dc.contributor.advisor1ID.fl_str_mv 53945395372
dc.contributor.advisor1Lattes.fl_str_mv http://lattes.cnpq.br/4164818158160492
dc.contributor.referee1.fl_str_mv Ricardo Cordeiro CorrÃa
dc.contributor.referee1ID.fl_str_mv 86549103720
dc.contributor.referee1Lattes.fl_str_mv http://lattes.cnpq.br/8599181647215929
dc.contributor.referee2.fl_str_mv Siang Wun Song
dc.contributor.referee2ID.fl_str_mv 29302722872
dc.contributor.referee2Lattes.fl_str_mv http://lattes.cnpq.br/2808213902627406
dc.contributor.referee3.fl_str_mv Albert Einstein Fernandes Muritiba
dc.contributor.referee3ID.fl_str_mv 96258470300
dc.contributor.referee3Lattes.fl_str_mv http://lattes.cnpq.br/4126333722808926
dc.contributor.authorID.fl_str_mv 01110747039
dc.contributor.authorLattes.fl_str_mv http://lattes.cnpq.br/3330956156739792
dc.contributor.author.fl_str_mv Anderson Boettge Pinheiro
contributor_str_mv Francisco Heron de Carvalho Junior
Ricardo Cordeiro CorrÃa
Siang Wun Song
Albert Einstein Fernandes Muritiba
dc.subject.por.fl_str_mv java
GPU
paralela
heterogÃnea
topic java
GPU
paralela
heterogÃnea
java
GPU
parallel
heterogeneous
CIENCIA DA COMPUTACAO
dc.subject.eng.fl_str_mv java
GPU
parallel
heterogeneous
dc.subject.cnpq.fl_str_mv CIENCIA DA COMPUTACAO
dc.description.sponsorship.fl_txt_mv CoordenaÃÃo de AperfeiÃoamento de Pessoal de NÃvel Superior
dc.description.abstract.por.fl_txt_mv Unidades de aceleraÃÃo grÃca, ou GPU (Graphical Processing Units ), tem se consolidado nos Ãltimos anos para computaÃÃo de propÃsito geral, para aceleraÃÃo de trechos crÃticos de programas que apresentam requisitos severos de desempenho quanto ao tempo de execuÃÃo. GPUs constituem um dentre vÃrios tipos de aceleradores computacionais de propÃsito geral que tem sido incorporados em vÃrias plataformas de computaÃÃo de alto desempenho, com destaque tambÃm para as MIC (Many Integrated Cores ) e FPGA (Field Programmable Gateway Arrays ). A despeito da Ãnfase nas pesquisas de novos algoritmos paralelos capazes de explorar o paralelismo massivo oferecido por dispositivos GPGPU, ainda sÃo incipientes as iniciativas sobre novas abstraÃÃes de programaÃÃo que tornem mais simples a descriÃÃo desses algoritmos sobre GPGPUs, sem detrimento à efciÃncia. Ainda à necessÃrio que o programador possua conhecimento especÃfico sobre as peculiaridades da arquitetura desses dispositivos, assim como tÃcnicas de programaÃÃo que nÃo sÃo do domÃnio mesmo de programadores paralelos experientes na atualidade. Nos Ãltimos anos, a NVIDIA, indÃstria que tem dominado a evoluÃÃo arquitetural dos dispositivos GPGPU, lanÃou a arquitetura Kepler, incluindo o suporte Ãs extensÃes Hyper-Q e Dynamic Parallelism (DP), as quais oferecem novas oportunidades de expressÃo de padrÃes de programaÃÃo paralela sobre esses dispositivos. Esta dissertaÃÃo tem por objetivo a proposta de novas abstraÃÃes de programaÃÃo paralela sobre uma linguagem orientada a objetos baseada em Java, a m de expressar computaÃÃes paralelas heterogÃneas do tipo multicore/manycore, onde o dispositivo GPU à compartilhado por um conjunto de threads paralelas que executam no processador hospedeiro, em um nÃvel de abstraÃÃo mais elevado comparado Ãs alternativas existentes, porÃm ainda oferecendo ao programador total controle sobre o uso dos recursos do dispositivo. O projeto das abstraÃÃes dessa linguagem proposta, doravante chamada Fusion, parte da expressividade oferecida pela arquitetura Kepler.
dc.description.abstract.eng.fl_txt_mv Acceleration units free, or GPU (Graphical Processing Units), have been consolidated in recent years for general purpose computing for accelerating critical sections of programs that exhibit high standards of performance and the execution time. GPUs are one of several types of general-purpose computational accelerators that have been built on various platforms for high performance computing, especially also for the MIC (Many Integrated Cores) and FPGA (Field Programmable Gateway Arrays). Despite the emphasis on the research of new parallel algorithms capable of exploiting the massive parallelism offered by GPGPU devices are still incipient initiatives on new programming abstractions that make the simplest description of these algorithms on GPGPUs, without detriment to the effciency. It is still necessary that the programmer has specific knowledge of the peculiarities of the architecture of these devices, as well as programming techniques that are not domain even experienced parallel programmers today. In recent years, NVIDIA, an industry that has dominated the evolution of architectural GPGPU devices, launched the Kepler architecture, including extensions to support Hyper-Q and Dynamic Parallelism (DP), which offer new opportunities for expression patterns of parallel programming on such devices. This paper aims at proposing new programming abstractions over a parallel object-oriented language based on Java, am expressing parallel computations heterogeneous type multicore / manycore, where the GPU device is shared by a set of parallel threads running in host processor, on a higher level of abstraction compared to existing alternatives, but still offering the programmer full control over the use of device capabilities. The design of this proposed language abstractions, hereinafter called Fusion, part of the expressiveness offered by Kepler architecture.
description Unidades de aceleraÃÃo grÃca, ou GPU (Graphical Processing Units ), tem se consolidado nos Ãltimos anos para computaÃÃo de propÃsito geral, para aceleraÃÃo de trechos crÃticos de programas que apresentam requisitos severos de desempenho quanto ao tempo de execuÃÃo. GPUs constituem um dentre vÃrios tipos de aceleradores computacionais de propÃsito geral que tem sido incorporados em vÃrias plataformas de computaÃÃo de alto desempenho, com destaque tambÃm para as MIC (Many Integrated Cores ) e FPGA (Field Programmable Gateway Arrays ). A despeito da Ãnfase nas pesquisas de novos algoritmos paralelos capazes de explorar o paralelismo massivo oferecido por dispositivos GPGPU, ainda sÃo incipientes as iniciativas sobre novas abstraÃÃes de programaÃÃo que tornem mais simples a descriÃÃo desses algoritmos sobre GPGPUs, sem detrimento à efciÃncia. Ainda à necessÃrio que o programador possua conhecimento especÃfico sobre as peculiaridades da arquitetura desses dispositivos, assim como tÃcnicas de programaÃÃo que nÃo sÃo do domÃnio mesmo de programadores paralelos experientes na atualidade. Nos Ãltimos anos, a NVIDIA, indÃstria que tem dominado a evoluÃÃo arquitetural dos dispositivos GPGPU, lanÃou a arquitetura Kepler, incluindo o suporte Ãs extensÃes Hyper-Q e Dynamic Parallelism (DP), as quais oferecem novas oportunidades de expressÃo de padrÃes de programaÃÃo paralela sobre esses dispositivos. Esta dissertaÃÃo tem por objetivo a proposta de novas abstraÃÃes de programaÃÃo paralela sobre uma linguagem orientada a objetos baseada em Java, a m de expressar computaÃÃes paralelas heterogÃneas do tipo multicore/manycore, onde o dispositivo GPU à compartilhado por um conjunto de threads paralelas que executam no processador hospedeiro, em um nÃvel de abstraÃÃo mais elevado comparado Ãs alternativas existentes, porÃm ainda oferecendo ao programador total controle sobre o uso dos recursos do dispositivo. O projeto das abstraÃÃes dessa linguagem proposta, doravante chamada Fusion, parte da expressividade oferecida pela arquitetura Kepler.
publishDate 2013
dc.date.issued.fl_str_mv 2013-05-22
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
status_str publishedVersion
format masterThesis
dc.identifier.uri.fl_str_mv http://www.teses.ufc.br/tde_busca/arquivo.php?codArquivo=9972
url http://www.teses.ufc.br/tde_busca/arquivo.php?codArquivo=9972
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.publisher.none.fl_str_mv Universidade Federal do CearÃ
dc.publisher.program.fl_str_mv Programa de PÃs-GraduaÃÃo em CiÃncia da ComputaÃÃo
dc.publisher.initials.fl_str_mv UFC
dc.publisher.country.fl_str_mv BR
publisher.none.fl_str_mv Universidade Federal do CearÃ
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da UFC
instname:Universidade Federal do Ceará
instacron:UFC
reponame_str Biblioteca Digital de Teses e Dissertações da UFC
collection Biblioteca Digital de Teses e Dissertações da UFC
instname_str Universidade Federal do Ceará
instacron_str UFC
institution UFC
repository.name.fl_str_mv -
repository.mail.fl_str_mv mail@mail.com
_version_ 1643295175010680832