Implementação paralela em cuda de algoritmo dual scaling em dados de ordem de classificação
Autor(a) principal: | |
---|---|
Data de Publicação: | 2023 |
Tipo de documento: | Trabalho de conclusão de curso |
Idioma: | por |
Título da fonte: | Repositório Institucional da Universidade Federal Fluminense (RIUFF) |
Texto Completo: | http://app.uff.br/riuff/handle/1/30823 |
Resumo: | Atualmente vivemos um cenário em que é cada vez mais necessário otimizar a forma como tratamos os dados disponíveis, isto devido ao substancial aumento no volume destes para serem analisados e transformados em informação, por isso se faz necessário o desenvolvimento de novas técnicas mais eficientes para tratar grandes volumes de dados. O Dual Scaling é uma dessas técnicas e tem por objetivo mapear itens e transações de uma base de dados como pontos em um espaço multidimensional, onde as distâncias entre os mesmos demonstram o quão relacionados são os itens na base de dados. Entretanto, o modelo matemático utilizado por esta técnica é altamente custoso e o fato de só existirem implementações sequenciais disponíveis na literatura somente amplia este problema. Neste trabalho, é utilizada a plataforma de computação paralela CUDA e a biblioteca Cusp para o desenvolvimento de uma implementação paralela do algoritmo de Dual Scaling. Após o detalhamento da solução, são realizados testes comparando o tempo de execução desta solução a uma implementação sequencial em C++ utilizando a biblioteca Eigen e através destes testes é possível verificar a redução do tempo de processamento da implementação proposta |
id |
UFF-2_d34b7fdc5064865aea0c3092470cf9a2 |
---|---|
oai_identifier_str |
oai:app.uff.br:1/30823 |
network_acronym_str |
UFF-2 |
network_name_str |
Repositório Institucional da Universidade Federal Fluminense (RIUFF) |
repository_id_str |
2120 |
spelling |
Implementação paralela em cuda de algoritmo dual scaling em dados de ordem de classificaçãoDual scalingCUDACuspC++Programação paralelaC++ (Linguagem de programação de computador)Programação paralela (Computação)Gerenciamento de dadosParallel programmingAtualmente vivemos um cenário em que é cada vez mais necessário otimizar a forma como tratamos os dados disponíveis, isto devido ao substancial aumento no volume destes para serem analisados e transformados em informação, por isso se faz necessário o desenvolvimento de novas técnicas mais eficientes para tratar grandes volumes de dados. O Dual Scaling é uma dessas técnicas e tem por objetivo mapear itens e transações de uma base de dados como pontos em um espaço multidimensional, onde as distâncias entre os mesmos demonstram o quão relacionados são os itens na base de dados. Entretanto, o modelo matemático utilizado por esta técnica é altamente custoso e o fato de só existirem implementações sequenciais disponíveis na literatura somente amplia este problema. Neste trabalho, é utilizada a plataforma de computação paralela CUDA e a biblioteca Cusp para o desenvolvimento de uma implementação paralela do algoritmo de Dual Scaling. Após o detalhamento da solução, são realizados testes comparando o tempo de execução desta solução a uma implementação sequencial em C++ utilizando a biblioteca Eigen e através destes testes é possível verificar a redução do tempo de processamento da implementação propostaCurrently we live in a scenario where it is increasingly necessary to optimize the way we treat available data, due to the substantial increase in the volume of data to be analyzed and transformed into information, so it is necessary to develop new techniques, more efficient in handling large volumes of data. Dual Scaling is one such technique and aims to map items and transactions from a database as points in a multidimensional space, where the distance between them demonstrates how closely the items in the database are related. However, the mathematical model used by this technique is highly costly and the fact that there are only sequential implementations available on the market only magnifies this problem. In this work, the CUDA parallel computing platform and the Cusp library are used to develop a parallel implementation of the Dual Scaling algorithm. After detailing the solution, tests are performed comparing the execution time of this solution to a sequential implementation in C ++ using the Eigen library and through these tests it is possible to verify the reduced processing time of the proposed implementation41 p.Mantuan, Altobelli de Britohttp://lattes.cnpq.br/5002413550846760Martins, Simone de Limahttp://lattes.cnpq.br/5202429302236084Vieira, Leonardo Santana2023-10-17T14:35:18Z2023-10-17T14:35:18Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisapplication/pdfVIEIRA, Leonardo Santana. Implementação paralela em cuda de algoritmo dual scaling em dados de ordem de classificação. 2019. 41 f. Trabalho de Conclusão de Curso (Graduação em Tecnologia em Sistemas de Computação) - Instituto de Computação, Universidade Federal Fluminense, Niterói, 2019.http://app.uff.br/riuff/handle/1/30823CC-BY-SAinfo:eu-repo/semantics/openAccessporreponame:Repositório Institucional da Universidade Federal Fluminense (RIUFF)instname:Universidade Federal Fluminense (UFF)instacron:UFF2023-10-17T14:35:22Zoai:app.uff.br:1/30823Repositório InstitucionalPUBhttps://app.uff.br/oai/requestriuff@id.uff.bropendoar:21202023-10-17T14:35:22Repositório Institucional da Universidade Federal Fluminense (RIUFF) - Universidade Federal Fluminense (UFF)false |
dc.title.none.fl_str_mv |
Implementação paralela em cuda de algoritmo dual scaling em dados de ordem de classificação |
title |
Implementação paralela em cuda de algoritmo dual scaling em dados de ordem de classificação |
spellingShingle |
Implementação paralela em cuda de algoritmo dual scaling em dados de ordem de classificação Vieira, Leonardo Santana Dual scaling CUDA Cusp C++ Programação paralela C++ (Linguagem de programação de computador) Programação paralela (Computação) Gerenciamento de dados Parallel programming |
title_short |
Implementação paralela em cuda de algoritmo dual scaling em dados de ordem de classificação |
title_full |
Implementação paralela em cuda de algoritmo dual scaling em dados de ordem de classificação |
title_fullStr |
Implementação paralela em cuda de algoritmo dual scaling em dados de ordem de classificação |
title_full_unstemmed |
Implementação paralela em cuda de algoritmo dual scaling em dados de ordem de classificação |
title_sort |
Implementação paralela em cuda de algoritmo dual scaling em dados de ordem de classificação |
author |
Vieira, Leonardo Santana |
author_facet |
Vieira, Leonardo Santana |
author_role |
author |
dc.contributor.none.fl_str_mv |
Mantuan, Altobelli de Brito http://lattes.cnpq.br/5002413550846760 Martins, Simone de Lima http://lattes.cnpq.br/5202429302236084 |
dc.contributor.author.fl_str_mv |
Vieira, Leonardo Santana |
dc.subject.por.fl_str_mv |
Dual scaling CUDA Cusp C++ Programação paralela C++ (Linguagem de programação de computador) Programação paralela (Computação) Gerenciamento de dados Parallel programming |
topic |
Dual scaling CUDA Cusp C++ Programação paralela C++ (Linguagem de programação de computador) Programação paralela (Computação) Gerenciamento de dados Parallel programming |
description |
Atualmente vivemos um cenário em que é cada vez mais necessário otimizar a forma como tratamos os dados disponíveis, isto devido ao substancial aumento no volume destes para serem analisados e transformados em informação, por isso se faz necessário o desenvolvimento de novas técnicas mais eficientes para tratar grandes volumes de dados. O Dual Scaling é uma dessas técnicas e tem por objetivo mapear itens e transações de uma base de dados como pontos em um espaço multidimensional, onde as distâncias entre os mesmos demonstram o quão relacionados são os itens na base de dados. Entretanto, o modelo matemático utilizado por esta técnica é altamente custoso e o fato de só existirem implementações sequenciais disponíveis na literatura somente amplia este problema. Neste trabalho, é utilizada a plataforma de computação paralela CUDA e a biblioteca Cusp para o desenvolvimento de uma implementação paralela do algoritmo de Dual Scaling. Após o detalhamento da solução, são realizados testes comparando o tempo de execução desta solução a uma implementação sequencial em C++ utilizando a biblioteca Eigen e através destes testes é possível verificar a redução do tempo de processamento da implementação proposta |
publishDate |
2023 |
dc.date.none.fl_str_mv |
2023-10-17T14:35:18Z 2023-10-17T14:35:18Z |
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 |
VIEIRA, Leonardo Santana. Implementação paralela em cuda de algoritmo dual scaling em dados de ordem de classificação. 2019. 41 f. Trabalho de Conclusão de Curso (Graduação em Tecnologia em Sistemas de Computação) - Instituto de Computação, Universidade Federal Fluminense, Niterói, 2019. http://app.uff.br/riuff/handle/1/30823 |
identifier_str_mv |
VIEIRA, Leonardo Santana. Implementação paralela em cuda de algoritmo dual scaling em dados de ordem de classificação. 2019. 41 f. Trabalho de Conclusão de Curso (Graduação em Tecnologia em Sistemas de Computação) - Instituto de Computação, Universidade Federal Fluminense, Niterói, 2019. |
url |
http://app.uff.br/riuff/handle/1/30823 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
CC-BY-SA info:eu-repo/semantics/openAccess |
rights_invalid_str_mv |
CC-BY-SA |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da Universidade Federal Fluminense (RIUFF) instname:Universidade Federal Fluminense (UFF) instacron:UFF |
instname_str |
Universidade Federal Fluminense (UFF) |
instacron_str |
UFF |
institution |
UFF |
reponame_str |
Repositório Institucional da Universidade Federal Fluminense (RIUFF) |
collection |
Repositório Institucional da Universidade Federal Fluminense (RIUFF) |
repository.name.fl_str_mv |
Repositório Institucional da Universidade Federal Fluminense (RIUFF) - Universidade Federal Fluminense (UFF) |
repository.mail.fl_str_mv |
riuff@id.uff.br |
_version_ |
1825433317139283968 |