{"id":4666,"date":"2018-02-14T21:03:12","date_gmt":"2018-02-14T23:03:12","guid":{"rendered":"http:\/\/inf.ufpel.edu.br\/site\/?p=4666"},"modified":"2018-02-14T21:03:12","modified_gmt":"2018-02-14T23:03:12","slug":"banca-de-tcc-rodrigo-da-rosa-oliveira","status":"publish","type":"post","link":"https:\/\/wp.ufpel.edu.br\/computacao\/ccomp\/banca-de-tcc-rodrigo-da-rosa-oliveira\/","title":{"rendered":"Banca de TCC &#8211; Rodrigo da Rosa Oliveira"},"content":{"rendered":"<p style=\"text-align: center\"><strong>UNIVERSIDADE FEDERAL DE PELOTAS<\/strong><br \/>\n<strong> CENTRO DE DESENVOLVIMENTO TECNOL\u00d3GICO<\/strong><br \/>\n<strong> TRABALHO DE CONCLUS\u00c3O DE CURSO<\/strong><\/p>\n<p style=\"text-align: center\">Apresenta\u00e7\u00f5es Finais (2017\/2)<\/p>\n<p style=\"text-align: center\">Uma Biblioteca com Suporte Multithread a Matrizes Esparsas em C++<br \/>\npor<br \/>\nRodrigo da Rosa Oliveira<\/p>\n<p>Curso:<br \/>\nCi\u00eancia da Computa\u00e7\u00e3o<\/p>\n<p>Banca:<br \/>\nProf. Gerson Geraldo Homrich Cavalheiro (orientador(a))<br \/>\nMSc. Andr\u00e9 Desessards Jardim (coorientador(a))<br \/>\nProf. Adenauer Correa Yamin<br \/>\nProf. Andr\u00e9 Rauber Du Bois<\/p>\n<p>Data: 05 de Mar\u00e7o de 2018<\/p>\n<p>Hora: 13:30h<\/p>\n<p>Local: Sala 210B<\/p>\n<p style=\"text-align: justify\"><!--more-->Resumo do Trabalho: Matrizes s\u00e3o estruturas de dados importantes em aplica\u00e7\u00f5es cient\u00edficas. Na pr\u00e1tica elas tendem a ser muito grandes, ocupando uma quantidade significativa de mem\u00f3ria para a sua representa\u00e7\u00e3o. No entanto, ocorrem situa\u00e7\u00f5es em que as matrizes s\u00e3o esparsas, onde a maior parte de seus elementos tem valor igual a zero. Isto significa que, em compara\u00e7\u00e3o ao tamanho da matriz, os elementos utilizados pela aplica\u00e7\u00e3o s\u00e3o poucos, mas a estrutura virtual da matriz precisa ser preservada para o contexto do problema tratado pelo programa. Neste caso \u00e9 poss\u00edvel utilizar t\u00e9cnicas de armazenamento especialmente desenvolvidas para matrizes esparsas, reduzindo a quantidade de mem\u00f3ria necess\u00e1ria para armazen\u00e1-las. Diversas bibliotecas oferecem suporte a matrizes esparsas, implementando diferentes t\u00e9cnicas de armazenamento dos valores n\u00e3o nulos. Contudo, n\u00e3o s\u00e3o muitas as bibliotecas que oferecem suporte \u00e0 execu\u00e7\u00e3o em ambientes multithread e aquelas que o oferecem n\u00e3o s\u00e3o padronizadas para uso seguro em C++. A biblioteca uBLAS disp\u00f5e de solu\u00e7\u00f5es para armazenamento e opera\u00e7\u00f5es com matrizes esparsas e pertence ao conjunto Boost, sem suporte a execu\u00e7\u00e3o multithread. Neste trabalho \u00e9 apresentada uma biblioteca para matrizes esparsas que suporta a execu\u00e7\u00e3o em multithread e mant\u00e9m a mesma interface de uBLAS, obtida por meio de modifica\u00e7\u00f5es na implementa\u00e7\u00e3o original da biblioteca que integra o conjunto Boost. Desta forma, \u00e9 oferecida uma solu\u00e7\u00e3o para matrizes esparsas em ambientes multithread, padronizada para uso em C++, sendo que testes realizados neste trabalho demonstram um aumento consider\u00e1vel no desempenho da multiplica\u00e7\u00e3o entre matrizes, quando utilizados v\u00e1rios threads simult\u00e2neos, em compara\u00e7\u00e3o \u00e0 execu\u00e7\u00e3o sequencial utilizando a biblioteca uBLAS original.<\/p>\n<p>Para mais informa\u00e7\u00f5es acesse: <a href=\"http:\/\/wp.ufpel.edu.br\/notcc\/bancas\/historico\/2017_2\/\">http:\/\/wp.ufpel.edu.br\/notcc\/bancas\/historico\/2017_2\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>UNIVERSIDADE FEDERAL DE PELOTAS CENTRO DE DESENVOLVIMENTO TECNOL\u00d3GICO TRABALHO DE CONCLUS\u00c3O DE CURSO Apresenta\u00e7\u00f5es Finais (2017\/2) Uma Biblioteca com Suporte Multithread a Matrizes Esparsas em C++ por Rodrigo da Rosa Oliveira Curso: Ci\u00eancia da&#46;&#46;&#46;<\/p>\n","protected":false},"author":881,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[4,19,17],"tags":[],"class_list":["post-4666","post","type-post","status-publish","format-standard","hentry","category-ccomp","category-ecomp","category-noticia"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/paGhNl-1dg","_links":{"self":[{"href":"https:\/\/wp.ufpel.edu.br\/computacao\/wp-json\/wp\/v2\/posts\/4666","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp.ufpel.edu.br\/computacao\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp.ufpel.edu.br\/computacao\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp.ufpel.edu.br\/computacao\/wp-json\/wp\/v2\/users\/881"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.ufpel.edu.br\/computacao\/wp-json\/wp\/v2\/comments?post=4666"}],"version-history":[{"count":0,"href":"https:\/\/wp.ufpel.edu.br\/computacao\/wp-json\/wp\/v2\/posts\/4666\/revisions"}],"wp:attachment":[{"href":"https:\/\/wp.ufpel.edu.br\/computacao\/wp-json\/wp\/v2\/media?parent=4666"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp.ufpel.edu.br\/computacao\/wp-json\/wp\/v2\/categories?post=4666"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp.ufpel.edu.br\/computacao\/wp-json\/wp\/v2\/tags?post=4666"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}