Implementação e investigação de algoritmos computacionais paralelos para caracterização de imagens radiológicas de mamografias

Tamanho: px
Começar a partir da página:

Download "Implementação e investigação de algoritmos computacionais paralelos para caracterização de imagens radiológicas de mamografias"

Transcrição

1 Implementação e investigação de algoritmos computacionais paralelos para caracterização de imagens radiológicas de mamografias Matheu A. Batista dos Santos, Pedro Lima Oliveira, Marcelo Ossamu Honda Departamento de Ciências Exatas e Tecnológicas Universidade Estadual de Santa Cruz (UESC) Ilhéus, BA Brasil {matheubatista,pedrock1991}@gmail.com, mohonda@uesc.br Abstract. This paper describes the implementation and research of parallel computing algorithms using the concept of co ocurrence for extracting results in radiological mammography images, of the Haralick s texture attributes. The implementation of the algorithms is made in OpenCL, an architecture for heterogeneous platforms, and CUDA, programing model created by NVIDIA and implemented for their GPUs. Enabling research about the performance of implementation on different architecture, analyzing and studying performance and accuracy of the co occurrence matrix and texture attributes for characterization of radiological images. Resumo. Este artigo descreve a implementação e a investigação de algoritmos computacionais paralelos utilizando o conceito de matrizes de coocorrência para a extração, nas imagens radiológicas de mamografias, dos atributos de texturas de Haralick. É feita a implementação dos algoritmos em OpenCL, uma arquitetura para plataformas heterogêneas, e CUDA, modelo de programação criada pela NVIDIA e implementada para suas GPUs. Possibilitando a investigação sobre o desempenho das implementações em diferentes arquiteturas, analisando e estudando performance e precisão da matriz de coocorrência e dos atributos de textura para caracterização de imagens radiológicas. 1. Introdução Para auxiliar o médico no diagnóstico de doenças que só são encontradas a partir de imagens médicas, vem sendo realizadas várias pesquisas para o desenvolvimento de sistemas de apoio ao diagnóstico, CAD Computer aided diagnosis. Diagnóstico auxiliado por computador (CAD) é um diagnóstico feito por um médico qual utiliza se de resultados realizado por um computador, no caso do câncer de mama, através da análise da imagem médica como uma segunda opinião, seja para detecção das lesões ou na tomada de decisões de diagnóstico, entretanto é importante enfatizar, que o diagnóstico final sempre será o do médico [Giger e Kupinski 2000]. O CAD surgiu para ajudar o médico no diagnóstico de diversas doenças e para isso ocorrer é necessário a elaboração de programas precisos e rápidos. Durante os últimos anos as GPUs Graphics Processing Unit vem sendo usadas por diversos

2 pesquisadores para calcular grandes massas de dados, por possuir ferramentas e arquitetura que permitem isso. Nessas pesquisas se destacam pela sua avançada programação, a linguagem paralela OpenCL [Gaster et al. 2012] e a linguagem exclusiva para arquiteturas NVIDIA CUDA [Sanders e Kandrot 2010]. A pesquisa realizada desenvolveu algoritmos em ambas linguagens, analisando e estudando desempenho e precisão da matriz de coocorrência e dos atributos de textura para caracterização de imagens radiológicas, a qual é levado em conta quando se faz um diagnóstico médico. Para isso foi utilizado o que se estava acessível em nível de computador pessoal e de computação de alto desempenho para o processamento e manipulação dos dados. O objetivo desta pesquisa é a implementação e a investigação de algoritmos computacionais com tecnologia de computação paralela, quais possam em projetos futuros ser utilizados na caracterização de imagens radiológicas de mamografia para o desenvolvimento de sistemas computadorizados de auxílio ao diagnóstico. 2. Materiais e Métodos Primeiro descreveremos o trabalho antes da análise dos atributos de textura de Haralick, [Haralick et al. 1973], introduzindo as ferramentas e tecnologias abordadas. Na próxima seção falaremos sobre a matriz de coocorrência e em seguinte os atributos de textura utilizados para caracterizar as imagens radiológicas. Logo após falaremos sobre aspectos do algoritmo serial, algumas otimizações de código e implementação paralela Plataforma de Desenvolvimento Os testes foram realizados em um Desktop com processador AMD FX 4100 Quad Core 3,30 GHz, 4 GB de RAM DDR3 e equipado com uma Geforce GT GB 96 CUDA Cores e em um nó do cluster CACAU (Centro de Armazenamento de dados e Computação Avançada da UESC) equipado com dois processadores Intel Xeon E GHz, 48 GB de RAM DDR3 e duas GPUs Tesla K20 5GB GDDD CUDA Cores, sendo somente usado uma delas para executar os algoritmos paralelos. Os sistemas operacionais instalados foram OpenSUSE bits e Red Hat Enterprise Linux Server release bits respectivamente. Ambos com CUDA Toolkit 6.5 (possui as bibliotecas OpenCL para GPUs NVIDIA) CUDA e OpenCL Alguns modelos de programação paralela não possuem mecanismos apropriados para trabalhar estruturas hierárquicas específicas de memória ou paralelismo massivo de dados. Já os modelos para arquiteturas heterogêneas baseados em CPU e GPU tem desempenhado um papel fundamental, pois apresentam ferramentas específicas para gerenciar estruturas complexas de memória e execução de SIMD (Single instruction, multiple data). A NVIDIA oferece uma plataforma de computação paralela e modelo de programação acessível ao desenvolvedor por meio de uma extensão à linguagem de programação C chamada Compute Unified Device Architecture (CUDA), utilizada exclusivamente em suas GPUs. As GPUs evoluíram em sistemas multicores altamente

3 paralelos tornado se mais eficientes que as CPUs de propósito geral ao lidar com algoritmos que processam grandes quantidades de dados em paralelo [Kirk e Hwu 2010], como algoritmos de ordenação e redução. OpenCL permite um gerenciamento de plataformas mais elaborado e garante portabilidade para múltiplos fornecedores de hardware [Khronos Group 2015]. Já estando disponíveis implementações de OpenCL para GPUs da AMD, NVIDIA e ATI bem como para CPUs da AMD, ARM, IBM e Intel Matriz de Coocorrência A extração dos atributos de textura proposto por Haralick são extraídos através da matriz de coocorrência de níveis de cinza. A matriz de coocorrência é uma matriz de frequências no qual dois pixels, em dada distância, ocorrem na imagem, [Haralick 1979]. Na fase inicial de estudos optamos por trabalhar com matrizes geradas randomicamente, sendo representação de uma imagem de 3000 x 3000 pixels de 12 bits de níveis de cinza (4096 diferentes níveis de cinza). A informação estatística obtida da imagem resulta em uma matriz de coocorrência esparsa de dimensão 4096 x O espaço ocupado é de 4096 x 4096 x 4 bytes = 64 MBytes na memória. As GPUs na qual realizamos os testes possuem 1 GB (Gforce GT 430) e 5 GB (Tesla K20) de memória. São extraídas matrizes de coocorrência para as direções 0º, 45º, 90º e 135º com distância 1, levando em consideração os sentidos da direita para esquerda e de baixo para cima abrangido as direções 180º, 225º, 270º e 315º, totalizando oito matrizes de coocorrência para uma mesma imagem (Figura 1). Após a etapa de extração, somamos as matrizes e normalizamos o resultado obtendo uma matriz de coocorrência resultante de duplo ponto flutuante. A partir dela são feitas os cálculos dos atributos de textura. Figura 1. Oito direções para extração da Matriz de Coocorrência Atributos de Texturas Haralick propôs quatorze atributos de texturas a serem extraídos da matriz de coocorrência de níveis de cinza [Haralick, et al. 1973]. Dos quatorze atributos implementamos dez. Os atributos implementados são: Segunda Momento Angular Também conhecido como energia. Ele mede a uniformidade da imagem.

4 Contraste f 1 = (P (i, j) ) 2 i=1 j=1 Contraste é uma estimativa da intensidade ou a variação dos níveis de cinza entre pares de pontos da imagem. Variância Ng 1 f 2 = n=0 i=1 j=1 i j =n n 2 { P (i, j) } É um indicador da variação da tonalidade de fundo da imagem. f 3 = (i μ) 2 P (i, j ) i =1 j =1 Momento da Diferença Inversa Mede a homogeneidade local da imagem. Ele é alto quando o nível de cinza local é uniforme e inversa quando a matriz de coocorrência de níveis de cinza é alta. Média da Soma f 4 = i=1 j=1 1 1+(i j) 2 P (i, j) É um indicador de pequenas mudanças e texturas sutis. Variância da Soma Soma da Entropia Entropia 2 Ng f 5 = k P x+ y (k) k =2 2 Ng f 6 = (k f 5 ) 2 P x+ y (k) k =2 2 Ng f 7 = P x+ y (k)log {P x+ y (k)} k =2 É o indicador de quantidade de informação propiciado pelas interações entre os pixels da imagem. f 8 = P (i, j ) log( P (i, j ) ) i =1 j =1 Variância da Diferença Ng f 9 = i =1 Diferença da Entropia Ng [ P x y (k)(k P x y ) 2 ] l=1

5 Ng f 10 = P x y (k) log{p x y (k)} k=1 A segui as definições dos atributos de texturas de Haralick. P x + y (k)= P (i, j) i =1 j =1 k=i+ j k =2,3,..2 Ng 2 P x y (k)= P (i, j ) i=1 j=1 k= i j k=0,1,2.. Ng 2 Ng P (i) = P (i, j) j =1 Ng μ= g p (g) g = Implementação dos algoritmos Para a implementação do código serial foi usado a linguagem C++, por ser imperativa e possuir recursos de linguagem orientada a objeto ao mesmo tempo proporcionando facilidades para manipulação de memória de baixo nível, além da compatibilidade com o CUDA e OpenCL. Iniciado a divisão e estudo dos atributos, foi implementado o código serial de cada método proposto, fazendo análise de tempo em cada arquitetura abordada para que mais tarde seja feita uma comparação de desempenho com o código paralelo para GPU. O código serial da matriz de coocorrência é calculado nas quatro direções (0º, 45º, 90º, 135º) em ambos os sentidos como abordado em 2.3 abrangendo os ângulos 180º, 225º, 270º e 315º, sendo usado quatro laços para calcular as oito direções, resultando em quatro matrizes. Cada matriz é normalizada e então tiramos a média, ao final obtemos uma matriz de coocorrência de níveis de cinza normalizada. Implementado os atributos de Haralick é feita uma análise de tempo individual a cada atributo, com a chamada de cada método que compõem suas equações, pois alguns deles possuem métodos comuns uns aos outros como P x + y (k) e P x y (k). O mesmo é feito ao obter o tempo para o código paralelo, visto que temos como objetivos a investigação e análise de cada algoritmo dos atributos. No código paralelo usando CUDA o programador deve criar funções denominadas kernels que são partes de código executadas na GPU. Os kernels geram um grande número de threads para poder explorar o paralelismo de dados. Na estrutura do CUDA estas threads são dívidas por blocos, compartilhando uma memória (geralmente 48 KBytes) de alta velocidade. Para o calculo da matriz de coocorrência com o CUDA separamos o problema em duas etapas. A primeira temos um kernel para calcular as matrizes nas oito direções seguindo sequencialmente um a um e somando os resultados em uma matriz final. Na segunda parte tempos o segundo kernel responsável

6 pela normalização. Ambos os kernels são chamados uma única vez. Para o código OpenCL o programador deve criar funções de kernels dentro de um aquivo nomeado com extensão.cl. Por ser uma linguagem multiplataforma fica a trabalho do programador, no código principal, apontar a plataforma, o dispositivo, criar o controlador do kernel e o contexto de execução [Kowalik e Puźniakowski 2012]. Para o calculo da matriz de coocorrência com OpenCL, primeiro temos um kernel para calcular as matrizes nas oito direções, mas pela versão atual não possuir suporte para operações atômicas com ponto flutuante, a normalização e feita na CPU. Por o OpenCL exigir o trabalho de identificação da plataforma e dispositivo, os testes apresentados foram realizados apenas na máquina com o AMD FX Diferente do CUDA que é atrelado as GPUs NVIDIA o OpenCL pode ser executado tanto na CPU quanto na GPU sendo necessário o fornecimento dos drivers pelas fabricantes. Para os testes na GPU Tesla K20 seriam necessários alterações no seu código fonte, alterações essas que serão realizadas nos próximos trabalho. Nos atributos de Haralick se segue a mesma ideia, as equações são dívidas em várias partes paralelizáveis e é construído um CUDA kernel para cada parte. Já quanto ao OpenCL não foi possível a implementação do código paralelo para os atributos de Haralick visto que a matriz de coocorrência é de duplo ponto flutuante e em todas as equações é necessário a realização de operações atômicas com double, ainda não suporta na versão 2.0 do OpenCL. 3. Resultados Todos os testes consistiram na avaliação de tempo para cada algoritmo individualmente. Na matriz de coocorrências, obtidos os tempos calculamos o speedup em comparação a cada caso (Tabela 1). Nos resultado ficou expressivo o ótimo desempenho do código para GPU com o uso do CUDA, chegando a onze vezes mais rápido em comparação ao pior caso. Tabela 1. Tempo de execução e comparação de speedup para todas as implementações da matriz de coocorrência normalizada. Tempo de Execução (s) Speedup Caso 1. Speedup Caso 2. Speedup Caso 3. Speedup Caso Serial para CPU (AMD FX 4100) 2. Serial para CPU (Intel Xeon E5 2440) 3. GPU OpenCL (GT 430) 4. GPU CUDA (GT 430) 5. GPU CUDA (Tesla K20) 5,04 2,11 2,39x 2,09 2,41 1x 1,10 4,56x 1,91x 1,9x 0,44 11,38x 4,77x 4,75x 2,50x

7 Nos cálculos dos atributos de Haralik (Tabela 2) o código paralelo se mostrou sempre melhor que o serial executado no processador AMD, já quando fazemos a comparação com o Intel Xeon as equações f 1, f 2, f 3 tiveram melhores resultados que as GPUs chegando a duas vezes mias rápido para a variância, f 3. Em alguns casos para o paralelo rodado na GPU GT 430 ouve pouca diferença em relação ao serial na Intel Xeon, na qual podemos levar em conta de que a placa Gforce GT 430 é um modelo que podemos considerar antigo. Já o paralelo executado Tesla K20 tivemos tempos em até quatorze vezes mais rápido. Está é uma GPU que tem como um dos propósitos os cálculos científicos. Tabela 2. Tempo de execução em segundos do programa para cada atributos de texturas de Haralick. Serial CPU (AMD FX 4100) Serial CPU (Xeon E5 2440) Paralelo GPU CUDA (GT 430) Paralelo GPU CUDA (Tesla K20) f 1 0,195 0,024 0,059 0,403 f 2 0,121 0,039 0,070 0,062 f 3 0,174 0,048 1,574 2,279 f 4 0,140 0,154 0,083 0,062 f 5 389, , ,697 14,9 f 6 762, , ,937 14,945 f 7 389, , ,234 14,9 f 8 0,623 0,599 0,209 0,08 f 9 615,96 213, ,093 22,579 f ,454 97,277 50,642 7, Conclusão O uso do OpenCL nos permitiu somente a calculo da matriz de coocorrência, por trabalhamos com operações inteiras, sendo necessária fazer a normalização na CPU. Todos as operações para calcular os atributos de texturas de Haralick são dependentes da matriz de coocorrência, em que seu resultado é em duplo ponto flutuante, não permitindo inicialmente as implementações dos atributos, pois o OpenCL ainda não possui, na versão atual, suporte para operações atômicas de duplo ponto flutuante. Este problema pode ser parcialmente resolvido com a conversão dos dados de double para long long int, alternativa que abordaremos nós próximos trabalhos. O CUDA demostrou uma ótima ferramenta para os cálculos da matriz de coocorrência chegando a onze vezes mais rápido em comparação ao pior caso. Para os atributos de textura obteve resultados de até sete vezes na GT 430, uma GPU simples, e quatorze vezes na Tesla K20, uma GPU própria para realização de cálculos científicos. Esta ferramenta se encontra se bem consolidada no mercado para lidar com massivas quantidades de dados a serem processados, se tornando uma boa alternativa para

8 biólogos e para medicina no processamento de imagens. Nos próximos trabalhos começaremos a realizar os testes com imagens médicas obtidas no DDSM: Digital Database for Screening Mammography, da University of South Florida, no endereço [Bowyer at al. 1996], também vamos implementar a versão paralela para CPU, com o uso do OpenMP (Open Multi-Processing), e uma implementação híbrida com o MPI (Message Passing Interface). 5. Referências Giger, M. L., Huo, Z., e Kupinski, M. A. (2000); Carl J Vyborny, Computer-Aided Diagnosis in Mammography, in Handbook of Medical Imaging, Volume 2. Medical Image Processing and Analysis, M. Sonka and J. M. Fitzpatrick, Eds th Street, Bellingham, WA USA: SPIE. Gaster, B., Howes, L., Kaeli, D. R., Mistry, P., Schaa, D. (2012), Heterogeneous Computing with OpenCL: Revised OpenCL 1.2 Edition, Elsevier Science. Sanders, J., Kandrot, E. (2010). CUDA by Example: An Introduction to General Purpose GPU Programming, Addison Wesley. Haralick, R. M., Shanmugam, K. e Dinstein, Its'Hak. (1973). Textural Features for Image Classification. IEEE Transactions on Systems Man and Cybernetics SMC, p Kowalik, J., Puźniakowski, T. (2012). Using OpenCL: Programming Massively Parallel Computers, IOS Press. Haralick, R. M. (1979). Statistical and structural approaches to texture. Proceeding of the IEEE, p Kirk, D. B., Hwu, W. W. (2010), Programming Massively Parallel Processores: A Hands on Approach, p Published by Elsevier Inc. Khronos Group, The open standard for parallel programming of heterogeneous systems. Disponível em: < Acesso em 27 de fev K. Bowyer, D. Kopans, W. P. Kegelmeyer, R. Moore, M. Sallam, K. Chang, and K. Woods, (1996) The Digital Database for Screening Mammography, 1996.

Técnicas de Processamento Paralelo na Geração do Fractal de Mandelbrot

Técnicas de Processamento Paralelo na Geração do Fractal de Mandelbrot Técnicas de Processamento Paralelo na Geração do Fractal de Mandelbrot Bruno Pereira dos Santos Dany Sanchez Dominguez Esbel Tomás Evalero Orellana Universidade Estadual de Santa Cruz Roteiro Breve introdução

Leia mais

Paradigmas de Processamento Paralelo na Resolução do Fractal de Mandelbrot

Paradigmas de Processamento Paralelo na Resolução do Fractal de Mandelbrot Paradigmas de Processamento Paralelo na Resolução do Fractal de Mandelbrot Bruno Pereira dos Santos Dany Sanchez Dominguez Universidade Estadual de Santa Cruz Cronograma Introdução Serial vs Processamento

Leia mais

Processamento Paralelo Utilizando GPU

Processamento Paralelo Utilizando GPU Processamento Paralelo Utilizando GPU Universidade Estadual de Santa Cruz Bruno Pereira dos Santos Dany Sanchez Dominguez Esbel Evalero Orellana Cronograma Breve introdução sobre processamento paralelo

Leia mais

What is? Eduardo Viola Nicola Disciplina de IPPD

What is? Eduardo Viola Nicola Disciplina de IPPD What is? Eduardo Viola Nicola evnicola@inf.ufpel.edu.br Disciplina de IPPD Sumário 1)Introdução 2)Princípio Geral de Funcionamento 3)Exemplos de Aplicações 4)Modelo de Programação 5)Linguagens Suportadas

Leia mais

Sparse Matrix-Vector Multiplication on GPU: When Is Rows Reordering Worthwhile?

Sparse Matrix-Vector Multiplication on GPU: When Is Rows Reordering Worthwhile? Sparse Matrix-Vector Multiplication on GPU: When Is Rows Reordering Worthwhile? Paula Prata João Muranho Instituto de Telecomunicações Departamento de Informática Universidade da Beira Interior Instituto

Leia mais

Comparação de eficiência entre OpenCL e CUDA

Comparação de eficiência entre OpenCL e CUDA Aluno: Thiago de Gouveia Nunes Orientador: Prof. Marcel P. Jackowski GPGPU O que é GPGPU? É programação de propósito geral em GPUs. =D GPGPU Existem 2 linguagens populares no mercado para GPGPU, o CUDA

Leia mais

Paralelização do Detector de Bordas Canny para a Biblioteca ITK usando CUDA

Paralelização do Detector de Bordas Canny para a Biblioteca ITK usando CUDA Paralelização do Detector de Bordas Canny para a Biblioteca ITK usando CUDA Luis Henrique Alves Lourenço Grupo de Visão, Robótica e Imagens Universidade Federal do Paraná 7 de abril de 2011 Sumário 1 Introdução

Leia mais

Implementação de um escalonador de processos em GPU

Implementação de um escalonador de processos em GPU Implementação de um escalonador de processos em GPU Guilherme Martins guilhermemartins@usp.br 6 de abril de 2017 Guilherme Martins (guilhermemartins@usp.br) Implementação de um escalonador de processos

Leia mais

Fabrício Gomes Vilasbôas

Fabrício Gomes Vilasbôas Fabrício Gomes Vilasbôas Apresentação Placas Arquitetura Toolkit e Ferramentas de Debug Pensando em CUDA Programação CUDA Python Programação PyCUDA 1) Grids( padrão Globus) 2) Clusters ( padrão MPI) 3)

Leia mais

5 Unidades de Processamento Gráfico GPUs

5 Unidades de Processamento Gráfico GPUs 5 Unidades de Processamento Gráfico GPUs As GPUs são processadores maciçamente paralelos, com múltiplos elementos de processamento, tipicamente utilizadas como aceleradores de computação. Elas fornecem

Leia mais

GPU (Graphics Processing Unit) Bruno Padilha Gregory De Bonis Luciana Kayo

GPU (Graphics Processing Unit) Bruno Padilha Gregory De Bonis Luciana Kayo GPU (Graphics Processing Unit) Bruno Padilha - 5745282 Gregory De Bonis - 6431180 Luciana Kayo - 6430992 O que é? O que é? - Processador auxiliar responsável principalmente por operações de ponto flutuante

Leia mais

Aluno de Pós-Graduação em Engenharia de Software para Dispositivos Móveis pela UNINTER

Aluno de Pós-Graduação em Engenharia de Software para Dispositivos Móveis pela UNINTER COMPARAÇÃO DE DESEMPENHO NA PROGRAMAÇÃO PARALELA HÍBRIDA (MPI + OPENMP) NA BUSCA DE TEXTO EM ARQUIVOS 1 COMPARISON OF PERFORMANCE IN HYBRID PARALLEL PROGRAMMING (MPI + OPENMP) IN SEARCH OF TEXT IN FILES

Leia mais

de petróleo. Um novo domínio chamado computação de propósito geral em processadores gráficos (GPGPU) surgiu quando os pipelines de gráficos de

de petróleo. Um novo domínio chamado computação de propósito geral em processadores gráficos (GPGPU) surgiu quando os pipelines de gráficos de 12 1 1.1. Motivações Dentre os tipos de técnicas de Inteligência Artificial existentes, as técnicas de Programação Genética (PG) continuam mudando rapidamente conforme os pesquisadores e profissionais

Leia mais

Computação Paralela (CUDA)

Computação Paralela (CUDA) Universidade Federal do Amazonas Faculdade de Tecnologia Departamento de Eletrônica e Computação Computação Paralela (CUDA) Hussama Ibrahim hussamaibrahim@ufam.edu.br Notas de Aula Baseado nas Notas de

Leia mais

Aplicação de Processamento Paralelo com GPU a Problemas de Escoamento Monofásico em Meios Porosos. Bruno Pereira dos Santos Dany Sanchez Dominguez

Aplicação de Processamento Paralelo com GPU a Problemas de Escoamento Monofásico em Meios Porosos. Bruno Pereira dos Santos Dany Sanchez Dominguez Aplicação de Processamento Paralelo com GPU a Problemas de Escoamento Monofásico em Meios Porosos Bruno Pereira dos Santos Dany Sanchez Dominguez 1 Roteiro 1. Introdução 2. Five-Spot Problem 3. Modelagem

Leia mais

Introdução à Programação Paralela através de Padrões. Denise Stringhini Calebe Bianchini Luciano Silva

Introdução à Programação Paralela através de Padrões. Denise Stringhini Calebe Bianchini Luciano Silva Introdução à Programação Paralela através de Padrões Denise Stringhini Calebe Bianchini Luciano Silva Sumário Introdução: conceitos de paralelismo Conceitos básicos sobre padrões de programação paralela

Leia mais

CLASSIFICAÇÃO DE PADRÕES EM IMAGENS UTILIZANDO DESCRITORES DE TEXTURA Pattern Classification in Images Using Descriptors of Texture

CLASSIFICAÇÃO DE PADRÕES EM IMAGENS UTILIZANDO DESCRITORES DE TEXTURA Pattern Classification in Images Using Descriptors of Texture CLASSIFICAÇÃO DE PADRÕES EM IMAGENS UTILIZANDO DESCRITORES DE TEXTURA Pattern Classification in Images Using Descriptors of Texture 1 e Sandro Roberto Fernandes 2 Resumo: Nesta pesquisa foi desenvolvido

Leia mais

Computadores e Programação (DCC/UFRJ)

Computadores e Programação (DCC/UFRJ) Computadores e Programação (DCC/UFRJ) Aula 3: 1 2 3 Abstrações do Sistema Operacional Memória virtual Abstração que dá a cada processo a ilusão de que ele possui uso exclusivo da memória principal Todo

Leia mais

Processamento de áudio em tempo real utilizando dispositivos não convencionais:

Processamento de áudio em tempo real utilizando dispositivos não convencionais: Processamento de áudio em tempo real utilizando dispositivos não convencionais: Processamento paralelo com Pure Data e GPU. André Jucovsky Bianchi ajb@ime.usp.br Departamento de Ciência da Computação Instituto

Leia mais

Introdução ao CUDA. Material elaborado por Davi Conte.

Introdução ao CUDA. Material elaborado por Davi Conte. Introdução ao CUDA Material elaborado por Davi Conte. O objetivo deste material é que o aluno possa iniciar seus conhecimentos em programação paralela, entendendo a diferença da execução de forma sequencial

Leia mais

ARQUITETURA DE COMPUTADORES

ARQUITETURA DE COMPUTADORES RCM00014 Haswell wafer ARQUITETURA DE COMPUTADORES Prof. Luciano Bertini Site: http://www.professores.uff.br/lbertini/ Objetivos do Curso Entendimento mais aprofundado do funcionamento

Leia mais

Paralelização de Algoritmos de CFD em Clusters Multi-Core MC7. Escola de Verão Arquiteturas Multi-Core

Paralelização de Algoritmos de CFD em Clusters Multi-Core MC7. Escola de Verão Arquiteturas Multi-Core RSS-Verão-01/08 p.1/36 Paralelização de Algoritmos de CFD em Clusters Multi-Core MC7 Escola de Verão 2008 Arquiteturas Multi-Core Renato S. Silva LNCC - MCT Janeiro de 2008 RSS-Verão-01/08 p.2/36 Objetivo:

Leia mais

Paralelização Eficiente para o Algoritmo Binário de Exponenciação Modular

Paralelização Eficiente para o Algoritmo Binário de Exponenciação Modular Paralelização Eficiente para o Algoritmo Binário de Exponenciação Modular Pedro Carlos da Silva Lara Fábio Borges de Oliveira Renato Portugal Laboratório Nacional de Computação Científica Índice 1 Introdução

Leia mais

Clusterização K-Means Paralelo Aplicado na Classificação de Alvos em Imagens de Alta Resolução

Clusterização K-Means Paralelo Aplicado na Classificação de Alvos em Imagens de Alta Resolução Clusterização K-Means Paralelo Aplicado na Classificação de Alvos em Imagens de Alta Resolução Luís Paulo Manfré Ribeiro luis.ribeiro@inpe.br Instituto Nacional de Pesquisas Espaciais - INPE São José dos

Leia mais

Paralelização do algoritmo de Método de Estimação Não-Paramétrico por Núcleo Estimador Multivariado (KDE) utilizando GPU/CUDA

Paralelização do algoritmo de Método de Estimação Não-Paramétrico por Núcleo Estimador Multivariado (KDE) utilizando GPU/CUDA See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/271325676 Paralelização do algoritmo de Método de Estimação Não-Paramétrico por Núcleo Estimador

Leia mais

AGA 511. Métodos Computacionais em Astronomia. Segundo semestre de 2017

AGA 511. Métodos Computacionais em Astronomia. Segundo semestre de 2017 AGA 511 Métodos Computacionais em Astronomia Segundo semestre de 2017 Informações gerais Prof. Alex Cavaliéri Carciofi Email: carciofi@usp.br Ramal: 2712 Colaborador: Carlos Eduardo Paladini Email: carlos.paladini@iag.usp.br

Leia mais

Paralelismo de dados. (execução de simultaneidade) Tipo de arquitetura paralela SIMD. SIMD (Single Instruction Multiple Data)

Paralelismo de dados. (execução de simultaneidade) Tipo de arquitetura paralela SIMD. SIMD (Single Instruction Multiple Data) Paralelismo de dados (execução de simultaneidade) Em métodos tradicionais de programação (processamento sequencial), uma grande quantidade de dados é processada em um único núcleo de uma CPU, enquanto

Leia mais

Computação científica utilizando placas gráficas

Computação científica utilizando placas gráficas Brasília, dezembro de 2008 Universidade de Brasília - Faculdade do Gama Sumário Introdução Sumário Introdução Arquitetura da GPU Sumário Introdução Arquitetura da GPU Modelo de programação Sumário Introdução

Leia mais

INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 13/11/2017 ALUNO

INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 13/11/2017 ALUNO INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 13/11/2017 ALUNO 1. Sockets - Indicar (Verdade/Falso): (2.0) (a) (Verdade/Falso) A comunicação entre processos consiste em transmitir uma mensagem entre

Leia mais

CLASSIFICAÇÃO DE PADRÕES UTILIZANDO DESCRITORES DE TEXTURA

CLASSIFICAÇÃO DE PADRÕES UTILIZANDO DESCRITORES DE TEXTURA XI Simpósio de Mecânica Computacional II Encontro Mineiro de Modelagem Computacional Juiz De Fora, MG, 28-30 de Maio De 2014 CLASSIFICAÇÃO DE PADRÕES UTILIZANDO DESCRITORES DE TEXTURA Weiner Esmerio Batista

Leia mais

Otimização de Algoritmos de Processamento de Imagens Médicas Utilizando a Computação Paralela

Otimização de Algoritmos de Processamento de Imagens Médicas Utilizando a Computação Paralela Otimização de Algoritmos de Processamento de Imagens Médicas Utilizando a Computação Paralela Priscila T. M. Saito, Ricardo J. Sabatine, Fátima L. S. Nunes, Kalinka R. L. J. Castelo Branco Univem Centro

Leia mais

Celso L. Mendes LAC /INPE

Celso L. Mendes LAC /INPE Arquiteturas para Processamento de Alto Desempenho (PAD) Aula 9 Celso L. Mendes LAC /INPE Email: celso.mendes@inpe.br Aula 9 (3/5): E. Aceleradores Estrutura Planejada i. Estruturas mais Populares ii.

Leia mais

ESTRATÉGIAS DE OTIMIZAÇÃO DE CÓDIGO EM OPENCL

ESTRATÉGIAS DE OTIMIZAÇÃO DE CÓDIGO EM OPENCL 6ª Jornada Científica e Tecnológica e 3º Simpósio de Pós-Graduação do IFSULDEMINAS 04 e 05 de novembro de 2014, Pouso Alegre/MG ESTRATÉGIAS DE OTIMIZAÇÃO DE CÓDIGO EM OPENCL Claudio André da SILVA JUNIOR

Leia mais

INE5645-Programação Paralela e Distribuída Aula 17/09/2018 Nome

INE5645-Programação Paralela e Distribuída Aula 17/09/2018 Nome INE5645-Programação Paralela e Distribuída Aula 17/09/2018 Nome Para paralelizar códigos de programas, tudo que necessitamos é de uma construção sintática denominada kernel. Seja o kernel: kernel void

Leia mais

MC4: Introdução à Programação Paralela em GPU para a Implementação de Métodos Numéricos

MC4: Introdução à Programação Paralela em GPU para a Implementação de Métodos Numéricos MC4: Introdução à Programação Paralela em GPU para a Implementação de Métodos Numéricos Aula 1: Introdução à programação paralela e ao ambiente de programação CUDA Profs.: Daniel Alfaro e Silvana Rossetto

Leia mais

Reconhecimento de texturas utilizando padrão binário local e classificador knn.

Reconhecimento de texturas utilizando padrão binário local e classificador knn. Reconhecimento de texturas utilizando padrão binário local e classificador knn. Vinicius Santos Andrade 1 Resumo. Através de uma imagem é possível obter inúmeras informações. Portanto, é cada vez mais

Leia mais

OpenMP: Variáveis de Ambiente

OpenMP: Variáveis de Ambiente Treinamento OpenMP C/C++ 1 TREINAMENTO OpenMP C/C++ Módulo 1 Computação de Alto Desempenho Módulo 2 OpenMP: Construtores Paralelos Módulo 3 OpenMP: Diretivas de sincronização Módulo 4 OpenMP: Funções de

Leia mais

A IMPORTÂNCIA DE THREADS NO DESEMPENHO DE APLICAÇÕES

A IMPORTÂNCIA DE THREADS NO DESEMPENHO DE APLICAÇÕES A IMPORTÂNCIA DE THREADS NO DESEMPENHO DE APLICAÇÕES Euzébio da Costa Silva 1, Victor Pereira Ribeiro 2, Susana Brunoro Costa de Oliveira 3 1 29520-000, euzebioprogramacao@gmail.com 2 29520-000, victor3ifes@gmail.com

Leia mais

COMPUTAÇÃO PARALELA COM ACELERADORES GPGPU 1. Emilio Hoffmann De Oliveira 2, Edson Luiz Padoin 3.

COMPUTAÇÃO PARALELA COM ACELERADORES GPGPU 1. Emilio Hoffmann De Oliveira 2, Edson Luiz Padoin 3. COMPUTAÇÃO PARALELA COM ACELERADORES GPGPU 1 Emilio Hoffmann De Oliveira 2, Edson Luiz Padoin 3. 1 Trabalho de Conclusão de Curso 2 Aluno do Curso de Ciência da Computação - emiliohoffmann@hotmail.com

Leia mais

1 Introdução. I know because I must know. It's my purpose. It's the reason I'm here. (The Matrix) 1.1 Objetivos do trabalho

1 Introdução. I know because I must know. It's my purpose. It's the reason I'm here. (The Matrix) 1.1 Objetivos do trabalho 1 Introdução I know because I must know. It's my purpose. It's the reason I'm here. (The Matrix) 1.1 Objetivos do trabalho Os hardwares gráficos atualmente podem ser considerados como verdadeiros processadores

Leia mais

Workshop de Informática Biomédica (WIBm)

Workshop de Informática Biomédica (WIBm) 42 UTILIZAÇÃO DE UNIDADES DE PROCESSAMENTO GRÁFICO EM SIMULAÇÕES DO PROBLEMA DE PONTOS ALEATÓRIOS Cristiano Roberto Fabri Granzotti 1, Alexandre Souto Martinez 1 1 Laboratório de Simulação em Sistemas

Leia mais

Suporte à Execução Eficiente de Aplicações em Plataformas com Paralelismo Multi-Nível

Suporte à Execução Eficiente de Aplicações em Plataformas com Paralelismo Multi-Nível Suporte à Execução Eficiente de Aplicações em Plataformas com Paralelismo Multi-Nível Vinícius Garcia Pinto Lucas Mello Schnorr Nicolas Maillard Grupo de Processamento Paralelo e Distribuído (GPPD) Instituto

Leia mais

Taxonomia de Flynn. Procura classificar todas as arquitecturas de computadores com base no processamento das instruções e dos dado.

Taxonomia de Flynn. Procura classificar todas as arquitecturas de computadores com base no processamento das instruções e dos dado. Multi-processamento Taxonomia de Flynn Arquitecturas SIMD Instruções vectoriais Arquitecturas MIMD Tipos de arquitectura MIMD Memória partilhada Multi-cores Taxonomia de Flynn Procura classificar todas

Leia mais

Microprocessadores II - ELE 1084

Microprocessadores II - ELE 1084 Microprocessadores II - ELE 1084 CAPÍTULO III PROCESSADORES P5 3.1 Gerações de Processadores 3.1 Gerações de Processadores Quinta Geração (P5) Pentium (586) 32 bits; Instruções MMX; Concorrente K5 (AMD).

Leia mais

Paralelismo em Computadores com Tecnologia Multicore

Paralelismo em Computadores com Tecnologia Multicore IFRN - Pau dos Ferros Pau dos Ferros/RN, 25 de fevereiro de 2016 O minicurso Descrição: Para se utilizar os vários núcleos de processamento disponíveis nos computadores atuais de forma eficiente, faz necessário

Leia mais

3 Computação de Propósito Geral em Unidades de Processamento Gráfico

3 Computação de Propósito Geral em Unidades de Processamento Gráfico 3 Computação de Propósito Geral em Unidades de Processamento Gráfico As Unidades de Processamento Gráfico (GPUs) foram originalmente desenvolvidas para o processamento de gráficos e eram difíceis de programar.

Leia mais

Análise e Testes de Algoritmos Utilizando Sistemas de Arquiteturas Híbridas CPU/GPU

Análise e Testes de Algoritmos Utilizando Sistemas de Arquiteturas Híbridas CPU/GPU Análise e Testes de Algoritmos Utilizando Sistemas de Arquiteturas Híbridas CPU/GPU Danilo, Silva Maciel Univem - Marília, Brasil danilo.maciel@univem.edu.br Mauricio Duarte maur.duarte@gmail.com Univem

Leia mais

Eng. Thársis T. P. Souza

Eng. Thársis T. P. Souza Introdução à Computação de Alto Desempenho Utilizando GPU Seminário de Programação em GPGPU Eng. Thársis T. P. Souza t.souza@usp.br Instituto de Matemática e Estatística - Universidade de São Paulo Introdução

Leia mais

Análise de Desempenho da Paralelização do Problema de Caixeiro Viajante

Análise de Desempenho da Paralelização do Problema de Caixeiro Viajante Análise de Desempenho da Paralelização do Problema de Caixeiro Viajante Gabriel Freytag Guilherme Arruda Rogério S. M. Martins Edson L. Padoin Universidade Regional do Noroeste do Estado do Rio Grande

Leia mais

Programação de Alto Desempenho - 2. Prof: Carla Osthoff

Programação de Alto Desempenho - 2. Prof: Carla Osthoff Programação de Alto Desempenho - 2 Prof: Carla Osthoff E-mail: osthoff@lncc.br 3- Modelos de programação paralela Shared Memory/Threads Posix Win32 treads OpenMP Message Passing MPI Data Parallel OpenCL/Cuda

Leia mais

Disc. Scientia. Série: Ciências Naturais e Tecnológicas, S. Maria, v. 7, n. 1, p ,

Disc. Scientia. Série: Ciências Naturais e Tecnológicas, S. Maria, v. 7, n. 1, p , Disc. Scientia. Série: Ciências Naturais e Tecnológicas, S. Maria, v. 7, n. 1, p. 11-23, 2006. 11 ISSN 1981-2841 OTIMIZAÇÃO DE ALGORITMOS DE PROCESSAMENTO DE IMAGENS MÉDICAS UTILIZANDO A COMPUTAÇÃO PARALELA

Leia mais

1.1 Descrição do problema A programação genética (PG) é uma meta-heurística utilizada para gerar programas de computadores, de modo que o computador

1.1 Descrição do problema A programação genética (PG) é uma meta-heurística utilizada para gerar programas de computadores, de modo que o computador 1 Introdução 1.1 Descrição do problema A programação genética (PG) é uma meta-heurística utilizada para gerar programas de computadores, de modo que o computador possa resolver problemas de forma automática

Leia mais

UNIVERSIDADE FEDERAL DO PARÁ PRÓ-REITORIA DE PESQUISA E PÓS-GRADUAÇÃO DIRETORIA DE PESQUISA PROGRAMA INSTITUCIONAL DE BOLSAS DE INICIAÇÃO CIENTÍFICA

UNIVERSIDADE FEDERAL DO PARÁ PRÓ-REITORIA DE PESQUISA E PÓS-GRADUAÇÃO DIRETORIA DE PESQUISA PROGRAMA INSTITUCIONAL DE BOLSAS DE INICIAÇÃO CIENTÍFICA UNIVERSIDADE FEDERAL DO PARÁ PRÓ-REITORIA DE PESQUISA E PÓS-GRADUAÇÃO DIRETORIA DE PESQUISA PROGRAMA INSTITUCIONAL DE BOLSAS DE INICIAÇÃO CIENTÍFICA RELATÓRIO TÉCNICO CIENTÍFICO Período: Outubro/2015 a

Leia mais

é a saida do melhor individuo. A configuração de parâmetros da

é a saida do melhor individuo. A configuração de parâmetros da 61 4 4.1. Configuração Neste capítulo, comparam-se os resultados e o desempenho obtidos pela PGLIQ com a extensão do modelo proposto GPU-PGLIQ-I que foi desenvolvido nesta dissertação. Apresentam-se dois

Leia mais

Jônatas Lopes de Paiva Instituto de Matemática e Estatística Universidade de São Paulo. 06 de maio de 2011

Jônatas Lopes de Paiva Instituto de Matemática e Estatística Universidade de São Paulo. 06 de maio de 2011 Jônatas Lopes de Paiva jlp@ime.usp.br Instituto de Matemática e Estatística Universidade de São Paulo 06 de maio de 2011 Introdução String-matching O que é? Em que é utilizado Tipos GPU GPGPU String-matching

Leia mais

Supercomputador Pleiades

Supercomputador Pleiades Supercomputador Pleiades Introdução ao Processamento Paralelo e Distribuído Renato Marques Dilli Prof. Adenauer C. Yamin Universidade Católica de Pelotas 1 de maio de 2009 Mestrado em Ciência da Computação

Leia mais

Paralelismo de dados. (execução de simultaneidade) Tipo de arquitetura paralela SIMD. SIMD (Single Instruction Multiple Data)

Paralelismo de dados. (execução de simultaneidade) Tipo de arquitetura paralela SIMD. SIMD (Single Instruction Multiple Data) Paralelismo de dados (execução de simultaneidade) Em métodos tradicionais de programação (processamento sequencial), uma grande quantidade de dados é processada em um único núcleo de uma CPU, enquanto

Leia mais

Introdução. Arquitetura e Organização de Computadores I. Programa. Arquitetura e Organização de. Computadores. Capítulo 1.

Introdução. Arquitetura e Organização de Computadores I. Programa. Arquitetura e Organização de. Computadores. Capítulo 1. Arquitetura e Organização de Computadores I Prof. Cláudio C. Rodrigues Arquitetura e Organização de Computadores I Objetivo: Entender a regra dos componentes de um sistema computador e como eles trabalham

Leia mais

BALANCEAMENTO DE CARGA EM SISTEMAS MULTIPROCESSADORES UTILIZANDO O MODELO DE PROGRAMAÇÃO CHARM++ 1

BALANCEAMENTO DE CARGA EM SISTEMAS MULTIPROCESSADORES UTILIZANDO O MODELO DE PROGRAMAÇÃO CHARM++ 1 BALANCEAMENTO DE CARGA EM SISTEMAS MULTIPROCESSADORES UTILIZANDO O MODELO DE PROGRAMAÇÃO CHARM++ 1 Guilherme Henrique Schiefelbein Arruda 2, Edson Luiz Padoin 3. 1 Trabalho desenvolvido no contexto do

Leia mais

Aplicações em CUDA. Medialab Instituto de Computação Universidade Federal Fluminense NVIDIA CUDA Research Center

Aplicações em CUDA. Medialab Instituto de Computação Universidade Federal Fluminense NVIDIA CUDA Research Center Aplicações em CUDA Medialab Instituto de Computação Universidade Federal Fluminense NVIDIA CUDA Research Center Roteiro l Introdução l Eventos l Aspectos históricos l Operações atômicas l Introdução sobre

Leia mais

CUDA: Compute Unified Device Architecture. Marco Antonio Simões Teixeira

CUDA: Compute Unified Device Architecture. Marco Antonio Simões Teixeira CUDA: Compute Unified Device Architecture Marco Antonio Simões Teixeira Sumário Introdução; CUDA: História; CUDA: programando; CUDA e deep learning; Links úteis; Considerações finais. 2 INTRODUÇÃO 3 O

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Classificação de Flynn Fonte: Professoras. Sarita UFRJ e Thais V. Batista - UFRN Arquiteturas Paralelas Computação Paralela Conceitos Permite a execução das tarefas em menor tempo,

Leia mais

Máquinas mais rápidas do mundo

Máquinas mais rápidas do mundo Máquinas mais rápidas do mundo Jorge Melegati Instituto de Matemática e Estatística Introdução à Computação Paralela e Distribuída melegati@ime.usp.br Junho de 2015 Jorge Melegati (IME) Máquinas mais rápidas

Leia mais

Paradigmas de Processamento Paralelo na Resolução do Fractal de Mandelbrot

Paradigmas de Processamento Paralelo na Resolução do Fractal de Mandelbrot Paradigmas de Processamento Paralelo na Resolução do Fractal de Mandelbrot Bruno Pereira dos Santos e Dany Sanchez Dominguez Departamento de Ciências Exatas e Tecnológicas Universidade Estadual de Santa

Leia mais

PARALELIZAÇÃO DE ALGORITMO DE INSPEÇÃO DE ROTAS UTILIZANDO PERMUTAÇÃO LEXICOGRÁFICA 1

PARALELIZAÇÃO DE ALGORITMO DE INSPEÇÃO DE ROTAS UTILIZANDO PERMUTAÇÃO LEXICOGRÁFICA 1 PARALELIZAÇÃO DE ALGORITMO DE INSPEÇÃO DE ROTAS UTILIZANDO PERMUTAÇÃO LEXICOGRÁFICA 1 Jessica De Almeida Berlezi 2, Janiel Ceretta Foletto 3, Edson Luiz Padoin 4, Rogério S. M. Martins 5. 1 Trabalho realizado

Leia mais

ANÁLISE DE DESEMPENHO COM A PARALELIZAÇÃO DO CÁLCULO DE NÚMEROS PERFEITOS 1

ANÁLISE DE DESEMPENHO COM A PARALELIZAÇÃO DO CÁLCULO DE NÚMEROS PERFEITOS 1 ANÁLISE DE DESEMPENHO COM A PARALELIZAÇÃO DO CÁLCULO DE NÚMEROS PERFEITOS 1 Éder Paulo Pereira 2, Gilberto Przygoda Marmitt 3, Emilio Hoffmann De Oliveira 4, Edson Luiz Padoin 5, Carlos Eduardo Das Chagas

Leia mais

Aplicando Processamento Paralelo com GPU ao Problema do Fractal de Mandelbrot

Aplicando Processamento Paralelo com GPU ao Problema do Fractal de Mandelbrot Aplicando Processamento Paralelo com GPU ao Problema do Fractal de Mandelbrot Bruno Pereira dos Santos¹, Dany Sanchez Dominguez¹, Esbel Valero Orellana¹. 1 Departamento de Ciências Exatas e Tecnológicas

Leia mais

Arquitetura de computadores

Arquitetura de computadores Arquitetura de computadores Arquitetura de Microprocessadores Curso Profissional de Técnico de Gestão e Programação de Sistemas O Computador Hardware Unidades Funcionais de um Sistema Informático Dispositivos

Leia mais

Processamento de Imagens. Texturas

Processamento de Imagens. Texturas Processamento de Imagens Texturas Exemplos Introdução Texturas Não existe abordagem formal Não existe definição formal São definidas qualitativamente e não há consenso quanto a sua definição quantitativa

Leia mais

Introdução aos Conceitos de Computação Paralela através da estimativa de Pi

Introdução aos Conceitos de Computação Paralela através da estimativa de Pi Introdução aos Conceitos de Computação Paralela através da estimativa de Pi Diego da Silva Pereira 1 1 Professor de Redes de Computadores IFRN Câmpus Currais Novos. e-mail: diego.pereira@ifrn.edu.br Resumo:

Leia mais

Carlos Eduardo Batista Centro de Informática - UFPB

Carlos Eduardo Batista Centro de Informática - UFPB Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Motivação Arquitetura de computadores modernos Desafios da programação concorrente Definição de concorrência Correr junto Disputa por

Leia mais

XV ESCOLA REGIONAL DE ALTO DESEMPENHO ERAD 2015

XV ESCOLA REGIONAL DE ALTO DESEMPENHO ERAD 2015 XV ESCOLA REGIONAL DE ALTO DESEMPENHO ERAD 2015 Impacto das Interfaces de Programação Paralela e do Grau de Paralelismo no Consumo Energético de uma Aplicação Thayson R. Karlinski, Arthur F. Lorenzon,

Leia mais

Infraestrutura de Hardware. Processamento Paralelo Multicores, Multi-Threading e GPUs

Infraestrutura de Hardware. Processamento Paralelo Multicores, Multi-Threading e GPUs Infraestrutura de Hardware Processamento Paralelo Multicores, Multi-Threading e GPUs Perguntas que Devem ser Respondidas ao Final do Curso Como um programa escrito em uma linguagem de alto nível é entendido

Leia mais

O estado de arte: a evolução de computação de alto desempenho

O estado de arte: a evolução de computação de alto desempenho O estado de arte: a evolução de computação de alto desempenho 2009 Evolução da Computação O Mark I tinha ciclo de 0,3 segundos; o ENIAC 200 micro-segundos Processador hoje: vários GHz - menos de um nanosegundo

Leia mais

Frustum Culling Híbrido Utilizando CPU e GPU. Aluno: Eduardo Telles Carlos Orientador: Alberto Raposo Co-Orientador: Marcelo Gattass

Frustum Culling Híbrido Utilizando CPU e GPU. Aluno: Eduardo Telles Carlos Orientador: Alberto Raposo Co-Orientador: Marcelo Gattass Frustum Culling Híbrido Utilizando CPU e GPU Aluno: Eduardo Telles Carlos Orientador: Alberto Raposo Co-Orientador: Marcelo Gattass Agenda Objetivos Motivação Algoritmos de visibilidade Frustum Culling

Leia mais

INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 03/07/2017 ALUNO

INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 03/07/2017 ALUNO INE 5645 PROGRAMAÇÃO PARALELA E DISTRIBUIDA PROVA 2 03/07/2017 ALUNO 1. Sockets - Indicar (Verdade/Falso): (a) (Verdade/Falso) A comunicação entre processos consiste em transmitir uma mensagem entre o

Leia mais

Arquitetura e organização de computadores Uma visão geral

Arquitetura e organização de computadores Uma visão geral Arquitetura e organização de computadores Uma visão geral MAC 344 - Arquitetura de Computadores Prof. Siang Wun Song Baseado em W. Stallings - Computer Organization and Architecture Objetivo do disciplina

Leia mais

PROCESSADORES Unidade de Controle Unidade Aritmética e Lógica efetua memória de alta velocidade registradores Program Counter Instruction Register

PROCESSADORES Unidade de Controle Unidade Aritmética e Lógica efetua memória de alta velocidade registradores Program Counter Instruction Register PROCESSADORES Um computador digital consiste em um sistema interconectado de processadores, memória e dispositivos de entrada e saída. A CPU é o cérebro do computador. Sua função é executar programas armazenados

Leia mais

Processadores para computação de alto desempenho

Processadores para computação de alto desempenho Processadores para computação de alto desempenho Aleardo Manacero Jr. DCCE/UNESP Grupo de Sistemas Paralelos e Distribuídos Introdução Nesta aula apresentaremos características de processadores e como

Leia mais

Arquiteturas paralelas Parte 1

Arquiteturas paralelas Parte 1 Arquiteturas paralelas Parte 1 Processamento Paralelo Prof. Oberlan Romão Departamento de Computação e Eletrônica DCEL Centro Universitário Norte do Espírito Santo CEUNES Universidade Federal do Espírito

Leia mais

Organização de Computadores I

Organização de Computadores I Organização de Computadores I Prof. Cláudio C. Rodrigues Bibliografia: 1. Arquitetura e Organização de Computadores: Projeto para o Desempenho, 5ª edição - William Stallings - Prentice Hall. livro texto

Leia mais

Um estudo sobre consumo energético na indexação de conteúdo visual com síntese em alto nível usando hardware reconfigurável

Um estudo sobre consumo energético na indexação de conteúdo visual com síntese em alto nível usando hardware reconfigurável 1 de 61 Um estudo sobre consumo energético na indexação de conteúdo visual com síntese em alto nível usando hardware reconfigurável Elmar Uwe Kurt Melcher (Orientador) Universidade Federal de Campina Grande

Leia mais

UM ESTUDO COMPARATIVO DE DESEMPENHO UTILIZANDO PROGRAMAÇÃO SEQUENCIAL VS PARALELA APLICADO EM ALGORITMOS GENÉTICOS 1

UM ESTUDO COMPARATIVO DE DESEMPENHO UTILIZANDO PROGRAMAÇÃO SEQUENCIAL VS PARALELA APLICADO EM ALGORITMOS GENÉTICOS 1 UM ESTUDO COMPARATIVO DE DESEMPENHO UTILIZANDO PROGRAMAÇÃO SEQUENCIAL VS PARALELA APLICADO EM ALGORITMOS GENÉTICOS 1 Eldair F. Dornelles 2, Henrique A. Richter 3, Miquéias F. M. Trennepohl 4, Taís T. Siqueira

Leia mais

ENGENHARIA DE SISTEMAS MICROPROCESSADOS

ENGENHARIA DE SISTEMAS MICROPROCESSADOS ENGENHARIA DE SISTEMAS MICROPROCESSADOS Prof. Pierre Vilar Dantas Turma: 0040-A Horário: 4N Aula 01-26/07/2017 Plano de ensino Professor www.linkedin.com/in/pierredantas/ TÓPICOS Conceitos gerais. Evolução

Leia mais

TÍTULO: PROGRAMAÇÃO PARALELA - UMA INTRODUÇÃO AO PARALELISMO COM A OPENMPI

TÍTULO: PROGRAMAÇÃO PARALELA - UMA INTRODUÇÃO AO PARALELISMO COM A OPENMPI Anais do Conic-Semesp. Volume 1, 2013 - Faculdade Anhanguera de Campinas - Unidade 3. ISSN 2357-8904 TÍTULO: PROGRAMAÇÃO PARALELA - UMA INTRODUÇÃO AO PARALELISMO COM A OPENMPI CATEGORIA: CONCLUÍDO ÁREA:

Leia mais

USO DE PARALELISMO DE DADOS PARA MAIOR EFICIÊNCIA DE ALGORITMOS DE PROCESSAMENTO DE IMAGENS

USO DE PARALELISMO DE DADOS PARA MAIOR EFICIÊNCIA DE ALGORITMOS DE PROCESSAMENTO DE IMAGENS Universidade Federal de Ouro Preto - UFOP Instituto de Ciências Exatas e Biológicas - ICEB Departamento de Computação - DECOM USO DE PARALELISMO DE DADOS PARA MAIOR EFICIÊNCIA DE ALGORITMOS DE PROCESSAMENTO

Leia mais

PROPOSTA DE UMA ESTRATÉGIA DE PROGRAMAÇÃO EXPLÍCITA COM ANOTAÇÃO EM CÓDIGO EM BUSCA DE EFICIÊNCIA ENERGÉTICA 1

PROPOSTA DE UMA ESTRATÉGIA DE PROGRAMAÇÃO EXPLÍCITA COM ANOTAÇÃO EM CÓDIGO EM BUSCA DE EFICIÊNCIA ENERGÉTICA 1 PROPOSTA DE UMA ESTRATÉGIA DE PROGRAMAÇÃO EXPLÍCITA COM ANOTAÇÃO EM CÓDIGO EM BUSCA DE EFICIÊNCIA ENERGÉTICA 1 Bruno Mokan Muenchen 2, João Vicente Ferreira Lima 3. 1 Projeto de pesquisa realizado pelo

Leia mais

Ambientes de computação de alto desempenho no LNCC

Ambientes de computação de alto desempenho no LNCC Ambientes de computação de alto desempenho no LNCC Roberto Pinto Souto MCTI/LNCC/CSR - CENAPAD-RJ rpsouto@lncc.br 24 de Março de 2014 (Seminário da Pós-graduaçao) 24 de Março de 2014 1 / 78 Roteiro 1 Introdução

Leia mais

FACULDADE DE TECNOLOGIA SENAC GOIÁS. Arquitetura de Computadores

FACULDADE DE TECNOLOGIA SENAC GOIÁS. Arquitetura de Computadores FACULDADE DE TECNOLOGIA SENAC GOIÁS DESIRON GONÇALVES, IURY NERES, JADER FIGUEIREDO E JEFFERSON MENDES. Arquitetura de Computadores Goiânia, dezembro de 2016. FACULDADE DE TECNOLOGIA SENAC GOIÁS DESIRON

Leia mais

Desenvolvimento de uma ferramenta computacional para classificação de padrões em imagens

Desenvolvimento de uma ferramenta computacional para classificação de padrões em imagens Desenvolvimento de uma ferramenta computacional para classificação de padrões em imagens Everton Franco Teixeira 1, Sandro Roberto Fernandes 2 1 Instituto Federal de Educação, Ciência e Tecnologia do Sudeste

Leia mais

Análise Comparativa de Algoritmos NP-Completo Executados em CPU E GPU Utilizando CUDA

Análise Comparativa de Algoritmos NP-Completo Executados em CPU E GPU Utilizando CUDA Computer on the Beach 2013 - Artigos Completos 79 Análise Comparativa de Algoritmos NP-Completo Executados em CPU E GPU Utilizando CUDA Elcio Arthur Cardoso, Rafael de Santiago Curso de Ciência da Computação

Leia mais

GPU Computing. GeForce and Radeon OpenCL Test. OpenCL

GPU Computing. GeForce and Radeon OpenCL Test. OpenCL GPU Computing GeForce and Radeon OpenCL Test Publicado em 15.jan.2010 em www.geeks3d.com - Tradução por Luiz Gustavo TURATTI http://www.geeks3d.com/20100115/gpu-computing-geforce-and-radeon-opencl-test-part-1/

Leia mais

COMPARAÇÃO DE DESEMPENHO ENTRE IMPLEMENTAÇÕES DO ALGORITMO JOGO DA VIDA COM PTHREAD E OPEMMP 1

COMPARAÇÃO DE DESEMPENHO ENTRE IMPLEMENTAÇÕES DO ALGORITMO JOGO DA VIDA COM PTHREAD E OPEMMP 1 COMPARAÇÃO DE DESEMPENHO ENTRE IMPLEMENTAÇÕES DO ALGORITMO JOGO DA VIDA COM PTHREAD E OPEMMP 1 Márcia Da Silva 2, Igor Gamste Haugg 3, Eliézer Silveira Prigol 4, Édson L. Padoin 5, Rogério S. M. Martins

Leia mais

Informática Aplicada. Introdução

Informática Aplicada. Introdução Informática Aplicada Introdução Breve histórico da computação moderna Principais eventos 1000ac - Ábaco 1614 - Logaritmos (John Napier) 1623 - Sistema Binário (Francis Bacon) 1642 - Máquina de Turing 1946

Leia mais

SSC510 Arquitetura de Computadores. 6ª aula

SSC510 Arquitetura de Computadores. 6ª aula SSC510 Arquitetura de Computadores 6ª aula PARALELISMO EM NÍVEL DE PROCESSOS PROFA. SARITA MAZZINI BRUSCHI Tipos de Paralelismo Instrução (granulosidade fina) Paralelismo entre as instruções Arquiteturas

Leia mais

João Paulo Ribeiro do Nascimento Heraldo Maciel França Madeira Hélio Pedrini. Keywords: texture, co-occurrence matrix, image classification.

João Paulo Ribeiro do Nascimento Heraldo Maciel França Madeira Hélio Pedrini. Keywords: texture, co-occurrence matrix, image classification. CLASSIFICAÇÃO DE IMAGENS UTILIZANDO DESCRITORES ESTATÍSTICOS DE TEXTURA João Paulo Ribeiro do Nascimento Heraldo Maciel França Madeira Hélio Pedrini Universidade Federal do Paraná Departamento de Informática

Leia mais

Atol Fortin, Bruno da Hora, Lucas Piva, Marcela Ortega, Natan Lima, Pedro Raphael, Ricardo Sider, Rogério Papetti. 28 de novembro de 2008

Atol Fortin, Bruno da Hora, Lucas Piva, Marcela Ortega, Natan Lima, Pedro Raphael, Ricardo Sider, Rogério Papetti. 28 de novembro de 2008 Reinventando a Computação Atol Fortin, Bruno da Hora, Lucas Piva, Marcela Ortega, Natan Lima, Pedro Raphael, Ricardo Sider, Rogério Papetti Universidade de São Paulo 28 de novembro de 2008 Introdução Dr.

Leia mais

Análise e Testes de Algoritmos em Sistemas de Arquiteturas Híbridas CPU/GPU

Análise e Testes de Algoritmos em Sistemas de Arquiteturas Híbridas CPU/GPU CENTRO UNIVERSITÁRIO EURÍPIDES DE MARÍLIA FUNDAÇÃO DE ENSINO EURÍPIDES SOARES DA ROCHA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO Análise e Testes de Algoritmos em Sistemas de Arquiteturas Híbridas CPU/GPU Danilo

Leia mais

Arquitetura de Von Neumann

Arquitetura de Von Neumann Arquitetura de Von Neumann Leandro Tonietto Algoritmos e Programação em C++ Curso de Segurança da Informação ltonietto@unisinos.br http://www.inf.unisinos.br/~ltonietto/tsi/apc/arqvonneumann.pdf Fev-2008

Leia mais