Work stealing inside GPUs

Detalhes bibliográficos
Autor(a) principal: Toss, Julio
Data de Publicação: 2011
Tipo de documento: Trabalho de conclusão de curso
Idioma: eng
Título da fonte: Repositório Institucional da UFRGS
Texto Completo: http://hdl.handle.net/10183/36890
Resumo: Unidades de processamento gráfico (GPU) tornaram-se ferramentas de grande valia no domínio da computação de alto desempenho. Graças as recentes inovações e melhoramentos do hardware é possível utilizar processadores gráficos de propósito genéricos (GPGPUS) em uma ampla gama de aplicações científicas. No entanto, os modelos de programação existentes usados em GPGPU não são ainda suficientemente adaptáveis `as diversas formas de paralelismo que uma aplicação possa expressar. Neste contexto, propomos um modelo híbrido de programação paralela para GPGPU usando paralelismo de tarefas e de dados. Em oposição ao que e advogado pelo modelo de programação CUDA, baseado apenas no paralelismo de dados, mostramos que ´e possível explorar o paralelismo de tarefas em GPUs e escaloná-las de forma eficiente usando a técnica do roubo de tarefas. Apresentamos neste trabalho a implementação de um escalonador por roubo de tarefas em CUDA e comparamos seu desempenho aos métodos de escalonamento estático e por lisa aplicados aos problemas de transformação em array e particionamento em octree.
id UFRGS-2_0a0734f5429877088f76f17463397c05
oai_identifier_str oai:www.lume.ufrgs.br:10183/36890
network_acronym_str UFRGS-2
network_name_str Repositório Institucional da UFRGS
repository_id_str
spelling Toss, JulioMaillard, Nicolas BrunoGautier, Thierry2012-01-26T01:19:50Z2011http://hdl.handle.net/10183/36890000819140Unidades de processamento gráfico (GPU) tornaram-se ferramentas de grande valia no domínio da computação de alto desempenho. Graças as recentes inovações e melhoramentos do hardware é possível utilizar processadores gráficos de propósito genéricos (GPGPUS) em uma ampla gama de aplicações científicas. No entanto, os modelos de programação existentes usados em GPGPU não são ainda suficientemente adaptáveis `as diversas formas de paralelismo que uma aplicação possa expressar. Neste contexto, propomos um modelo híbrido de programação paralela para GPGPU usando paralelismo de tarefas e de dados. Em oposição ao que e advogado pelo modelo de programação CUDA, baseado apenas no paralelismo de dados, mostramos que ´e possível explorar o paralelismo de tarefas em GPUs e escaloná-las de forma eficiente usando a técnica do roubo de tarefas. Apresentamos neste trabalho a implementação de um escalonador por roubo de tarefas em CUDA e comparamos seu desempenho aos métodos de escalonamento estático e por lisa aplicados aos problemas de transformação em array e particionamento em octree.Graphics Processing units have become a valuable support for High Performance Computing (HPC) applications. However, despite the many improvements on the General Purpose GPU, there is still the need of a generic programming model adaptable to the many forms of parallelism that an application can express. The CUDA programming model is widely used on the GPGPU domain, but is very limited in aspects like load balancing and task parallelism. This work introduces a new programming model to be used on general purpose graphics processors. We propose an hybrid model combining tasks and data parallelism which extends the domain of applications that can efficiently make use of graphics processors. We implement a work stealing scheduler to efficiently schedule tasks inside a GPU keeping an even load balance between its multiprocessors. Finally, we evaluate the performance of our work stealing scheduler comparing it with static and list scheduling methods applied to the problems of array transformation and octree partitioning.application/pdfengProcessamento paraleloMpiGPGPUSchedulingDynamic load balancingWork stealingArray transformWork stealing inside GPUsRoubo de trabalho em processadores gráficos info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPorto Alegre, BR-RS2011Ciência da Computação: Ênfase em Ciência da Computação: Bachareladograduaçãoinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSTEXT000819140.pdf.txt000819140.pdf.txtExtracted Texttext/plain61515http://www.lume.ufrgs.br/bitstream/10183/36890/2/000819140.pdf.txt17d57b90b4e54921d1fb0ed9672a4062MD52ORIGINAL000819140.pdf000819140.pdfTexto completo (inglês)application/pdf496455http://www.lume.ufrgs.br/bitstream/10183/36890/1/000819140.pdf024cac82df97344f0dab9513e8b26e10MD51THUMBNAIL000819140.pdf.jpg000819140.pdf.jpgGenerated Thumbnailimage/jpeg983http://www.lume.ufrgs.br/bitstream/10183/36890/3/000819140.pdf.jpgf91978fd4a70fabc76d3de8aa10bf251MD5310183/368902021-05-07 04:36:52.727243oai:www.lume.ufrgs.br:10183/36890Repositório de PublicaçõesPUBhttps://lume.ufrgs.br/oai/requestopendoar:2021-05-07T07:36:52Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false
dc.title.pt_BR.fl_str_mv Work stealing inside GPUs
dc.title.alternative.pt.fl_str_mv Roubo de trabalho em processadores gráficos
title Work stealing inside GPUs
spellingShingle Work stealing inside GPUs
Toss, Julio
Processamento paralelo
Mpi
GPGPU
Scheduling
Dynamic load balancing
Work stealing
Array transform
title_short Work stealing inside GPUs
title_full Work stealing inside GPUs
title_fullStr Work stealing inside GPUs
title_full_unstemmed Work stealing inside GPUs
title_sort Work stealing inside GPUs
author Toss, Julio
author_facet Toss, Julio
author_role author
dc.contributor.author.fl_str_mv Toss, Julio
dc.contributor.advisor1.fl_str_mv Maillard, Nicolas Bruno
dc.contributor.advisor-co1.fl_str_mv Gautier, Thierry
contributor_str_mv Maillard, Nicolas Bruno
Gautier, Thierry
dc.subject.por.fl_str_mv Processamento paralelo
Mpi
topic Processamento paralelo
Mpi
GPGPU
Scheduling
Dynamic load balancing
Work stealing
Array transform
dc.subject.eng.fl_str_mv GPGPU
Scheduling
Dynamic load balancing
Work stealing
Array transform
description Unidades de processamento gráfico (GPU) tornaram-se ferramentas de grande valia no domínio da computação de alto desempenho. Graças as recentes inovações e melhoramentos do hardware é possível utilizar processadores gráficos de propósito genéricos (GPGPUS) em uma ampla gama de aplicações científicas. No entanto, os modelos de programação existentes usados em GPGPU não são ainda suficientemente adaptáveis `as diversas formas de paralelismo que uma aplicação possa expressar. Neste contexto, propomos um modelo híbrido de programação paralela para GPGPU usando paralelismo de tarefas e de dados. Em oposição ao que e advogado pelo modelo de programação CUDA, baseado apenas no paralelismo de dados, mostramos que ´e possível explorar o paralelismo de tarefas em GPUs e escaloná-las de forma eficiente usando a técnica do roubo de tarefas. Apresentamos neste trabalho a implementação de um escalonador por roubo de tarefas em CUDA e comparamos seu desempenho aos métodos de escalonamento estático e por lisa aplicados aos problemas de transformação em array e particionamento em octree.
publishDate 2011
dc.date.issued.fl_str_mv 2011
dc.date.accessioned.fl_str_mv 2012-01-26T01:19:50Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv http://hdl.handle.net/10183/36890
dc.identifier.nrb.pt_BR.fl_str_mv 000819140
url http://hdl.handle.net/10183/36890
identifier_str_mv 000819140
dc.language.iso.fl_str_mv eng
language eng
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.source.none.fl_str_mv reponame:Repositório Institucional da UFRGS
instname:Universidade Federal do Rio Grande do Sul (UFRGS)
instacron:UFRGS
instname_str Universidade Federal do Rio Grande do Sul (UFRGS)
instacron_str UFRGS
institution UFRGS
reponame_str Repositório Institucional da UFRGS
collection Repositório Institucional da UFRGS
bitstream.url.fl_str_mv http://www.lume.ufrgs.br/bitstream/10183/36890/2/000819140.pdf.txt
http://www.lume.ufrgs.br/bitstream/10183/36890/1/000819140.pdf
http://www.lume.ufrgs.br/bitstream/10183/36890/3/000819140.pdf.jpg
bitstream.checksum.fl_str_mv 17d57b90b4e54921d1fb0ed9672a4062
024cac82df97344f0dab9513e8b26e10
f91978fd4a70fabc76d3de8aa10bf251
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)
repository.mail.fl_str_mv
_version_ 1801224421623463936