LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD...

44
LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD LCAD Introdução a Computação Científica Lucia Catabriga TEI: Computação Científica Combinatorial

Transcript of LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD...

Page 1: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

LCAD - Laboratório de Computação de Alto Desempenho

Departamento de Informática - CT/UFESLCADLCAD

Introdução a Computação Científica

Lucia Catabriga

TEI: Computação Científica Combinatorial

Page 2: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

Sumário

● Processos de Solução● Método das Diferenças Finitas● Método dos Elelentos Finitos● Estrutura de Dados envolvidas

Page 3: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

Processo de Solução

• Fenômeno Natural• Modelo Matemático - Equações Governantes• Métodos de Aproximação

Diferenças FinitasVolumes Finitos

Elementos FinitosElementos de Contorno

Page 4: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

Etapas de Solução

Pré-processamento dos dados:

• Condições de Contorno• Condições Iniciais• Definição do domínio discretizado

Processamento de solução:

• Para cada ponto de interesse do domínio discretizado da malha montar estrutura de solução• Obter solução aproximada ou solução no tempo corrente

Pós-processamento dos Resultados:

• Visualização e análise dos resultados obtidos

Page 5: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

Exemplo do Processo de Solução

Domínio Real Domínio DiscretizadoSolução Aproximada

Dispersão de Poluentes na Baía de Guanabara

Page 6: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

Processo de Solução

Equação Diferencial Parcial

Aproximação do domínio

Solução do Sistema (Linear ou Não-Linear)

Não dependem do Tempo

Equação Diferencial Parcial

Aproximação do domínioEq. Diferencial Ordinária

Aproximação no Tempo

Solução do Sistemaem cada passo de tempo

Dependem do Tempo

Page 7: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

Método das Diferenças Finitas (MDF)

Equação DiferencialDiscretização do

Domínio

Equação de Diferenças Finitas

Solução de SistemasLineares ou Não Lineares

Page 8: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

Método dos Elementos Finitos

Equação DiferencialDiscretização do

Domínio

Equação Integral

AproximaçãoSolução de SistemasLineares ou Não Lineares

Page 9: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

MDF: exemplo de solução para equação 1D

0 1 1 1 1

0

0 1i i i n

i

x x x x x x

x x i x

Equação diferencial contínua

1- Discretização do Domínio:

2 - Aproximação das derivada por “diferenças”:

1' , ( )i iu uu O x

x

1' , ( )i iu uu O x

x

21 1' , ( )2

i iu uu O x

x

21 12

2'' , ( )i i iu u u

u O xx

'' (0,1)

(0) (1) 0

u f em

u u

Page 10: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

MDF: exemplo de solução para equação 1D

2 - Aproximação das derivada por “diferenças”:

2 2 21 11 2 1 , 1, ,i i i i

b a b

u u u f i nx x x

A é tridiagonal

1 1 0

2 2

1 1

1

n n

n n n

u f bua b

u fb a b

u fb a b

u f bub a

0

0

a b

b a b

b a b

b a

Page 11: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

MDF: exemplo de solução para equação 2D

0 1 1 1 1 0

0 1 1 1 1 0

0 1,

0 1,i i i n i

j j j m j

x x x x x x x x i x

y y y y y y y y j y

Equação diferencial contínua

1- Discretização do Domínio:

2 - Aproximação das derivada por “diferenças”:

1, 1, 2, ( )2

i j i ju uuO x

x x

21, 1, 2

2 2

2, ( )i j ij i ju u uu

O xx x

2 22 2

2 2(0,1) (0,1)

( , ) / ( , )

u uu f em

x y

uu g x y e ou h x y em

n

Page 12: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

MDF: exemplo de solução para equação 2D

Numeração das incognitas:

1, 1, , 1 , 12 2

1 12 2

2 2, 1, , 1, ,

2 2, 1, ,

i j ij i j i j ij i jij

I I I I n I I nI

u u u u u uf i n j m

x y

u u u u u uf I N

x y

Page 13: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

MDF: exemplo de solução para equação 2D

2 - Aproximação das derivada por “diferenças”:

2 2 2 21

2 21

1 1 1 12

1 1 , 1, ,

I n I I

bc a

I I n I

b c

u u uy x x y

u u f I n mx y

A é Pentadiagonal

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

0

0

0

0

S O

S

S L

O

L

O N

N

N L

u f cu bua b c

u f cub a b c

u f cu bub a c

u f buc a b c

u fc b a b c

u f buc b a c

u f bu cuc a b

u f cuc b a b

u f cu buc b a

Page 14: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

MDF: Matrizes Esparsas Resultantes

7

1 1 1

2 2 2 2

3 3 3

4 4 4 4

5 5 5 5 5

6 6 6 6

7 7

8 8 8 8

9 9 9

0

0

0

0

a b c

b a b c

b a c

c a b c

c b a b cA

c b a c

c a b

c b a b

c b a

Diferenças Finitas 2D → Matrizes pentadiagonais

Page 15: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

MEF: exemplo de solução para a equação 1D

Formulação Forte

Formulação Variacional ou Formulação Fraca

'' (0,1)

(0) (1) 0

u f em

u u

1 1

0 0

1 11

0 0 0

"( ) ( ) ( ) ( )

'( ) ( ) '( ) '( ) ( ) ( )

u x v x dx f x v x dx

u x v x u x v x dx f x v x dx

1 1

0 0, ' 'Encontrar u V tal que v V u v dx fvdx

Page 16: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

Formulação Variaconal Aproximada

Escolher Φk com suporte compacto, isto é:

k k+1k-1

1

MEF: exemplo de solução para a equação 1D

0 1 1 1 1

0

0 1i i i n

i

x x x x x x

x x i x

1: [0,1] , , [ , ] , 0, , (0) (1) 0k kV u u é contínua u x x é linear k n e u u

11

1

11

1

1 1

[ , ]

( ) [ , ]

0 [ , ]

kk k

k k

kk k

k k

k k

x xse x x x

x x

x xx se x x x

x x

se x x x

Φk

Page 17: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

MEF: exemplo de solução para a equação 1D

1 1

0 0, ' 'Encontrar u V tal que v V u v dx fvdx

1

( ) ( )n

hk k

k

u x u x

1

( ) ( )n

hk k

k

f x f x

1 1

0 01

1 1

0 01

' ( ) ' ( ) ( ) , 1, ,

' ( ) ' ( ) ( ) , 1, ,

nh

j j i i ij

nh

j i j i ij

u x x dx f x dx i n

x x dx u f x dx i n

1 1

0 0, ' 'h h h h h h h hEncontrar u V tal que v V u v dx f v dx

Page 18: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

MEF: exemplo de solução para a equação 1D

bAu A é tridiagonal

Como Φi possui suporte compacto, Φi’(x) Φi’’(x) é diferente de zero somente para i = j-1, j e j+1

j j+1j-1

1Φj

Page 19: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

MEF: exemplo de solução para a equação 1D

bAu

1

( ) ( )n

hk k

k

u x u x

1

Nele

eA k

A

1

Nele

eb f

A

11 12

21 22

e ee

e e

k kk

k k

Page 20: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

MEF: exemplo de solução para equação 2D

Equação diferencial contínua

2 22 2

2 2(0,1) (0,1)

0

u uu f em

x y

u em

Formulação Variacional ou Formulação Fraca

, .Encontrar u V tal que v V u v d f v d

Page 21: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

MEF: exemplo de solução para equação 2D

1

( , ) ( , )n

hk k

k

u x y u x y

1

( , ) ( , )n

hk k

k

f x y f x y

Formulação Variacional Aproximada

, .h h h h h h hEncontrar u V tal que v V u v d f v d

1

1

01

. , 1, ,

. , 1, ,

nh

j j i i ij

nh

j i j i ij

u d f d i n

d u f d i n

bAu

A é esparsa

Page 22: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

MEF: exemplo de solução para equação 2D

1

nene

k kk

u u

1

Nele

eA k

A

1

Nele

eb f

A

nennennennen

nen

nen

e

kkk

kkk

kkk

k

,21

,22221

,11211

Page 23: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

MEF: Montagem da Matriz Esparsa

Page 24: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

MEF: Montagem da Matriz Esparsa

Page 25: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

FEM: Matrizes Esparsas Resultantes

99989695

89888784

787774

69666563

59585655545352

4745444241

36353332

2524232221

141211

kkkk

kkkk

kkk

kkkk

kkkkkkk

kkkkk

kkkk

kkkkk

kkk

K

1,1 1,2 1,3 1,4 1,5 1,6 1,7

2,1 22 2,3 2,6 2,9 2,10

3,1 3,2 3,3 3,4 3,8 3,9 3,11

4,1 4,3 4,4 4,5 4,8

5,1 5,4 5,5 5,7

6,1 6,2 6,6 6,7 6,10

7,1 7,5 7,6 7,7

8,3 8,4 8,8 8,11

9,2 9,3 9,9 9,10 9,11

10,2 1

a a a a a a a

a a a a a a

a a a a a a a

a a a a a

a a a a

a a a a a

a a a a

a a a a

a a a a a

a a 0,6 10,9 10,10

11,3 11,8 11,9 11,11

a a

a a a a

K =

Page 26: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

Matrizes Esparsas x Grafo Associado

Grafo Ordenado

Grafo não-ordenado

Page 27: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

Matrizes Esparsas Resultantes x Reordenamento de Grafos

Ordenamento Natural Reordenamento Cuthill-Mckee

Page 28: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

Matrizes Esparsas Resultantes x Reordenamento de Grafos

Ordenamento Natural

Reordenamento Reverse Cuthill-Mckee

Page 29: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

Matrizes Esparsas Resultantes

● Matrizes esparsas x Solução de sistemas Lineares

● Armazenamentos Globais● Armazenamentos Locais

Page 30: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

Matrizes Esparsas x Métodos de Solução

● Métodos diretos:– Solução exata a menos de erros de

arredontamento. Transformação do sistema em sistemas triviais modificando os coeficientes da matriz esparsa e alterarando a esparsidade.

● Métodos Iterativos:– Solução aproximada com tolerância pré-fixada.

Não há alteração dos coeficentes nem da esparsidade da matriz

– Dependem de condições de convergência

– Necessidade do produto matriz-vetor

Page 31: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

Armazenamento de Matrizes Esparsas Estratégias Globais

7 7

1 1 1 1 1 1

2 2 2 2 2 2 2 2

3 3 3 3 3 3

4 4 4 4 4 4 4 4

5 5 5 5 5 5 5 5 5 5

6 6 6 6 6 6 6 6

7 7 7 7

8 8 8 8 8 8 8 8

9 9 9 9 9 9

0 0

0 0

0 0

0 0

a b c a b c

d a b c d a b c

d a c d a c

e a b c e a b c

e d a b c e d a b cA AA

e d a c e d a c

e a b e a b

e d a b e d a b

e d a e d a

1 1 1

2 2 2 2

3 3 3

4 4 4 4

5 5 5 5 5

6 6 6 6

7 7 7

8 8 8 8

9 9 9

0

0

0 0 0

0 0 0

0 0

0 0 0

0 0 0

0 0

0 0

a b c

d a b c

d a c

e a b c

ou AA e d a b c

e d a c

e a b

e d a b

e d a

A matriz de ordem nxn AA matriz de ordem nx5 ou nx(2p+1)

Compressed Diagonal Storage (CDS)

Page 32: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

Armazenamento de Matrizes Esparsas Estratégias Globais

11 12 14

21 22 23 24 25

32 33 35 36

41 42 44 45 47

52 53 54 55 56 58 59

63 65 66 69

74 77 78

84 87 88 89

95 96 98 99

k k k

k k k k k

k k k k

k k k k k

A k k k k k k k

k k k k

k k k

k k k k

k k k k

9 361 4

11 12 14 21 22 25 32 33 89 95 96 98 99

1 2 4 1 2 5 2 3 9 5 6 8 9

1 4 9 13 18 25 29 32 36 40

AA k k k k k k k k k k k k k

JA

IA

A: matriz de ordem nxn

nnz: número de coeficientes não nulos

AA, JA: vetores de ordem nnzIA: vetor de ordem n+1

Compressed Sparse Row (CSR)

Page 33: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

Armazenamento de Matrizes Esparsas Estratégias Globais

11

21 22

32 33

41 42 44

52 53 54 55

63 65 66

74 77

84 87 88

95 96 98 99

k

k k

k k

k k k

A k k k k

k k k

k k

k k k

k k k k

4 6 271 2

11 21 22 32 33 41 42 44 95 96 98 990 0

1 2 4 6 10 14 18 22 27 31

AA k k k k k k k k k k k k

IA

A: matriz simétrica de ordem nxn

AA: vetor de ordem nnz+qIA: vetor de ordem n+1

Skyline Storage (SKS)

Page 34: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

Armazenamento de Matrizes Esparsas Estratégias Globais

Algoritmo Produto Matriz-vetor CSR

para i=1,2,…,nk1 = IA(i)k2 = IA(i+1)-1para j = k1,…, K2

y(i)= y(i) + AA(j)*v(JA(j)) fim_para ! jFim_para ! i

Page 35: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

Armazenamento de Matrizes Esparsas Estratégias Locais

Elemento por Elemento (EBE)

K =

k1

k2

kNel

k3

1

nele

eK k

A

nennennennen

nen

nen

e

kkk

kkk

kkk

k

,21

,22221

,11211

Page 36: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

Armazenamento de Matrizes Esparsas Estratégias Locais

Algoritmo Produto Matriz-Vetor EBE

1 1( )

nel nele e e

e eA A v

Av vA A

para e=1,2,…,nellocalize: ve v(e)produto: ave ke*veespalhe e acumule: v(e) v(e) + ave

fim_para ! e

Page 37: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

Armazenamento de Matrizes Esparsas Estratégias Locais

Aresta por Aresta (EDS) Desmembramento da matriz elemento nas componentes

das arestas

0

000

0

0

0

000

000

0

0

321 ArestaArestaArestaElemento

Soma das contribuições das arestas dos elementos adjacentes

I

J

K

L

E1

E2

21 EEArestaIJ

Page 38: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

Armazenamento de Matrizes Esparsas Estratégias Locais

Aresta por Aresta (EDS)

K =

1

nedgess

sK k

A

nednednedned

ned

ned

s

kkk

kkk

kkk

k

,21

,22221

,11211

k1

knedges

k2

k3

Page 39: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

Armazenamento de Matrizes Esparsas Estratégias Locais

Algoritmo Produto Matriz-Vetor EDS

1 1( )

nedges nedgese e e

e eA k v

Av vA A

para s=1,2,…,nedgeslocalize: vs v(s)produto: avs ks*vsespalhe e acumule: v(s) v(s) + avs

fim_para ! s

Page 40: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

Processamento Paralelo

Page 41: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

Armazenamento Local x Coloração de Grafos

Necessitamos de um Algoritmo de Coloração de Grafos !! Atualmente é usado um algoritmo “Guloso”

Page 42: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

Partição de Grafos

Algoritmos de Partição de Grafos

Metis (http://people.sc.fsu.edu/~burkardt/c_src/metis/metis.html): família de particionamento de grafos não estruturados considerando redução de banda da matriz associada (www.cs.umn.edu/~metis )

Page 43: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

Processamento Paralelo

Page 44: LCAD - Laboratório de Computação de Alto Desempenho Departamento de Informática - CT/UFES LCAD Introdução a Computação Científica Lucia Catabriga TEI:

Processamento Paralelo x Partição de Grafos