Computação paralela para problemas em Biologia

Documentos relacionados
Algoritmos Paralelos Eficientes para Alguns Problemas em Proce. Caracteres

Evolução da Computação de Alto Desempenho sob a Ótica da Lis. ou (Se um processador já é rápido, imaginem um sistema com processadores :-)

O Desafio do Projeto de Algoritmos Paralelos

Evolução da Computação de Alto Desempenho sob a Ótica da Lis. ou (Se um processador já é rápido, imaginem um sistema com processadores :-)

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

Máquinas mais rápidas do mundo

Algoritmos Paralelos de Granularidade Grossa para Problemas de Alinhamento de Cadeias

Tópicos Especiais em Inteligência Artificial COS746. Vítor Santos Costa COPPE/Sistemas Universidade Federal do Rio de Janeiro

Alinhamento de Sequências e Genômica Comparativa

Computação paralela. Nielsen Castelo Damasceno

Como programar um computador com processadores? ou: Oportunidades e Desafios da Computação Paralela

TITULO: Implementação do alinhamento de proteínas em GPU utilizando OpenCL PROPOSTA DE TRABALHO DE GRADUAÇÃO

Teoria dos Grafos Aula 17

Palestra - Depto. de Informática - UFMA

UNIVERSIDADE FEDERAL DO ABC. Dissertação de Mestrado. Cleber Silva Ferreira da Luz

Principais algoritmos de alinhamento de sequências genéticas. Alexandre dos Santos Cristino

TRANSCRIÇÕES GÊNICAS. BIOLOGIA Keffn Arantes

DNA, Cromossomos e Replicação. Capítulos 5 e 6 (pág ) - Fundamentos da Biologia Celular - Alberts- 2ª edição

Evolução da Computação de Alto Desempenho na Ótica da Lista. ou (Se um processador já é rápido, imaginem um sistema com processadores :-)

Alinhamentos de Múltiplas Seqüências. Rogério T. Brito Orientador: José A. R. Soares

Implementação de um escalonador de processos em GPU

Núcleo. Vera Andrade Robert Brown (1833) descreveu o núcleo celular

Bioinformática. Conceitos Fundamentais de Biologia Molecular. Paulo Henrique Ribeiro Gabriel

Computação de Alto Desempenho Clusters de PCs

Programa de Pós-Graduação Stricto Sensu em Biologia Computacional e Sistemas. Seleção de Mestrado 2012-A

Introdução à Bioquímica Celular

Busca em banco de dados

List Ranking: Solução probabilística. Baseado na dissertação de mestrado de Guilherme Pereira Vanni Orientador: Prof.

Banco de Dados Biológicos conceitos básicos, indexação, VSTree

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

DEFINIÇÕES EM EPIDEMIOLOGIA MOLECULAR E CONCEITOS BÁSICOS EM BIOLOGIA MOLECULAR

Transcritômica. João Carlos Setubal IQ/USP outubro de 2013

TRADUZINDO O CÓDIGO GENÉTICO. Aula teórica 6. Maria Carolina Quecine Departamento de Genética LGN0114 Biologia Celular

Ácidos nucleicos (DNA e RNA) e os genes

O problema da subsequência comum máxima sem repetições

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

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

TOP Arquitetura dos supercomputadores

Créditos. Introdução. Sumário. Agradecimento. Introdução. Análise de Expressão Gênica. Tecnologia de Microarray

Preliminares. Profa. Sheila Morais de Almeida. agosto

Busca em banco de dados

DOGMA CENTRAL DA BIOLOGIA MOLECULAR

26/04/2015. Tradução. José Francisco Diogo da Silva Junior Mestrando CMANS/UECE. Tradução em eucarióticos e procarióticos. Eventos pós transcricionais

PAULO EDUARDO BRANDÃO, PhD DEPARTAMENTO DE MEDICINA VETERINÁRIA PREVENTIVA E SAÚDE ANIMAL FACULDADE DE MEDICINA VETERINÁRIA E ZOOTECNIA UNIVERSIDADE

Profa. Dra. Viviane Nogaroto

Duplicação do DNA e Síntese de PROTEÍNAS

Dados Moleculares x Morfológicos

PROCESSAMENTO E ANÁLISE DE IMAGENS DE MICROARRANJOS DE DNA

Introdução à Bioquímica Celular

UNIVERSIDADE ESTADUAL DE PONTA GROSSA SETOR DE CIÊNCIAS AGRÁRIAS E DE TECNOLOGIAS DEPARTAMENTO DE INFORMÁTICA

Algoritmos Paralelos Exatos e Otimizações para Alinhamento de Sequências Biológicas Longas em Plataformas de Alto Desempenho

Evolução da Computação de Alto Desempenho sob a Ótica da Lis. ou (Se um processador já é rápido, imaginem um sistema com processadores :-)

A ABSTRACÇÃO É NOSSA AMIGA

P E R N AMBUCO UMA FERRAMENTA WEB PARA INFERÊNCIA DE HAPLÓTIPOS PROPOSTA DE TRABALHO DE GRADUAÇÃO

O que é Bioinformática?

Teoria da Complexidade Computacional

BIOLOGIA. Moléculas, Células e Tecidos Transcrição e Tradução. Prof. Daniele Duó

Ambientes de computação de alto desempenho no LNCC

Bases de Dados. Freqüentemente usadas em. Bioinformática

ESTRUTURA E FUNÇÃO DOS GENES E CROMOSSOMOS

Métodos de alinhamento de sequências biológicas. Marcelo Falsarella Carazzolle

Turma de terça-feira 14 hs. Total: 31 alunos

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

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

2 Contexto Biológico Genômica

1) Escolher e descrever um problema cuja resolução requeira a execução de algoritmos computacionais que não sejam triviais.

Determinação da Estrutura de Proteínas

Algoritmo Paralelo para Árvore Geradora usando GPU

Sessão 1: Os Princípios e as Técnicas da Biologia Molecular do Séc XXI

Princípios de Sistemática Molecular

1164 BIOLOGIA ESTRUTURAL Aula 4 Prof. Dr. Valmir Fadel

Montagem de regiões gênicas

Efficient 1-D and 2-D Parallel Pattern Matching with Scaling

Número de genes versus número de proteínas em eucariotos

Síntese de RNA e Proteínas

A Célula Humana. Disciplina: Anatomia e Fisiologia. Samara Cristina Ferreira Machado. Programa Nacional de Formação em Radioterapia

Dados Moleculares x Morfológicos

INPE Outubro, Fabiana. S. Santana, César Bravo, Antonio. M. Saraiva Projeto:

01 Grafos: parte 1 SCC0503 Algoritmos e Estruturas de Dados II

A matemática e o genoma. Resumo

Transcrição do DNA. Dogma central. O fluxo da informação é unidirecional. Refutação definitiva da herança dos caracteres adquiridos 26/04/2015

BANCO DE DADOS BIOLÓGICOS Aula 11

What is? Eduardo Viola Nicola Disciplina de IPPD

Complexidade de Tempo e Espaço

MIDB-OP: um Modelo de Integração de Dados Biológicos apoiado em Ontologias e Procedência de dados Caroline Beatriz Perlin

Computação Paralela (CUDA)

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

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

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 8 Grafos. Estrutura de Dados 1

Introdução a Bioinformática Curso de Verão Nivelamento na área de Biológicas

Projeto e Análise de Algoritmos NP Completude. Prof. Humberto Brandão

ARQUITETURA DE COMPUTADORES

30/5/2011. Sistemas computacionais para processamento paralelo e distribuído

ALGORITMOS E ESTRUTURAS DE DADOS CES-11

ÁCIDOS NUCLÉICOS 15/6/2010. Universidade Federal de Mato Grosso Disciplina de Bioquímica. - Desoxirribose, presente no DNA; - Ribose, presente no RNA.

Aula 7: Representações de Números Inteiros: Sinal e Magnitude e Representação em Excesso de k

Organização do genoma e variação individual

UFPel CDTec Biotecnologia. Anotação de genomas. MSc. Frederico schmitt Kremer

Transcrição:

Computação paralela para problemas em Biologia ERAD-SP - julho de 2013 - São Carlos

Computação paralela: hoje e amanhã e desafios. Bioinformática: área interdisciplinar onde há uma simbiose de duas importantes áreas A computação não serve apenas de mera ferramenta para avançar a área da Biologia mas também se beneficia da Biologia pelos inúmeros novos desafios surgidos pela necessidade de resolver problemas biológicos.

Computação paralela e medidas de desempenho Sistemas de computação maciçamente paralelos estão cada vez mais presentes. FLOPS = floating point operations per second Mega FLOPS = 2 20 = 10 6 op. aritméticas por segundo Giga FLOPS = 2 30 = 10 9 Tera FLOPS = 2 40 = 10 12 Peta FLOPS = 2 50 = 10 15 Exa FLOPS = 2 60 = 10 18 Zetta FLOPS = 2 70 = 10 21 Yotta FLOPS = 2 80 = 10 24

Computação paralela - hoje Primeiros colocados na lista TOP500 (junho 2013): 1. Tianhe-2 com 3.120.000 processadores (ou núcleos) da Intel (Xeon e Xeon Phi), com velocidade de pico de 54,9 PFLOPS. 2. Cray Titan com 560.640 processadores, com velocidade de pico de 27,1 PFLOPS.

Tianhe-2: qual imagem abaixo está invertida?

Computação paralela - hoje O desktop na minha sala da UFABC :-) Duas placas NVIDIA Geforce GTX-680: 3.072 processadores, veloc. pico de 4,5 TFLOPS. Fonte: NVIDIA O número 1 da TOP500 no período 1997 a 2000 é o Intel ASCI Red com veloc. de pico de 1,3 TFLOPS. Esse meu computador seria o número 1 da TOP500 até novembro 2000 :-)

Computação paralela - amanhã Computação Paralela será regra e não exceção. Em 10-20 anos (?) teremos a exascale computing capaz de realizar 1 ExaFLOPS = 10 18 operações aritméticas ponto flutuante por segundo, com centenas de milhões de processadores. Há inúmeros obstáculos a transpor até chegar a exascale computing. Haverá muitos trabalhos de pesquisa pela frente.

Computação paralela - desafios Descobrir aplicações que necessitam de computação paralela maciça. Projetar algoritmos paralelos eficientes para centenas de milhares de processadores (ou no futuro, para centenas de milhões de processadores). Uma forma ideal é desenvolver compiladores que fazem a paralelização automática a partir de um código sequencial. Mas temos muito pouco progresso.

Computação paralela - desafios Para cada problema com alta demanda computacional, projetar um programa paralelo eficiente. O progresso também deixa a desejar. Conseguimos lidar com aplicações trivialmente paralelizáveis. Para muitas aplicações, levamos tempo demais para obter uma solução paralela eficiente. Muitos algoritmos paralelos desenvolvidos não são escaláveis.

Computação paralela - oportunidades Problemas de biologia computacional Os problemas que vamos examinar lidam com seqüências (e.g. de DNA ou amino-ácidos). Veresmo sucintamente alguns conceitos como DNA, genes, etc.

CC GG CC GG CC GG Chromosome Chromosome Nucleus Chromatid Chromatid Telomere Centromere Cell Telomere Histones Base Pairs T A A A T T DNA(double helix) National Institutes of Health National Human Genome Research Institute Division of Intramural Research Uma pessoa tem trilhões de células. Em cada célula há 2 conjuntos de 23 cromosomos cada, formando o genoma do ser humano.

Sky - Spectral Karyotype National Institutes of Health National Human Genome Research Institute Division of Intramural Research O DNA completo (genoma) humano tem 3 bilhões de bases (representadas pelas letras A, T, C e G).

A DNA Advanced P P S S A T Base pairs Hydrogen bonds T G C A Sugarphosphate backbone Sugarphosphate backbone S S S P P P P S T S P P P S S C G Base pair G C S S P P P S Nucleotide National Institutes of Health National Human Genome Research Institute Division of Intramural Research Todo o DNA no núcleo de uma célula mede mais que 1 m.

Gene Exon Gene Intron Exon National Institutes of Health National Human Genome Research Institute Division of Intramural Research Um gene é o código responsável pela síntese de proteína. Há cerca de 100 mil genes no ser humano.

Gene Expression DNA Nuclear membrane mrna Transcription Mature mrna Amino acid Transport to cytoplasm Amino acid chain (protein) trna Translation Anti-codon Codon mrna Ribosome National Institutes of Health National Human Genome Research Institute Division of Intramural Research Expressão gênica é o processo de converter uma seqüência de DNA de um gene em proteína, pela transcrição em RNA mensageiro.

Amino acid Primary protein structure is sequence of a chain of amino acids Amino Acids Amino group Phe Leu Ser Cys H NH 2 C R R group COOH Acidic carboxyl group Amino Acid National Institutes of Health National Human Genome Research Institute Division of Intramural Research A proteína é constituída de uma seqüência de amino-ácidos.

Codon G C U A C G G A G C U U C G G A G C U A G RNA Ribonucleic acid G C U A C G G A G C U U C G G A G C U A G Codon 1 Codon 2 Codon 3 Codon 4 Codon 5 Codon 6 Codon 7 National Institutes of Health National Human Genome Research Institute Division of Intramural Research AC G U Codon é o código genético formado por grupo de 3 bases que é transformado em amino-ácido.

Uso da computação para problemas de bioinformática Vários problemas importantes em bioinformática lidam com grande volume de dados. Banco de genes GenBank contém aproximadamente 126.551.501.141 bases em 135.440.924 sequências. Esse número continua a crescer em cada dia. http://www.ncbi.nih.gov/genbank/.

Computação paralela e bioinformática Exemplos: Comparação de dois genomas, baseada em Similaridade de cadeias Subsequência comum mais longa

Similaridade de duas cadeias de caracteres Exemplo: Considere cadeias A e C: A = a c t t c a t C = a t t c a c g Alinhamento (a) A a c t t c a t C a t t c a c g Pontos 1 0 1 0 0 1 0 0 3 Alinhamento (b) A a c t t c a t C a t t c a c g Pontos 1 0 1 1 1 1 0 0 5 Inserir espaços tais que elas tenham igual comprmento. Atribuir 1 ponto quando os símbolos correpondentes são iguais; atribuir 0 caso contrário. Alinhamento (b) é melhor.

Problema da similaridade de duas cadeias Sejam dadas duas cadeias de caracteres A e C. Usando operações de edição (inserção, remoção ou substituição de caracteres), tornar A = C. Cada operação de edição tem um custo. Distância de edição = soma dos custos de cada operação de edição. Achar a menor distância de edição.

Formalização do problema Considere cadeias A e C, de comprimentos n e m. Considere no alinhamento, símbolo r de A e símbolo s de C. A função de pontuação S(r, s) é definida assim: Se r = s: S(r, s)= f (r, s)(> 0) (igual) Se r s: S(r, s)= f (r, s)(< 0) (desigual) Se inserimos um espaço: S(r, s)= k

Usando programação dinâmica Seja um grafo GDAG (Grid Directed Acyclic Graph) S[r, s 1] k S(r, s) = max S[r 1, s 1] + f (r, s) S[r 1, s] k (0, 0) b a a b c b c a b a a b c a b c a b a c a (8, 13) O caminho de (0,0) a (8,10) com maior pontuação é o melhor alinhamento. Um algoritmo sequencial leva tempo O(mn).

Um exemplo para ilustrar GDAG

Um exemplo para ilustrar GDAG

Um exemplo para ilustrar GDAG

Algoritmo paralelo para similaridade de duas cadeias Para duas cadeias de comprimentos m e n, o algoritmo sequencial leva tempo O(mn). O algoritmo paralelo de Alves et al. resolve o problema com p processadores em tempo de computação local de O(mn/p) e O(p) rodadas de comunicação. Alves, C. E. R., Cáceres, E. N., Dehne, F., and Song, S. W. A Parallel Wavefront Algorithm for Efficient Biological Sequence Comparison. The 2003 International Conference on Computational Science and its Applications - ICCSA 2003. Lecture Notes in Computer Science, Vol. 2668, Kumar, V.; Gavrilova, M. L.; Tan, C.J. K.; L Ecuyer, P., (Eds.), Springer-Verlag. Montreal, Canada, May 18-21, 2003, pp. 249-258. Os autores apresentam também um algoritmo parametrizado que usa um parâmetro α 1. O algoritmo parametrizado resolve o problema em de computação local de O(mn/p) e (1 + 1 α )p 2 rodadas de comunicação.

Problema da subseqüência comum mais longa Dadas duas seqüências de símbolos, a obtenção da subseqüência mais longa comum a ambas é um importante problema com aplicações em comparação de seqüências de DNA, compressão de dados, etc.

Subcadeia, Subseqüência Considere uma seqüência ou cadeia de símbolos. Exemplo: helloworld Uma subcadeia de uma cadeia é qualquer fragmento contíguo da cadeia dada. Exemplo: lowor ( helloworld ) Uma subseqüência de uma cadeia é obtida pela remoção de zero ou mais símbolos da cadeia original. Exemplo: hold ( helloworld ) Notação: Dada uma cadeia Y = y 1... y n denotamos por Y j i a subcadeia de Y desde y i a y j.

Subseqüência Comum Mais Longa - LCS Dadas duas cadeias X e Y, o problema de subseqüência comum mais longa (LCS) acha o comprimento da subseqüência mais longa comum a ambas as cadeias. Exemplo: X = helloworld Y = hollywood O comprimento da subseqüência comum mais longa é 6 e a subseqüência comum: hllwod ou hllood O problema LCS é um caso especial, mais simples, do problema da similaridade entre duas cadeias, onde apenas a operação de remoção de caracteres é considerada. A sua resolução também é baseada no Grafo Orientado Acíclico - GDAG.

Subseqüência Comum Mais Longa - LCS Dadas duas cadeias X e Y, o problema de subseqüência comum mais longa (LCS) acha o comprimento da subseqüência mais longa comum a ambas as cadeias. Exemplo: X = helloworld Y = hollywood O comprimento da subseqüência comum mais longa é 6 e a subseqüência comum: hllwod ou hllood O problema LCS é um caso especial, mais simples, do problema da similaridade entre duas cadeias, onde apenas a operação de remoção de caracteres é considerada. A sua resolução também é baseada no Grafo Orientado Acíclico - GDAG.

Grafo Orientado Acíclico - GDAG Considerem X = baabcbca (comprimento m) Y = baabcabcabaca (comprimento n). O GDAG tem (m + 1) (n + 1) vértices. As arestas do GDAG tem pesos: As arestas verticais e horizontais têm peso 0. As aresta do vértice (i 1, j 1) ao vértice (i, j) tem peso 1 se x i = y j. Se x i y j, a aresta tem peso 0 e pode ser ignorada.

GDAG (0, 0) b a a b c a b c a b a c a b a a b c b c a (8, 13)

Estruturas de dados para manipular o grafo GDAG Visando a manipulação rápida e eficiente do grafo GDAG, diversas estruturas de dados são definidas.

Algoritmo paralelo para LCS e ALCS Alves et al. apresentaram um algoritmo paralelo para LCS e ALCS, uma generalização de LCS. ALCS - Toda-Subcadeia Subseqüência Comum Mais Longa: Considere cadeias X e Y de comprimentos m e n. Toda-subcadeia subseqüência comum mais longa (ALCS) acha os comprimentos das subseqüências comuns mais longas entre X e qualquer subcadeia de Y. Dadas duas cadeias X e Y de comprimentos m e n, respectivamente, o problema ALCS pode ser resolvido por p processadores em tempo O (mn/p), e O(log p) rodadas de comunicação. C. E. R. Alves, E. N. Cáceres and S. W. Song. A Coarse-Grained Parallel Algorithm for the All-Substrings Longest Common Subsequence Problem. Algorithmica, Vol. 45, No. 3, July 2006, pp. 301-335.

Comparação de genomas Vamos agora aplicar o que foi visto para o problema de comparação de dois genomas. Almeida Jr, N. F., Alves, C. E. R., Cáceres, E. N. and Song, S. W. Comparison of Genomes using High-Performance Parallel Computing. Proceedings of 15th Symposium on Computer Architecture and High Performance Computing - SBAC 2003. São Paulo, SP. November 10-12, 2003, pp. 142-148. Comparação de genomas é útil para investigar funcionalidades comuns em organismos. Com computação parelela podemos usar algoritmos de alinhamento mais precisos baseados em programação dinâmica. Vamos comparar não apenas genes homólogos, mas também regiões entre regiões homólogas correspondentes.

Similaridade, homologia, função Os dois genomas comparados são: Xanthomonas axonopodis pv. citri with 5,175,554 base pairs and 4,313 protein-coding genes Xanthomonas campestris pv. campestris with 5,076,187 base pairs and 4,182 protein-coding genes. Homologia: dois genes compartilham um mesmo passado evolucionário. Similaridade entre dois DNAs ou aminoácidos podem inferir homologia. Homologia por sua vez pode determinar função. Assim: Similaridade homologia função

Estratégia de comparação Dados dois genomas G e H e as localizações de seus genes: 1. Obter e rotular genes homólogos (i.e. achar os pares de genes correspondentes similares). 1 2 3 4 5 6 g h 1 2 4 3 5 6 2. Obter pares de genes homólogos que não se cruzam (usando o algoritmo LCS). 1 2 3 5 6 g g h h 1 2 3 5 6

Estratégia de comparação 1 2 3 5 6 g g h h 1 2 3 5 6 3. Alinhar cada par de genes homólogos. 4. Alinha cada par de regiões intergenéticas (e.g.[g, g ] e [h, h ]). 5. Juntar todos os alinhamentos.

Desempenho do algoritmo paralelo A parte mais demorada foi a obtenção de pares homólogos. Solução sequencial usou Blast e EGG: 3 horas. Solução paralela usou programação dinâmica: 1 hora e 15 minutos. Achar pares que não se cruzam (não é etapa dominante): Solução sequencial usando Blast e EGG: não disponível. Solução paralela usando programação dinâmica: 20 segundos. Não apenas a solução paralela reduziu o tempo de execução, mas também produziu resultados de melhor qualidade.

Problema da subsequência máxima Seja dada uma sequência de números S = (x 1, x 2,..., x n ), com pelo menos um número positivo deseja-se obter uma subsequência contígua M = (x i,..., x j ) com máxima soma Σ j k=i x k. Obs: se todos os números são positivos, então M = S.

Exemplo: Dada a sequência 5-3 -1 5-9 3 2 8 1-9 3-6 3-1 0 3-3 0 7

Obter a subsequência contígua de soma máxima 14 5-3 -1 5-9 3 2 8 1-9 3-6 3-1 0 3-3 0 7

Aplicações deste problema O problema da subsequência máxima aparece em várias aplicações da Biologia Computacional, tais como: Identificação de domínios transmembranas em proteínas; Análise de proteínas e sequências de DNA; Identificação de genes; Comparação de bases de DNA ou aminoácidos; Identificação de regiões hidrofóbicas.

Identificação de regiões hidrofóbicas O alfabeto de 20 aminoácidos em proteínas permite uma diversidade de estrutura e função. Inerente a cada um dos 20 aminoácidos é a hidrofobicidade: a tendência do ácido em enterrar-se no núcleo de uma proteína, distante de moléculas vizinhas de água. A hidrofobicidade influência como uma proteína finalmente dobra na sua conformação 3-D. A cada aminoácido pode ser atribuído um valor numérico (positivo ou negativo) que reflete a hidrofobicidade. Aminoácidos com valores altos são mais hidrofóbicos, ao passo que os aminoácidos com valores mais negativos são mais hidrofílicos. O problema de subsequência máxima é então resolvido para essa sequência de valores numéricos associados (repetidas vezes, a fim de obter todas as subsequências maximais), com as subsequências maximais obtidas correspondendo às regiões hidrofóbicas.

Algoritmo paralelo Uma algoritmo paralelo para um cluster de microcomputadores foi proposto por Alves, Cáceres e Song 2003. Na sua dissertação clicar neste link para a página das dissertações defendidas UFABC - Ciência da Computação Cleber Silva Ferreira da Luz apresenta uma implmentação em GPU deste algoritmo, bem como para um problema mais geral (submatriz máxima de uma dada matriz). Foi usada uma máquina composta por 2 placas gráficas GTX295 da NVIDIA. Cada placa gráfica GTX295 possui 2 GPUs. Foi possível obter um speedup da ordem de 140 (em relação ao tempo de execução somente pela CPU), para sequências com 2.000.000 elementos.

Speedup obtido Speedup Speedup 140 120 100 80 4 GPU 3 GPU 60 40 20 2 GPU 1 GPU 1 Milhão 10 Milhões 20 Milhões 50 Milhões 100 Milhões 200 Milhões Quantidade de elementos

Conclusão A computação continua a evoluir. Em 10-20 anos espera-se chegar a Exascale Computing, capaz de realizar 10 18 operações aritmética por segundo. O que poderemos fazer com todo esse potencial computacional? As oportunidades serão imensas. Fica o desafio. Obrigado pela atenção.

Conclusão A computação continua a evoluir. Em 10-20 anos espera-se chegar a Exascale Computing, capaz de realizar 10 18 operações aritmética por segundo. O que poderemos fazer com todo esse potencial computacional? As oportunidades serão imensas. Fica o desafio. Obrigado pela atenção.