SlideShare uma empresa Scribd logo
1 de 11
Filipo Novo Mór
Omar Andres Carmona Cortes
César Augusto Missio Marcon
ERAD 2015
XV Escola Regional de Alto Desempenho
22 a 24 de Abril de 2015
Gramado – RS - Brasil www.filipomor.com
O Algoritmo de Evolução Diferencial
• Faz parte do grupo de algoritmos evolutivos.
• Adequado a problemas de natureza continua e NP Completo.
• O objetivo é encontrar um vetor 𝑋 tal que se minimize ou maximize
uma função 𝑓(𝑥) ( função objetivo ).
• A principal vantagem da ED é que o algoritmo pode tratar funções
objetivo que são descontinuas, não-diferenciáveis, não-lineares ou
dependente de muitas variáveis.
www.filipomor.com
2/11
O Algoritmo de Evolução Diferencial
1 Inicializa População
2 Avalia(População)
3 Enquanto critério de parada não alcançado
4 Para cada individuo i na população (Pop) faça
5 Selecionar três individuos
6 V  individuo3 + F * (individuo1 – individuo2)
7 Novo_individuo  cruzamento entre V e Popi
8 Se o fitness(Novo_individuo) < fitness(Popi)
9 Substitui Popi por Novo_individuo
10 Fim-se
11 Fim-para
12 Fim-Enquanto
www.filipomor.com
3/11
O Algoritmo de Evolução Diferencial
Inicializa
População
Avalia
Inovo
Seleciona
I1, I2, I3
Mutação
Recombi-
nação
Novo
Individuo é
melhor?
Atualiza
População
SIM
NÃO
Inovo < Pop(𝑖) ?
V = I1 + F (I3 – I2) Inovo = V comb Pop(𝑖)
Pop(𝑖) = Inovo
Para cada Indivíduo na População 𝑖, faça
Repetir por 𝑛 gerações
chamada à
Função
Objetivo
4/11
O Algoritmo de Evolução Diferencial
População
dimensão
tamanho
 Cada linha representa um indivíduo (ou solução proposta).
 A dimensão representa a discretização do problema.
 A função objetivo avalia o Individuo a partir do valor das
suas células (dimensão), gerando um resultado escalar.
Função
Objetivo
Indivíduo Valor Fitness
(escalar)
www.filipomor.com
5/11
O Algoritmo de Evolução Diferencial
• Para avaliar a implementação, foi utilizada a função de benchmark de
Schwefel.
• Possui vários mínimos locais.
• Dimensão: 𝑑
• O mínimo global é conhecido:
• 𝑓 𝑥∗ = 0, com 𝑥∗ = (420.9686, … , 420.9686)
www.filipomor.com
6/11
Implementação e Testes
• Parallel Computing Toolbox para GPU no MatLab.
• Equipamento:
• Placa de Video (GPU) NVIDIA GTS 450.
• CPU Intel i7 com 3.4Ghz.
• 64Gb RAM.
• Windows 7 64 bits.
• Testadas variações em:
• Tamanho da população
• Dimensão (quantidade de colunas)
• Quantidade de chamadas a função objetivo.
• Cada experimento foi executado 30 vezes.
www.filipomor.com
7/11
Dim Calls Pop Speedup Dim Calls Pop Speedup
-1 -1 -1 2.242328005 -1 -1 +1 4.402031153
+1 -1 -1 2.631392488 +1 -1 +1 3.59878617
-1 +1 -1 2.139425192 -1 +1 +1 4.246680717
+1 +1 -1 2.571705205 +1 +1 +1 3.604751521
Valores testados:
• Dimensão: {500, 2000}
• Chamadas: {105, 106}
• População: {100, 2000}
Nas legendas:
• baixo = -1
• alto = +1
www.filipomor.com
8/11
Conclusões
• Para a função objetivo utilizada, os maiores speedups foram obtidos
com as maiores populações (maior do que 4).
• A dimensão (quantidade de colunas) parace ter pouco impacto no
speedup da implementação paralela.
• Considerando que os parâmetros de entrada são definidos pelo
problema a ser processado, a identificação deste tipo de relação
serve de insumo ao dimensionamento de novas aplicações baseadas
em ED.
www.filipomor.com
9/11
Próximos Passos
• Implementação do algoritmo em CUDA C.
• Generalização do Algoritmo para uso de Funções Objetivo diversas.
• Geração modulo de visualização.
www.filipomor.com
10/11
Filipo Novo Mór
Omar Andres Carmona Cortes
César Augusto Missio Marcon
ERAD 2015
XV Escola Regional de Alto Desempenho
22 a 24 de Abril de 2015
Gramado – RS - Brasil
OBRIGADO!
www.filipomor.com

Mais conteúdo relacionado

Destaque

Programação C - Aula 1
Programação C - Aula 1Programação C - Aula 1
Programação C - Aula 1Filipo Mór
 
Programaçao C - Aula 2
Programaçao C - Aula 2Programaçao C - Aula 2
Programaçao C - Aula 2Filipo Mór
 
Desenvolvendo Aplicações de Uso Geral para GPU com CUDA
Desenvolvendo Aplicações de Uso Geral para GPU com CUDADesenvolvendo Aplicações de Uso Geral para GPU com CUDA
Desenvolvendo Aplicações de Uso Geral para GPU com CUDAFilipo Mór
 
Aula 11 - Terceirização em TI
Aula 11 - Terceirização em TIAula 11 - Terceirização em TI
Aula 11 - Terceirização em TIFilipo Mór
 
Aula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IPAula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IPFilipo Mór
 
Tutorial Gimp - Colorizar imagem
Tutorial Gimp - Colorizar imagemTutorial Gimp - Colorizar imagem
Tutorial Gimp - Colorizar imagemSandra Barros
 
Gimp para Iniciantes 1
Gimp para Iniciantes 1Gimp para Iniciantes 1
Gimp para Iniciantes 1PeslPinguim
 
Segurança da informação - Forense Computacional
Segurança da informação - Forense ComputacionalSegurança da informação - Forense Computacional
Segurança da informação - Forense ComputacionalJefferson Costa
 
Gimp 2.6.7 - Efeito Old Photo
Gimp 2.6.7 - Efeito Old PhotoGimp 2.6.7 - Efeito Old Photo
Gimp 2.6.7 - Efeito Old PhotoRafael Junqueira
 
Conceitos básicos de redes de computadores - Prof. Jefferson Costa
Conceitos básicos de redes de computadores - Prof. Jefferson CostaConceitos básicos de redes de computadores - Prof. Jefferson Costa
Conceitos básicos de redes de computadores - Prof. Jefferson CostaJefferson Costa
 
Aula 4 - Redes de Computadores A - Camadas Modelos TCP/IP e OSI. Camada Física.
Aula 4 - Redes de Computadores A - Camadas Modelos TCP/IP e OSI. Camada Física.Aula 4 - Redes de Computadores A - Camadas Modelos TCP/IP e OSI. Camada Física.
Aula 4 - Redes de Computadores A - Camadas Modelos TCP/IP e OSI. Camada Física.Filipo Mór
 
Fundamentos de redes bradesco escola virtual
Fundamentos de redes   bradesco escola virtualFundamentos de redes   bradesco escola virtual
Fundamentos de redes bradesco escola virtualCláudio Ferreira
 
Marketing - Editora Saraiva
Marketing - Editora SaraivaMarketing - Editora Saraiva
Marketing - Editora SaraivaRafael Junqueira
 
Aula 12 - Gestão do Conhecimento
Aula 12 - Gestão do ConhecimentoAula 12 - Gestão do Conhecimento
Aula 12 - Gestão do ConhecimentoFilipo Mór
 
Redes de computadores
Redes de computadoresRedes de computadores
Redes de computadoresAron Sporkens
 

Destaque (18)

efeito de texto dobrado no Gimp 2.8
efeito de texto dobrado no Gimp 2.8efeito de texto dobrado no Gimp 2.8
efeito de texto dobrado no Gimp 2.8
 
Programação C - Aula 1
Programação C - Aula 1Programação C - Aula 1
Programação C - Aula 1
 
Programaçao C - Aula 2
Programaçao C - Aula 2Programaçao C - Aula 2
Programaçao C - Aula 2
 
Desenvolvendo Aplicações de Uso Geral para GPU com CUDA
Desenvolvendo Aplicações de Uso Geral para GPU com CUDADesenvolvendo Aplicações de Uso Geral para GPU com CUDA
Desenvolvendo Aplicações de Uso Geral para GPU com CUDA
 
Aula 11 - Terceirização em TI
Aula 11 - Terceirização em TIAula 11 - Terceirização em TI
Aula 11 - Terceirização em TI
 
Aula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IPAula 6 - Redes de Computadores A - Endereçamento IP
Aula 6 - Redes de Computadores A - Endereçamento IP
 
Tutorial Gimp - Colorizar imagem
Tutorial Gimp - Colorizar imagemTutorial Gimp - Colorizar imagem
Tutorial Gimp - Colorizar imagem
 
Gimp para Iniciantes 1
Gimp para Iniciantes 1Gimp para Iniciantes 1
Gimp para Iniciantes 1
 
Segurança da informação - Forense Computacional
Segurança da informação - Forense ComputacionalSegurança da informação - Forense Computacional
Segurança da informação - Forense Computacional
 
Curso De Redes
Curso De RedesCurso De Redes
Curso De Redes
 
Gimp 2.6.7 - Efeito Old Photo
Gimp 2.6.7 - Efeito Old PhotoGimp 2.6.7 - Efeito Old Photo
Gimp 2.6.7 - Efeito Old Photo
 
Conceitos básicos de redes de computadores - Prof. Jefferson Costa
Conceitos básicos de redes de computadores - Prof. Jefferson CostaConceitos básicos de redes de computadores - Prof. Jefferson Costa
Conceitos básicos de redes de computadores - Prof. Jefferson Costa
 
Aula 4 - Redes de Computadores A - Camadas Modelos TCP/IP e OSI. Camada Física.
Aula 4 - Redes de Computadores A - Camadas Modelos TCP/IP e OSI. Camada Física.Aula 4 - Redes de Computadores A - Camadas Modelos TCP/IP e OSI. Camada Física.
Aula 4 - Redes de Computadores A - Camadas Modelos TCP/IP e OSI. Camada Física.
 
Fundamentos de redes bradesco escola virtual
Fundamentos de redes   bradesco escola virtualFundamentos de redes   bradesco escola virtual
Fundamentos de redes bradesco escola virtual
 
Marketing - Editora Saraiva
Marketing - Editora SaraivaMarketing - Editora Saraiva
Marketing - Editora Saraiva
 
Aula 12 - Gestão do Conhecimento
Aula 12 - Gestão do ConhecimentoAula 12 - Gestão do Conhecimento
Aula 12 - Gestão do Conhecimento
 
Redes de computadores
Redes de computadoresRedes de computadores
Redes de computadores
 
Projeto de redes
Projeto de redesProjeto de redes
Projeto de redes
 

Semelhante a Uma Abordagem Paralela da Evolução Diferencial em GPU

Merit Money na prática
Merit Money na práticaMerit Money na prática
Merit Money na práticaDaniel Alfenas
 
TDC2017 | São Paulo - Trilha Management 3.0 How we figured out we had a SRE t...
TDC2017 | São Paulo - Trilha Management 3.0 How we figured out we had a SRE t...TDC2017 | São Paulo - Trilha Management 3.0 How we figured out we had a SRE t...
TDC2017 | São Paulo - Trilha Management 3.0 How we figured out we had a SRE t...tdc-globalcode
 
TDC2018SP | Trilha Arq .Net - Performance e feature
TDC2018SP | Trilha Arq .Net - Performance e featureTDC2018SP | Trilha Arq .Net - Performance e feature
TDC2018SP | Trilha Arq .Net - Performance e featuretdc-globalcode
 
TDC2013 - Trilha de Testes - Iterasys - José Correia - Testar em Multiplos A...
TDC2013  - Trilha de Testes - Iterasys - José Correia - Testar em Multiplos A...TDC2013  - Trilha de Testes - Iterasys - José Correia - Testar em Multiplos A...
TDC2013 - Trilha de Testes - Iterasys - José Correia - Testar em Multiplos A...José Correia
 
Explorando los Límites de la Predicción
Explorando los Límites de la PredicciónExplorando los Límites de la Predicción
Explorando los Límites de la PredicciónBig-Data-Summit
 
Aprendizagem de máquina aplicada na neurociência
Aprendizagem de máquina aplicada na neurociênciaAprendizagem de máquina aplicada na neurociência
Aprendizagem de máquina aplicada na neurociênciaWalter Hugo Lopez Pinaya
 
Tdc2015 bigdata-mpias-final-pdf
Tdc2015 bigdata-mpias-final-pdfTdc2015 bigdata-mpias-final-pdf
Tdc2015 bigdata-mpias-final-pdfMinistry of Data
 
Algoritmos, Inteligência Artificial e Políticas Públicas
Algoritmos, Inteligência Artificial e Políticas PúblicasAlgoritmos, Inteligência Artificial e Políticas Públicas
Algoritmos, Inteligência Artificial e Políticas PúblicasNathalia Sautchuk Patricio
 
Desenvolvimento Dirigido por Testes com Junit
Desenvolvimento Dirigido por Testes com JunitDesenvolvimento Dirigido por Testes com Junit
Desenvolvimento Dirigido por Testes com JunitAdolfo Neto
 
Eiti Kimura - Analisador de dados automatizado utilizando machine learning
Eiti Kimura - Analisador de dados automatizado utilizando machine learningEiti Kimura - Analisador de dados automatizado utilizando machine learning
Eiti Kimura - Analisador de dados automatizado utilizando machine learningDevCamp Campinas
 
Test-Driven Development with PHP
Test-Driven Development with PHPTest-Driven Development with PHP
Test-Driven Development with PHPCezar Souza
 
QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...
QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...
QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...Gleicon Moraes
 
Ágil mas com a visão do todo: Mapeando histórias de usuário
Ágil mas com a visão do todo: Mapeando histórias de usuárioÁgil mas com a visão do todo: Mapeando histórias de usuário
Ágil mas com a visão do todo: Mapeando histórias de usuárioDaniel Alfenas
 

Semelhante a Uma Abordagem Paralela da Evolução Diferencial em GPU (20)

Merit Money na prática
Merit Money na práticaMerit Money na prática
Merit Money na prática
 
TDC2017 | São Paulo - Trilha Management 3.0 How we figured out we had a SRE t...
TDC2017 | São Paulo - Trilha Management 3.0 How we figured out we had a SRE t...TDC2017 | São Paulo - Trilha Management 3.0 How we figured out we had a SRE t...
TDC2017 | São Paulo - Trilha Management 3.0 How we figured out we had a SRE t...
 
TDC2018SP | Trilha Arq .Net - Performance e feature
TDC2018SP | Trilha Arq .Net - Performance e featureTDC2018SP | Trilha Arq .Net - Performance e feature
TDC2018SP | Trilha Arq .Net - Performance e feature
 
Development pitfalls
Development pitfallsDevelopment pitfalls
Development pitfalls
 
TDC2013 - Trilha de Testes - Iterasys - José Correia - Testar em Multiplos A...
TDC2013  - Trilha de Testes - Iterasys - José Correia - Testar em Multiplos A...TDC2013  - Trilha de Testes - Iterasys - José Correia - Testar em Multiplos A...
TDC2013 - Trilha de Testes - Iterasys - José Correia - Testar em Multiplos A...
 
Explorando los Límites de la Predicción
Explorando los Límites de la PredicciónExplorando los Límites de la Predicción
Explorando los Límites de la Predicción
 
Aprendizagem de máquina aplicada na neurociência
Aprendizagem de máquina aplicada na neurociênciaAprendizagem de máquina aplicada na neurociência
Aprendizagem de máquina aplicada na neurociência
 
Tdc2015 bigdata-mpias-final-pdf
Tdc2015 bigdata-mpias-final-pdfTdc2015 bigdata-mpias-final-pdf
Tdc2015 bigdata-mpias-final-pdf
 
Introdução a linguagem Python
Introdução a linguagem PythonIntrodução a linguagem Python
Introdução a linguagem Python
 
Algoritmos, Inteligência Artificial e Políticas Públicas
Algoritmos, Inteligência Artificial e Políticas PúblicasAlgoritmos, Inteligência Artificial e Políticas Públicas
Algoritmos, Inteligência Artificial e Políticas Públicas
 
Desenvolvimento Dirigido por Testes com Junit
Desenvolvimento Dirigido por Testes com JunitDesenvolvimento Dirigido por Testes com Junit
Desenvolvimento Dirigido por Testes com Junit
 
Eiti Kimura - Analisador de dados automatizado utilizando machine learning
Eiti Kimura - Analisador de dados automatizado utilizando machine learningEiti Kimura - Analisador de dados automatizado utilizando machine learning
Eiti Kimura - Analisador de dados automatizado utilizando machine learning
 
01-Paradigmas.pdf
01-Paradigmas.pdf01-Paradigmas.pdf
01-Paradigmas.pdf
 
Test-Driven Development with PHP
Test-Driven Development with PHPTest-Driven Development with PHP
Test-Driven Development with PHP
 
QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...
QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...
QCon SP 2015 - Advogados do diabo: como a arquitetura emergente de sua aplica...
 
Aula 3-lógica.pptx
Aula 3-lógica.pptxAula 3-lógica.pptx
Aula 3-lógica.pptx
 
Java - Primeiros passos
Java - Primeiros passosJava - Primeiros passos
Java - Primeiros passos
 
Mergulhando no ecossistema .NET
Mergulhando no ecossistema .NETMergulhando no ecossistema .NET
Mergulhando no ecossistema .NET
 
Aula 1 lpa
Aula 1   lpaAula 1   lpa
Aula 1 lpa
 
Ágil mas com a visão do todo: Mapeando histórias de usuário
Ágil mas com a visão do todo: Mapeando histórias de usuárioÁgil mas com a visão do todo: Mapeando histórias de usuário
Ágil mas com a visão do todo: Mapeando histórias de usuário
 

Mais de Filipo Mór

Auditoria e Segurança em TI - Aula 4
Auditoria e Segurança em TI - Aula 4Auditoria e Segurança em TI - Aula 4
Auditoria e Segurança em TI - Aula 4Filipo Mór
 
Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.
Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.
Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.Filipo Mór
 
Auditoria e Segurança em TI - Aula 3
Auditoria e Segurança em TI - Aula 3Auditoria e Segurança em TI - Aula 3
Auditoria e Segurança em TI - Aula 3Filipo Mór
 
Aula 1 - Conceitos de TI e PDTI
Aula 1 - Conceitos de TI e PDTIAula 1 - Conceitos de TI e PDTI
Aula 1 - Conceitos de TI e PDTIFilipo Mór
 
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".Filipo Mór
 
Aula 10 - Acompanhamento de Projetos
Aula 10 - Acompanhamento de ProjetosAula 10 - Acompanhamento de Projetos
Aula 10 - Acompanhamento de ProjetosFilipo Mór
 
Aula 9 - Controle de Atividades e Custos
Aula 9 - Controle de Atividades e CustosAula 9 - Controle de Atividades e Custos
Aula 9 - Controle de Atividades e CustosFilipo Mór
 
Aula 8 - Técnicas de Negociação e Gestão de RH
Aula 8 - Técnicas de Negociação e Gestão de RHAula 8 - Técnicas de Negociação e Gestão de RH
Aula 8 - Técnicas de Negociação e Gestão de RHFilipo Mór
 
Aula 7 - Técnicas de Planejamento
Aula 7 - Técnicas de PlanejamentoAula 7 - Técnicas de Planejamento
Aula 7 - Técnicas de PlanejamentoFilipo Mór
 
Aula 6 - O Processo Decisório e a Inteligência Competitiva de TI
Aula 6 - O Processo Decisório e a Inteligência Competitiva de TIAula 6 - O Processo Decisório e a Inteligência Competitiva de TI
Aula 6 - O Processo Decisório e a Inteligência Competitiva de TIFilipo Mór
 
Aula 5 - A TI nas Organizações
Aula 5 - A TI nas OrganizaçõesAula 5 - A TI nas Organizações
Aula 5 - A TI nas OrganizaçõesFilipo Mór
 
Parallelization Strategies for Implementing Nbody Codes on Multicore Architec...
Parallelization Strategies for Implementing Nbody Codes on Multicore Architec...Parallelization Strategies for Implementing Nbody Codes on Multicore Architec...
Parallelization Strategies for Implementing Nbody Codes on Multicore Architec...Filipo Mór
 
Aula 3 - Gestão de Processos, BPM e Desenvolvimento de Sistemas
Aula 3 - Gestão de Processos, BPM e Desenvolvimento de SistemasAula 3 - Gestão de Processos, BPM e Desenvolvimento de Sistemas
Aula 3 - Gestão de Processos, BPM e Desenvolvimento de SistemasFilipo Mór
 
Aula 4 - O Profissional de TI
Aula 4 - O Profissional de TIAula 4 - O Profissional de TI
Aula 4 - O Profissional de TIFilipo Mór
 
GPU Performance Prediction Using High-level Application Models
GPU Performance Prediction Using High-level Application ModelsGPU Performance Prediction Using High-level Application Models
GPU Performance Prediction Using High-level Application ModelsFilipo Mór
 
Aula 2 - Estratégia Competitivas de TI
Aula 2 - Estratégia Competitivas de TIAula 2 - Estratégia Competitivas de TI
Aula 2 - Estratégia Competitivas de TIFilipo Mór
 
Aula 1 - Conceitos de TI e PDTI
Aula 1 - Conceitos de TI e PDTIAula 1 - Conceitos de TI e PDTI
Aula 1 - Conceitos de TI e PDTIFilipo Mór
 
GPU Programming with CUDA
GPU Programming with CUDAGPU Programming with CUDA
GPU Programming with CUDAFilipo Mór
 
Brief Overview of a Parallel Nbody Code
Brief Overview of a Parallel Nbody CodeBrief Overview of a Parallel Nbody Code
Brief Overview of a Parallel Nbody CodeFilipo Mór
 

Mais de Filipo Mór (19)

Auditoria e Segurança em TI - Aula 4
Auditoria e Segurança em TI - Aula 4Auditoria e Segurança em TI - Aula 4
Auditoria e Segurança em TI - Aula 4
 
Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.
Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.
Aula 3 - Redes de Computadores A - Administração da Internet. Modelo TCP/IP.
 
Auditoria e Segurança em TI - Aula 3
Auditoria e Segurança em TI - Aula 3Auditoria e Segurança em TI - Aula 3
Auditoria e Segurança em TI - Aula 3
 
Aula 1 - Conceitos de TI e PDTI
Aula 1 - Conceitos de TI e PDTIAula 1 - Conceitos de TI e PDTI
Aula 1 - Conceitos de TI e PDTI
 
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
Curso "Desenvolvendo aplicações de uso geral para GPU com CUDA".
 
Aula 10 - Acompanhamento de Projetos
Aula 10 - Acompanhamento de ProjetosAula 10 - Acompanhamento de Projetos
Aula 10 - Acompanhamento de Projetos
 
Aula 9 - Controle de Atividades e Custos
Aula 9 - Controle de Atividades e CustosAula 9 - Controle de Atividades e Custos
Aula 9 - Controle de Atividades e Custos
 
Aula 8 - Técnicas de Negociação e Gestão de RH
Aula 8 - Técnicas de Negociação e Gestão de RHAula 8 - Técnicas de Negociação e Gestão de RH
Aula 8 - Técnicas de Negociação e Gestão de RH
 
Aula 7 - Técnicas de Planejamento
Aula 7 - Técnicas de PlanejamentoAula 7 - Técnicas de Planejamento
Aula 7 - Técnicas de Planejamento
 
Aula 6 - O Processo Decisório e a Inteligência Competitiva de TI
Aula 6 - O Processo Decisório e a Inteligência Competitiva de TIAula 6 - O Processo Decisório e a Inteligência Competitiva de TI
Aula 6 - O Processo Decisório e a Inteligência Competitiva de TI
 
Aula 5 - A TI nas Organizações
Aula 5 - A TI nas OrganizaçõesAula 5 - A TI nas Organizações
Aula 5 - A TI nas Organizações
 
Parallelization Strategies for Implementing Nbody Codes on Multicore Architec...
Parallelization Strategies for Implementing Nbody Codes on Multicore Architec...Parallelization Strategies for Implementing Nbody Codes on Multicore Architec...
Parallelization Strategies for Implementing Nbody Codes on Multicore Architec...
 
Aula 3 - Gestão de Processos, BPM e Desenvolvimento de Sistemas
Aula 3 - Gestão de Processos, BPM e Desenvolvimento de SistemasAula 3 - Gestão de Processos, BPM e Desenvolvimento de Sistemas
Aula 3 - Gestão de Processos, BPM e Desenvolvimento de Sistemas
 
Aula 4 - O Profissional de TI
Aula 4 - O Profissional de TIAula 4 - O Profissional de TI
Aula 4 - O Profissional de TI
 
GPU Performance Prediction Using High-level Application Models
GPU Performance Prediction Using High-level Application ModelsGPU Performance Prediction Using High-level Application Models
GPU Performance Prediction Using High-level Application Models
 
Aula 2 - Estratégia Competitivas de TI
Aula 2 - Estratégia Competitivas de TIAula 2 - Estratégia Competitivas de TI
Aula 2 - Estratégia Competitivas de TI
 
Aula 1 - Conceitos de TI e PDTI
Aula 1 - Conceitos de TI e PDTIAula 1 - Conceitos de TI e PDTI
Aula 1 - Conceitos de TI e PDTI
 
GPU Programming with CUDA
GPU Programming with CUDAGPU Programming with CUDA
GPU Programming with CUDA
 
Brief Overview of a Parallel Nbody Code
Brief Overview of a Parallel Nbody CodeBrief Overview of a Parallel Nbody Code
Brief Overview of a Parallel Nbody Code
 

Uma Abordagem Paralela da Evolução Diferencial em GPU

  • 1. Filipo Novo Mór Omar Andres Carmona Cortes César Augusto Missio Marcon ERAD 2015 XV Escola Regional de Alto Desempenho 22 a 24 de Abril de 2015 Gramado – RS - Brasil www.filipomor.com
  • 2. O Algoritmo de Evolução Diferencial • Faz parte do grupo de algoritmos evolutivos. • Adequado a problemas de natureza continua e NP Completo. • O objetivo é encontrar um vetor 𝑋 tal que se minimize ou maximize uma função 𝑓(𝑥) ( função objetivo ). • A principal vantagem da ED é que o algoritmo pode tratar funções objetivo que são descontinuas, não-diferenciáveis, não-lineares ou dependente de muitas variáveis. www.filipomor.com 2/11
  • 3. O Algoritmo de Evolução Diferencial 1 Inicializa População 2 Avalia(População) 3 Enquanto critério de parada não alcançado 4 Para cada individuo i na população (Pop) faça 5 Selecionar três individuos 6 V  individuo3 + F * (individuo1 – individuo2) 7 Novo_individuo  cruzamento entre V e Popi 8 Se o fitness(Novo_individuo) < fitness(Popi) 9 Substitui Popi por Novo_individuo 10 Fim-se 11 Fim-para 12 Fim-Enquanto www.filipomor.com 3/11
  • 4. O Algoritmo de Evolução Diferencial Inicializa População Avalia Inovo Seleciona I1, I2, I3 Mutação Recombi- nação Novo Individuo é melhor? Atualiza População SIM NÃO Inovo < Pop(𝑖) ? V = I1 + F (I3 – I2) Inovo = V comb Pop(𝑖) Pop(𝑖) = Inovo Para cada Indivíduo na População 𝑖, faça Repetir por 𝑛 gerações chamada à Função Objetivo 4/11
  • 5. O Algoritmo de Evolução Diferencial População dimensão tamanho  Cada linha representa um indivíduo (ou solução proposta).  A dimensão representa a discretização do problema.  A função objetivo avalia o Individuo a partir do valor das suas células (dimensão), gerando um resultado escalar. Função Objetivo Indivíduo Valor Fitness (escalar) www.filipomor.com 5/11
  • 6. O Algoritmo de Evolução Diferencial • Para avaliar a implementação, foi utilizada a função de benchmark de Schwefel. • Possui vários mínimos locais. • Dimensão: 𝑑 • O mínimo global é conhecido: • 𝑓 𝑥∗ = 0, com 𝑥∗ = (420.9686, … , 420.9686) www.filipomor.com 6/11
  • 7. Implementação e Testes • Parallel Computing Toolbox para GPU no MatLab. • Equipamento: • Placa de Video (GPU) NVIDIA GTS 450. • CPU Intel i7 com 3.4Ghz. • 64Gb RAM. • Windows 7 64 bits. • Testadas variações em: • Tamanho da população • Dimensão (quantidade de colunas) • Quantidade de chamadas a função objetivo. • Cada experimento foi executado 30 vezes. www.filipomor.com 7/11
  • 8. Dim Calls Pop Speedup Dim Calls Pop Speedup -1 -1 -1 2.242328005 -1 -1 +1 4.402031153 +1 -1 -1 2.631392488 +1 -1 +1 3.59878617 -1 +1 -1 2.139425192 -1 +1 +1 4.246680717 +1 +1 -1 2.571705205 +1 +1 +1 3.604751521 Valores testados: • Dimensão: {500, 2000} • Chamadas: {105, 106} • População: {100, 2000} Nas legendas: • baixo = -1 • alto = +1 www.filipomor.com 8/11
  • 9. Conclusões • Para a função objetivo utilizada, os maiores speedups foram obtidos com as maiores populações (maior do que 4). • A dimensão (quantidade de colunas) parace ter pouco impacto no speedup da implementação paralela. • Considerando que os parâmetros de entrada são definidos pelo problema a ser processado, a identificação deste tipo de relação serve de insumo ao dimensionamento de novas aplicações baseadas em ED. www.filipomor.com 9/11
  • 10. Próximos Passos • Implementação do algoritmo em CUDA C. • Generalização do Algoritmo para uso de Funções Objetivo diversas. • Geração modulo de visualização. www.filipomor.com 10/11
  • 11. Filipo Novo Mór Omar Andres Carmona Cortes César Augusto Missio Marcon ERAD 2015 XV Escola Regional de Alto Desempenho 22 a 24 de Abril de 2015 Gramado – RS - Brasil OBRIGADO! www.filipomor.com