11
Abordagem Paralela da Evolução Diferencial em GPU Filipo Novo Mó Omar Andres Carmona Corte César Augusto Missio Marco ERAD 2015 XV Escola Regional de Alto Desempenho 22 a 24 de Abril de 2015 Gramado – RS - Brasil www.filipomor.com

Uma Abordagem Paralela da Evolução Diferencial em GPU

Embed Size (px)

Citation preview

Page 1: Uma Abordagem Paralela da Evolução Diferencial em GPU

Abordagem Paralela da Evolução Diferencial em GPU

Filipo Novo MórOmar Andres Carmona CortesCésar Augusto Missio Marcon

ERAD 2015XV Escola Regional de Alto Desempenho22 a 24 de Abril de 2015Gramado – RS - Brasil www.filipomor.com

Page 2: Uma Abordagem Paralela da Evolução Diferencial em GPU

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

Page 3: Uma Abordagem Paralela da Evolução Diferencial em GPU

O Algoritmo de Evolução Diferencial1 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

Page 4: Uma Abordagem Paralela da Evolução Diferencial em GPU

O Algoritmo de Evolução Diferencial

Inicializa População

AvaliaInovo

Seleciona I1, I2, I3

Mutação Recombi-nação

Novo Individuo é

melhor?

AtualizaPopulação

SIM

NÃOInovo < 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

Page 5: Uma Abordagem Paralela da Evolução Diferencial em GPU

O Algoritmo de Evolução Diferencial

População

dimensão

tam

anho

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

Page 6: Uma Abordagem Paralela da Evolução Diferencial em GPU

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:• , com

www.filipomor.com

6/11

Page 7: Uma Abordagem Paralela da Evolução Diferencial em GPU

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

Page 8: Uma Abordagem Paralela da Evolução Diferencial em GPU

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

4.0

3.5

3.0

2.5

2.0

1-1

4.0

3.5

3.0

2.5

2.01-1

Dim * Calls

Dim * Pop

Dim

Calls * Pop

Calls

-11

Calls

-11

Pop

Mea

n o

f Sp

eedup

Interaction Plot for SpeedupFitted Means

1-1

4.00

3.75

3.50

3.25

3.00

2.75

2.50

1-1 1-1

Dim

Mea

n of

Spe

edup

Calls Pop

Main Effects Plot for SpeedupFitted Means

Valores testados:• Dimensão: {500, 2000}• Chamadas: {105, 106}• População: {100, 2000}Nas legendas:• baixo = -1• alto = +1

www.filipomor.com

8/11

Page 9: Uma Abordagem Paralela da Evolução Diferencial em GPU

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

Page 10: Uma Abordagem Paralela da Evolução Diferencial em GPU

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

Page 11: Uma Abordagem Paralela da Evolução Diferencial em GPU

Abordagem Paralela da Evolução Diferencial em GPU

Filipo Novo MórOmar Andres Carmona CortesCésar Augusto Missio Marcon

ERAD 2015XV Escola Regional de Alto Desempenho22 a 24 de Abril de 2015Gramado – RS - Brasil

OBRIGADO!

www.filipomor.com