Uma Abordagem Paralela da Evolução Diferencial em GPU
-
Upload
filipo-mor -
Category
Technology
-
view
46 -
download
0
Transcript of 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
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 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
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
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
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
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
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
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
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