SlideShare une entreprise Scribd logo
1  sur  69
Télécharger pour lire hors ligne
Eletromagnetismo Computacional: revis˜ao, aplica¸c˜oes e
simula¸c˜oes na placa de v´ıdeo utlizando CUDA
Davi Correia
dcorreia@dee.ufcg.edu.br
Laborat´orio de Eletromagnetismo e Microondas Aplicados,
Departamento de Engenharia El´etrica,
Universidade Federal de Campina Grande
23 de setembro 2010
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 1 / 30
Conte´udo
1 M´etodos Num´ericos em Eletromagnetismo
2 Aplica¸c˜oes Biom´edicas de Eletromagnetismo
3 Computa¸c˜ao Paralela na Placa de V´ıdeo
4 Discuss˜ao
5 Conclus˜ao
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 2 / 30
M´etodos Num´ericos em Eletromagnetismo
M´etodos N´umericos em Eletromagnetismo
1 M´etodos N´umericos em Eletromagnetismo
2 Aplica¸c˜oes Biom´edicas de Eletromagnetismo
3 Computa¸c˜ao paralelo na placa de v´ıdeo
4- Discuss˜oes
5- Conclus˜ao
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 3 / 30
M´etodos Num´ericos em Eletromagnetismo
M´etodos N´umericos em Eletromagnetismo
1 M´etodos N´umericos em Eletromagnetismo
Introdu¸c˜ao
2 Aplica¸c˜oes Biom´edicas de Eletromagnetismo
3 Computa¸c˜ao paralelo na placa de v´ıdeo
4- Discuss˜oes
5- Conclus˜ao
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 3 / 30
M´etodos Num´ericos em Eletromagnetismo
M´etodos N´umericos em Eletromagnetismo
1 M´etodos N´umericos em Eletromagnetismo
Introdu¸c˜ao
M´etodos de m´edia frequˆencia
2 Aplica¸c˜oes Biom´edicas de Eletromagnetismo
3 Computa¸c˜ao paralelo na placa de v´ıdeo
4- Discuss˜oes
5- Conclus˜ao
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 3 / 30
M´etodos Num´ericos em Eletromagnetismo
M´etodos N´umericos em Eletromagnetismo
1 M´etodos N´umericos em Eletromagnetismo
Introdu¸c˜ao
M´etodos de m´edia frequˆencia
FDTD
2 Aplica¸c˜oes Biom´edicas de Eletromagnetismo
3 Computa¸c˜ao paralelo na placa de v´ıdeo
4- Discuss˜oes
5- Conclus˜ao
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 3 / 30
M´etodos Num´ericos em Eletromagnetismo
Divis˜ao por Frequˆencia
Equa¸c˜oes de Maxwell
Frequˆencia m´edia
MoM, FEM, FDTD
ω ≈ c/L
Alta frequˆencia
Ray Tracing, GTD, PO
ω → ∞
Baixa Frequˆencia
FEM, diferen¸cas finitas
ω → 0
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 4 / 30
M´etodos Num´ericos em Eletromagnetismo
M´etodos de Frequˆencia M´edia
Possuem caract´eristicas pr´oprias
MoM FEM FDTD
Equa¸c˜ao integral Equa¸c˜ao diferencial Equa¸c˜ao diferencial
Equa¸c˜ao de onda Equa¸c˜ao de onda Equa¸c˜oes de Maxwell
Geometria arbitr´aria Geometria arbitr´aria Geometria retangular
Material homogˆeneo Material arbitr´ario Material arbitr´ario
Matriz cheia Matriz esparsa Sem matriz
... ... ...
Lembrem-se dessa tabela, ser´a usada no fim da apresenta¸c˜ao.
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 5 / 30
M´etodos Num´ericos em Eletromagnetismo
FDTD
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 6 / 30
M´etodos Num´ericos em Eletromagnetismo
FDTD
Necessita truncamento do dom´ınio computacional.
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 6 / 30
M´etodos Num´ericos em Eletromagnetismo
FDTD
Necessita truncamento do dom´ınio computacional.
Resposta para uma banda de frequˆencia.
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 6 / 30
M´etodos Num´ericos em Eletromagnetismo
FDTD
Necessita truncamento do dom´ınio computacional.
Resposta para uma banda de frequˆencia.
Pouca flexibilidade para geometrias.
Limite de passo de tempo dado pelo tamanho da menor c´elula.
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 6 / 30
M´etodos Num´ericos em Eletromagnetismo
FDTD
Necessita truncamento do dom´ınio computacional.
Resposta para uma banda de frequˆencia.
Pouca flexibilidade para geometrias.
Limite de passo de tempo dado pelo tamanho da menor c´elula.
Tamb´em pode ser usado para antenas, estruturas peri´odicas,
circuitos, etc.
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 6 / 30
Aplica¸c˜oes Biom´edicas de Eletromagnetismo
Aplica¸c˜oes Biom´edicas
1 M´etodos N´umericos em Eletromagnetismo
2 Aplica¸c˜oes Biom´edicas de Eletromagnetismo
3 Computa¸c˜ao Paralela na Placa de V´ıdeo
4 Discuss˜oes
5 Conclus˜ao
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 7 / 30
Aplica¸c˜oes Biom´edicas de Eletromagnetismo
Aplica¸c˜oes Biom´edicas
1 M´etodos N´umericos em Eletromagnetismo
2 Aplica¸c˜oes Biom´edicas de Eletromagnetismo
Hipertermia
3 Computa¸c˜ao Paralela na Placa de V´ıdeo
4 Discuss˜oes
5 Conclus˜ao
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 7 / 30
Aplica¸c˜oes Biom´edicas de Eletromagnetismo
Aplica¸c˜oes Biom´edicas
1 M´etodos N´umericos em Eletromagnetismo
2 Aplica¸c˜oes Biom´edicas de Eletromagnetismo
Hipertermia
Ressonˆancia Magn´etica
3 Computa¸c˜ao Paralela na Placa de V´ıdeo
4 Discuss˜oes
5 Conclus˜ao
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 7 / 30
Aplica¸c˜oes Biom´edicas de Eletromagnetismo
Hipertermia
Hipertermia ´e uma t´ecnica de tratamento usada no combate ao
cˆancer.
Resultado de testes cl´ınicos (fase III).
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 8 / 30
Aplica¸c˜oes Biom´edicas de Eletromagnetismo
Hipertermia
Hipertermia ´e uma t´ecnica de tratamento usada no combate ao
cˆancer.
´E sempre utilizada com radia¸c˜ao ou quimioterapia.
Resultado de testes cl´ınicos (fase III).
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 8 / 30
Aplica¸c˜oes Biom´edicas de Eletromagnetismo
Hipertermia
Hipertermia ´e uma t´ecnica de tratamento usada no combate ao
cˆancer.
´E sempre utilizada com radia¸c˜ao ou quimioterapia.
O tumor ´e aquecido a 40 – 45◦
C por uma hora.
Resultado de testes cl´ınicos (fase III).
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 8 / 30
Aplica¸c˜oes Biom´edicas de Eletromagnetismo
Hipertermia no AMC, Amsterdam, Holanda
Aquecimento por ondas
eletromagn´eticas.
Sistema de guias de onda AMC-8 70 MHz
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 9 / 30
Aplica¸c˜oes Biom´edicas de Eletromagnetismo
Hipertermia no AMC, Amsterdam, Holanda
Aquecimento por ondas
eletromagn´eticas.
Utiliza-se guias de onda.
Sistema de guias de onda AMC-8 70 MHz
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 9 / 30
Aplica¸c˜oes Biom´edicas de Eletromagnetismo
Hipertermia no AMC, Amsterdam, Holanda
Aquecimento por ondas
eletromagn´eticas.
Utiliza-se guias de onda.
Dif´ıcil de medir a
temperatura.
Sistema de guias de onda AMC-8 70 MHz
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 9 / 30
Aplica¸c˜oes Biom´edicas de Eletromagnetismo
Hipertermia no AMC, Amsterdam, Holanda
Aquecimento por ondas
eletromagn´eticas.
Utiliza-se guias de onda.
Dif´ıcil de medir a
temperatura.
Pode-se simular e se obter
uma aproxima¸c˜ao.
Sistema de guias de onda AMC-8 70 MHz
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 9 / 30
Aplica¸c˜oes Biom´edicas de Eletromagnetismo
Modelamento Num´erico de Hipertermia
Com FDTD, simula-se o a distribui¸c˜ao de campo eletromagn´etico.
Uma vez conhecido o campo eletromagn´etico, pode-se estimar a
distribui¸c˜ao de temperatura.
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 10 / 30
Aplica¸c˜oes Biom´edicas de Eletromagnetismo
Ressonˆancia Magn´etica
Qualidade da imagem est´a relacionada com potˆencia.
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 11 / 30
Aplica¸c˜oes Biom´edicas de Eletromagnetismo
Ressonˆancia Magn´etica
Qualidade da imagem est´a relacionada com potˆencia.
Seguran¸ca de RF: limite de SAR
Ao contr´ario de hipertermia, o objetivo ´e N˜AO esquentar o paciente.
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 11 / 30
Aplica¸c˜oes Biom´edicas de Eletromagnetismo
Ressonˆancia Magn´etica
Qualidade da imagem est´a relacionada com potˆencia.
Seguran¸ca de RF: limite de SAR
Ao contr´ario de hipertermia, o objetivo ´e N˜AO esquentar o paciente.
O fenˆomeno eletromagn´etico, no entanto, ´e o mesmo.
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 11 / 30
Computa¸c˜ao Paralela na Placa de V´ıdeo
Placas de V´ıdeo
1 M´etodos N´umericos em Eletromagnetismo
2 Aplica¸c˜oes Biom´edicas de Eletromagnetismo
3 Computa¸c˜ao Paralela na Placa de V´ıdeo
4 Discuss˜oes
5 Conclus˜ao
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 12 / 30
Computa¸c˜ao Paralela na Placa de V´ıdeo
Placas de V´ıdeo
1 M´etodos N´umericos em Eletromagnetismo
2 Aplica¸c˜oes Biom´edicas de Eletromagnetismo
3 Computa¸c˜ao Paralela na Placa de V´ıdeo
Origens
4 Discuss˜oes
5 Conclus˜ao
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 12 / 30
Computa¸c˜ao Paralela na Placa de V´ıdeo
Placas de V´ıdeo
1 M´etodos N´umericos em Eletromagnetismo
2 Aplica¸c˜oes Biom´edicas de Eletromagnetismo
3 Computa¸c˜ao Paralela na Placa de V´ıdeo
Origens
Arquitetura
4 Discuss˜oes
5 Conclus˜ao
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 12 / 30
Computa¸c˜ao Paralela na Placa de V´ıdeo
Placas de V´ıdeo
1 M´etodos N´umericos em Eletromagnetismo
2 Aplica¸c˜oes Biom´edicas de Eletromagnetismo
3 Computa¸c˜ao Paralela na Placa de V´ıdeo
Origens
Arquitetura
CUDA
4 Discuss˜oes
5 Conclus˜ao
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 12 / 30
Computa¸c˜ao Paralela na Placa de V´ıdeo
Placas de V´ıdeo
1 M´etodos N´umericos em Eletromagnetismo
2 Aplica¸c˜oes Biom´edicas de Eletromagnetismo
3 Computa¸c˜ao Paralela na Placa de V´ıdeo
Origens
Arquitetura
CUDA
Exemplos
4 Discuss˜oes
5 Conclus˜ao
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 12 / 30
Computa¸c˜ao Paralela na Placa de V´ıdeo
Origens
Projetadas originalmente para processamento de imagens (games).
C´alculo r´apido, acesso r´apido `a mem´oria dedicada, comunica¸c˜ao lenta
com a CPU.
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 13 / 30
Computa¸c˜ao Paralela na Placa de V´ıdeo
Desempenho
Evolu¸c˜ao de desempenho das placas de v´ıdeo
Taxa de transferˆencia N´umero de opera¸c˜oes
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 14 / 30
Computa¸c˜ao Paralela na Placa de V´ıdeo
Arquitetura
Threads (unidade computacional) podem executar tarefas em paralelo.
DRAM
CPU
Cache
Controle
ULA
ULA
ULA
ULA
GPU DRAM
GPU
T´opico importante: como a mem´oria est´a organizada.
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 15 / 30
Computa¸c˜ao Paralela na Placa de V´ıdeo
Qual placa e qual linguagem utilizar?
NVIDIA desenvolveu CUDA.
Em 2006, uma GPU foi criada especificamente para programa¸c˜ao.
Em 2007 a NVIDIA a plataforma para simula¸c˜ao na GPU chamada
CUDA.
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 16 / 30
Computa¸c˜ao Paralela na Placa de V´ıdeo
Qual placa e qual linguagem utilizar?
NVIDIA desenvolveu CUDA.
Em 2006, uma GPU foi criada especificamente para programa¸c˜ao.
Em 2007 a NVIDIA a plataforma para simula¸c˜ao na GPU chamada
CUDA.
F´acil aprendizado para quem conhece C.
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 16 / 30
Computa¸c˜ao Paralela na Placa de V´ıdeo
Qual placa e qual linguagem utilizar?
NVIDIA desenvolveu CUDA.
Em 2006, uma GPU foi criada especificamente para programa¸c˜ao.
Em 2007 a NVIDIA a plataforma para simula¸c˜ao na GPU chamada
CUDA.
F´acil aprendizado para quem conhece C.
Muitas pessoas est˜ao usando, listas de discuss˜oes podem ser ´uteis.
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 16 / 30
Computa¸c˜ao Paralela na Placa de V´ıdeo
Qual placa e qual linguagem utilizar?
NVIDIA desenvolveu CUDA.
Em 2006, uma GPU foi criada especificamente para programa¸c˜ao.
Em 2007 a NVIDIA a plataforma para simula¸c˜ao na GPU chamada
CUDA.
F´acil aprendizado para quem conhece C.
Muitas pessoas est˜ao usando, listas de discuss˜oes podem ser ´uteis.
Boa documenta¸c˜ao.
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 16 / 30
Computa¸c˜ao Paralela na Placa de V´ıdeo
Qual placa e qual linguagem utilizar?
NVIDIA desenvolveu CUDA.
Em 2006, uma GPU foi criada especificamente para programa¸c˜ao.
Em 2007 a NVIDIA a plataforma para simula¸c˜ao na GPU chamada
CUDA.
F´acil aprendizado para quem conhece C.
Muitas pessoas est˜ao usando, listas de discuss˜oes podem ser ´uteis.
Boa documenta¸c˜ao.
Gratuita.
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 16 / 30
Computa¸c˜ao Paralela na Placa de V´ıdeo
CUDA: Computer Unified Device Arquiteture
Exemplo: Adi¸c˜ao de matrizes
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 17 / 30
Computa¸c˜ao Paralela na Placa de V´ıdeo
CUDA: Computer Unified Device Arquiteture
Exemplo: Adi¸c˜ao de matrizes
Fun¸c˜ao de C comum
void Add(float a[N][N], float b[N][N], float c[N][N]){
for (i=0;i<N;i++){
for (j=0;j<N;j++){
c[i][j] = a[i][j] + b[i][j]; }}
}
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 17 / 30
Computa¸c˜ao Paralela na Placa de V´ıdeo
CUDA: Computer Unified Device Arquiteture
Exemplo: Adi¸c˜ao de matrizes
Fun¸c˜ao de C comum
void Add(float a[N][N], float b[N][N], float c[N][N]){
for (i=0;i<N;i++){
for (j=0;j<N;j++){
c[i][j] = a[i][j] + b[i][j]; }}
}
Kernel em CUDA
global void Add(float a[N][N],float b[N][N],float c[N][N])
i = coordenada x do thread;
j = coordenada y do thread;
if (i<N&&j<N){
c[i][j] = a[i][j] + b[i][j];
}
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 17 / 30
Computa¸c˜ao Paralela na Placa de V´ıdeo
Antes de come¸car
Para evitar frustra¸c˜oes:
1 Seu algoritmo pode rodar em paralelo?
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 18 / 30
Computa¸c˜ao Paralela na Placa de V´ıdeo
Antes de come¸car
Para evitar frustra¸c˜oes:
1 Seu algoritmo pode rodar em paralelo?
Em caso negativo, tente adapt´a-lo.
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 18 / 30
Computa¸c˜ao Paralela na Placa de V´ıdeo
Antes de come¸car
Para evitar frustra¸c˜oes:
1 Seu algoritmo pode rodar em paralelo?
Em caso negativo, tente adapt´a-lo.
Exemplo: Instituto Holandˆes do Cˆancer
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 18 / 30
Computa¸c˜ao Paralela na Placa de V´ıdeo
Antes de come¸car
Para evitar frustra¸c˜oes:
1 Seu algoritmo pode rodar em paralelo?
Em caso negativo, tente adapt´a-lo.
Exemplo: Instituto Holandˆes do Cˆancer
2 Como ocorre o acesso de mem´oria?
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 18 / 30
Computa¸c˜ao Paralela na Placa de V´ıdeo
Antes de come¸car
Para evitar frustra¸c˜oes:
1 Seu algoritmo pode rodar em paralelo?
Em caso negativo, tente adapt´a-lo.
Exemplo: Instituto Holandˆes do Cˆancer
2 Como ocorre o acesso de mem´oria?
Mesmo um algoritmo paralelo pode ficar sequencial se o acesso `a
mem´oria for mal feito.
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 18 / 30
Computa¸c˜ao Paralela na Placa de V´ıdeo
Antes de come¸car
Para evitar frustra¸c˜oes:
1 Seu algoritmo pode rodar em paralelo?
Em caso negativo, tente adapt´a-lo.
Exemplo: Instituto Holandˆes do Cˆancer
2 Como ocorre o acesso de mem´oria?
Mesmo um algoritmo paralelo pode ficar sequencial se o acesso `a
mem´oria for mal feito.
Nosso exemplo: ADI-FDTD
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 18 / 30
Computa¸c˜ao Paralela na Placa de V´ıdeo
Exemplo de sucesso: FDTD
O campo el´etrico em um determinado passo de tempo depende
apenas do campo magn´etico no passo anterior e vice-versa.
Hn
(En−1/2
) En+1/2
(Hn
) Hn+1
(En+1/2
)
En+1/2
z
Hn
x
Hn
x
Hn
yHn
y
Algoritmo intrinsicamente paralelo.
Alguns ajustes s˜ao necess´arios.
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 19 / 30
Computa¸c˜ao Paralela na Placa de V´ıdeo
Resultados
Tempo em segundos para computa¸c˜ao de 1000 passos de tempo.
Tamanho GPU PEC GPU PML Mittra PEC1
100x100x100 3 6 13
200x200x200 21 31 59
300x300x300 68 106 174
400x400x400 158 202 385
1
W. Yu et al. ”A New Direction in Computational Electromagnetics: Solving
Large Problems Using Parallel FDTD on the BlueGene/L Supercomputer Providing
Teraflop Level Performance,” Antennas and Propagation Magazine, Feb. 2008
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 20 / 30
Computa¸c˜ao Paralela na Placa de V´ıdeo
Aplica¸c˜oes potenciais
Simula¸c˜ao durante o procedimento de ressonˆancia magn´etica.
Antes, 3 horas de simula¸c˜ao (FDTD + DFT). Agora, 7 minutos. Pode
cair para 41 segundos, dependendo da resolu¸c˜ao2
B+
1 field SAR distribution
2
D. Correia et al. ”Fast GPU FDTD Calculations: Towards Online SAR
and B1+ Assessment and Control” ISMRM, Estocolmo, Maio de 2010
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 21 / 30
Computa¸c˜ao Paralela na Placa de V´ıdeo
Equa¸c˜ao Homogˆenea de Poisson
Em eletrost´atica,
· V = 2
V →
∂2V
∂x2
+
∂2V
∂y2
+
∂2V
∂z2
= −
ρv
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 22 / 30
Computa¸c˜ao Paralela na Placa de V´ıdeo
Equa¸c˜ao Homogˆenea de Poisson
Em eletrost´atica,
· V = 2
V →
∂2V
∂x2
+
∂2V
∂y2
+
∂2V
∂z2
= −
ρv
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 22 / 30
Computa¸c˜ao Paralela na Placa de V´ıdeo
Equa¸c˜ao Homogˆenea de Poisson
Em eletrost´atica,
· V = 2
V →
∂2V
∂x2
+
∂2V
∂y2
+
∂2V
∂z2
= −
ρv
Tamb´em aparece em fluidos, temperatura, etc. Por exemplo,
∂T
∂t
= · k T − Q(x, t) + P(x, t)
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 22 / 30
Computa¸c˜ao Paralela na Placa de V´ıdeo
Equa¸c˜ao Homogˆenea de Poisson
Usando diferen¸cas finitas,
∂2V
∂x2
≈
Vi+1,j,k − 2Vi,j,k + Vi−1,j,k
(∆x)2
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 23 / 30
Computa¸c˜ao Paralela na Placa de V´ıdeo
Equa¸c˜ao Homogˆenea de Poisson
Usando diferen¸cas finitas,
∂2V
∂x2
≈
Vi+1,j,k − 2Vi,j,k + Vi−1,j,k
(∆x)2
Assim, se ∆x = ∆y = ∆z = ∆, ent˜ao Vi,j,k =
1
6
Vi+1,j,k +Vi−1,j,k +Vi,j+1,k +Vi,j−1,k +Vi,j,k+1 +Vi,j,k−1 −
∆2ρi,j,k
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 23 / 30
Computa¸c˜ao Paralela na Placa de V´ıdeo
Resultados
Tempo em segundos para computa¸c˜ao de 10000 itera¸c˜oes.
Tamanho GPU CPU Ganho
50x50x50 4.2 112 27
100x100x100 17 1029 60
200x200x200 108 8254 76
300x300x300 362 29132 80
400x400x400
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 24 / 30
Computa¸c˜ao Paralela na Placa de V´ıdeo
Cen´ario atual
Placas: NVIDIA, ATI e INTEL
CUDA funciona apenas em algumas (quase todas) placas da NVIDIA.
OpenCL pode ser a resposta.
FDTD-CUDA: Acceleware
CST, SEMCAD, REMCOM, etc. usam a mesma rotina da Acceleware,
mas j´a est˜ao desenvolvendo seus pr´oprios programas.
N˜ao vi ainda na academia.
Cluster de CPU s˜ao normais.
355 universidades pelo mundo j´a ensinam CUDA.
Dez centros de excelˆencia.
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 25 / 30
Discuss˜ao
Discuss˜ao
1 M´etodos N´umericos em Eletromagnetismo
2 Aplica¸c˜oes Biom´edicas de Eletromagnetismo
3 Computa¸c˜ao Paralela na Placa de V´ıdeo
4 Discuss˜ao
M´etodos Num´ericos em Geral
5 Conclus˜ao
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 26 / 30
Discuss˜ao
T´opico para discuss˜ao: futuro de m´etodos num´ericos
Lembram dessa tabela?
MoM FEM FDTD
... ... ...
Matriz cheia Matriz esparsa Sem matriz
... ... ...
No futuro, n˜ao ser´a importante saber se o algoritmo ´e paralelo?
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 27 / 30
Conclus˜ao
Conclus˜oes
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 28 / 30
Conclus˜ao
Conclus˜oes
Computa¸c˜ao na placa de v´ıdeo veio para ficar, mas requer cuidado.
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 28 / 30
Conclus˜ao
Conclus˜oes
Computa¸c˜ao na placa de v´ıdeo veio para ficar, mas requer cuidado.
Abre um novo paradigma.
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 28 / 30
Conclus˜ao
Conclus˜oes
Computa¸c˜ao na placa de v´ıdeo veio para ficar, mas requer cuidado.
Abre um novo paradigma.
Se vocˆe ´e novo, aprenda logo CUDA (ou OpenCL)!
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 28 / 30
Conclus˜ao
Conclus˜oes
Computa¸c˜ao na placa de v´ıdeo veio para ficar, mas requer cuidado.
Abre um novo paradigma.
Se vocˆe ´e novo, aprenda logo CUDA (ou OpenCL)!
Oportunidade acadˆemica.
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 28 / 30
Conclus˜ao
Colegas e alunos
Amsterdam: Martijn de Greef
UFCG: Dinart Braga e Thyago S´a
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 29 / 30
Conclus˜ao
Encerramento
Obrigado pela sua aten¸c˜ao!
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 30 / 30
Conclus˜ao
Encerramento
Obrigado pela sua aten¸c˜ao!
Perguntas?
Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 30 / 30

Contenu connexe

Similaire à UFPE092010

A Compatibilidade Electromagnética de equipamentos electrónicos (Instalador A...
A Compatibilidade Electromagnética de equipamentos electrónicos (Instalador A...A Compatibilidade Electromagnética de equipamentos electrónicos (Instalador A...
A Compatibilidade Electromagnética de equipamentos electrónicos (Instalador A...
Paulo Cabral
 
Alocação de dlccs via ag
Alocação de dlccs via agAlocação de dlccs via ag
Alocação de dlccs via ag
Isabel Duarte
 
Alocação de dlccs via ag
Alocação de dlccs via agAlocação de dlccs via ag
Alocação de dlccs via ag
Isabel Duarte
 
ANÁLISE DA INFLUÊNCIA DO NÚMERO DE MEDIDORES NA ESTIMAÇÃO DE ESTADOS EM SIST...
ANÁLISE DA INFLUÊNCIA DO NÚMERO DE MEDIDORES NA ESTIMAÇÃO DE  ESTADOS EM SIST...ANÁLISE DA INFLUÊNCIA DO NÚMERO DE MEDIDORES NA ESTIMAÇÃO DE  ESTADOS EM SIST...
ANÁLISE DA INFLUÊNCIA DO NÚMERO DE MEDIDORES NA ESTIMAÇÃO DE ESTADOS EM SIST...
RodrigoRosa123504
 
18.ago ouro i 14.45_404_eln
18.ago ouro i 14.45_404_eln18.ago ouro i 14.45_404_eln
18.ago ouro i 14.45_404_eln
itgfiles
 

Similaire à UFPE092010 (19)

A Compatibilidade Electromagnética de equipamentos electrónicos (Instalador A...
A Compatibilidade Electromagnética de equipamentos electrónicos (Instalador A...A Compatibilidade Electromagnética de equipamentos electrónicos (Instalador A...
A Compatibilidade Electromagnética de equipamentos electrónicos (Instalador A...
 
Apresentação Medição Eletromagnéticas
Apresentação Medição EletromagnéticasApresentação Medição Eletromagnéticas
Apresentação Medição Eletromagnéticas
 
Curso nr10
Curso nr10Curso nr10
Curso nr10
 
Apostila projeto instalações_ elétricas_parte iii_v7
Apostila projeto instalações_ elétricas_parte iii_v7Apostila projeto instalações_ elétricas_parte iii_v7
Apostila projeto instalações_ elétricas_parte iii_v7
 
Alocação de dlccs via ag
Alocação de dlccs via agAlocação de dlccs via ag
Alocação de dlccs via ag
 
Alocação de dlccs via ag
Alocação de dlccs via agAlocação de dlccs via ag
Alocação de dlccs via ag
 
Tutorial_Teste_Multim_CTC.pdf
Tutorial_Teste_Multim_CTC.pdfTutorial_Teste_Multim_CTC.pdf
Tutorial_Teste_Multim_CTC.pdf
 
Cabeamento Estruturado - Rede Lógica x Rede Elétrica
Cabeamento Estruturado - Rede Lógica x Rede ElétricaCabeamento Estruturado - Rede Lógica x Rede Elétrica
Cabeamento Estruturado - Rede Lógica x Rede Elétrica
 
ANÁLISE DA INFLUÊNCIA DO NÚMERO DE MEDIDORES NA ESTIMAÇÃO DE ESTADOS EM SIST...
ANÁLISE DA INFLUÊNCIA DO NÚMERO DE MEDIDORES NA ESTIMAÇÃO DE  ESTADOS EM SIST...ANÁLISE DA INFLUÊNCIA DO NÚMERO DE MEDIDORES NA ESTIMAÇÃO DE  ESTADOS EM SIST...
ANÁLISE DA INFLUÊNCIA DO NÚMERO DE MEDIDORES NA ESTIMAÇÃO DE ESTADOS EM SIST...
 
Ultrason computadorizada code case 2235 asme -t-132
Ultrason computadorizada   code case 2235 asme -t-132Ultrason computadorizada   code case 2235 asme -t-132
Ultrason computadorizada code case 2235 asme -t-132
 
P1
P1P1
P1
 
01eletronicabasica
01eletronicabasica01eletronicabasica
01eletronicabasica
 
Amplificadores de instrumentacao veronica e andre
Amplificadores de instrumentacao   veronica e andreAmplificadores de instrumentacao   veronica e andre
Amplificadores de instrumentacao veronica e andre
 
Proposta spda v2 0
Proposta spda v2 0Proposta spda v2 0
Proposta spda v2 0
 
Acionamentos_e_Comandos_Eletricos.pdf
Acionamentos_e_Comandos_Eletricos.pdfAcionamentos_e_Comandos_Eletricos.pdf
Acionamentos_e_Comandos_Eletricos.pdf
 
Apresentacao_Aula_01_EP_-_2016xko.pdf
Apresentacao_Aula_01_EP_-_2016xko.pdfApresentacao_Aula_01_EP_-_2016xko.pdf
Apresentacao_Aula_01_EP_-_2016xko.pdf
 
Manual 1 dmy2030
Manual 1 dmy2030Manual 1 dmy2030
Manual 1 dmy2030
 
Painelpemm2015 apres diego
Painelpemm2015 apres diegoPainelpemm2015 apres diego
Painelpemm2015 apres diego
 
18.ago ouro i 14.45_404_eln
18.ago ouro i 14.45_404_eln18.ago ouro i 14.45_404_eln
18.ago ouro i 14.45_404_eln
 

UFPE092010

  • 1. Eletromagnetismo Computacional: revis˜ao, aplica¸c˜oes e simula¸c˜oes na placa de v´ıdeo utlizando CUDA Davi Correia dcorreia@dee.ufcg.edu.br Laborat´orio de Eletromagnetismo e Microondas Aplicados, Departamento de Engenharia El´etrica, Universidade Federal de Campina Grande 23 de setembro 2010 Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 1 / 30
  • 2. Conte´udo 1 M´etodos Num´ericos em Eletromagnetismo 2 Aplica¸c˜oes Biom´edicas de Eletromagnetismo 3 Computa¸c˜ao Paralela na Placa de V´ıdeo 4 Discuss˜ao 5 Conclus˜ao Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 2 / 30
  • 3. M´etodos Num´ericos em Eletromagnetismo M´etodos N´umericos em Eletromagnetismo 1 M´etodos N´umericos em Eletromagnetismo 2 Aplica¸c˜oes Biom´edicas de Eletromagnetismo 3 Computa¸c˜ao paralelo na placa de v´ıdeo 4- Discuss˜oes 5- Conclus˜ao Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 3 / 30
  • 4. M´etodos Num´ericos em Eletromagnetismo M´etodos N´umericos em Eletromagnetismo 1 M´etodos N´umericos em Eletromagnetismo Introdu¸c˜ao 2 Aplica¸c˜oes Biom´edicas de Eletromagnetismo 3 Computa¸c˜ao paralelo na placa de v´ıdeo 4- Discuss˜oes 5- Conclus˜ao Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 3 / 30
  • 5. M´etodos Num´ericos em Eletromagnetismo M´etodos N´umericos em Eletromagnetismo 1 M´etodos N´umericos em Eletromagnetismo Introdu¸c˜ao M´etodos de m´edia frequˆencia 2 Aplica¸c˜oes Biom´edicas de Eletromagnetismo 3 Computa¸c˜ao paralelo na placa de v´ıdeo 4- Discuss˜oes 5- Conclus˜ao Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 3 / 30
  • 6. M´etodos Num´ericos em Eletromagnetismo M´etodos N´umericos em Eletromagnetismo 1 M´etodos N´umericos em Eletromagnetismo Introdu¸c˜ao M´etodos de m´edia frequˆencia FDTD 2 Aplica¸c˜oes Biom´edicas de Eletromagnetismo 3 Computa¸c˜ao paralelo na placa de v´ıdeo 4- Discuss˜oes 5- Conclus˜ao Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 3 / 30
  • 7. M´etodos Num´ericos em Eletromagnetismo Divis˜ao por Frequˆencia Equa¸c˜oes de Maxwell Frequˆencia m´edia MoM, FEM, FDTD ω ≈ c/L Alta frequˆencia Ray Tracing, GTD, PO ω → ∞ Baixa Frequˆencia FEM, diferen¸cas finitas ω → 0 Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 4 / 30
  • 8. M´etodos Num´ericos em Eletromagnetismo M´etodos de Frequˆencia M´edia Possuem caract´eristicas pr´oprias MoM FEM FDTD Equa¸c˜ao integral Equa¸c˜ao diferencial Equa¸c˜ao diferencial Equa¸c˜ao de onda Equa¸c˜ao de onda Equa¸c˜oes de Maxwell Geometria arbitr´aria Geometria arbitr´aria Geometria retangular Material homogˆeneo Material arbitr´ario Material arbitr´ario Matriz cheia Matriz esparsa Sem matriz ... ... ... Lembrem-se dessa tabela, ser´a usada no fim da apresenta¸c˜ao. Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 5 / 30
  • 9. M´etodos Num´ericos em Eletromagnetismo FDTD Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 6 / 30
  • 10. M´etodos Num´ericos em Eletromagnetismo FDTD Necessita truncamento do dom´ınio computacional. Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 6 / 30
  • 11. M´etodos Num´ericos em Eletromagnetismo FDTD Necessita truncamento do dom´ınio computacional. Resposta para uma banda de frequˆencia. Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 6 / 30
  • 12. M´etodos Num´ericos em Eletromagnetismo FDTD Necessita truncamento do dom´ınio computacional. Resposta para uma banda de frequˆencia. Pouca flexibilidade para geometrias. Limite de passo de tempo dado pelo tamanho da menor c´elula. Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 6 / 30
  • 13. M´etodos Num´ericos em Eletromagnetismo FDTD Necessita truncamento do dom´ınio computacional. Resposta para uma banda de frequˆencia. Pouca flexibilidade para geometrias. Limite de passo de tempo dado pelo tamanho da menor c´elula. Tamb´em pode ser usado para antenas, estruturas peri´odicas, circuitos, etc. Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 6 / 30
  • 14. Aplica¸c˜oes Biom´edicas de Eletromagnetismo Aplica¸c˜oes Biom´edicas 1 M´etodos N´umericos em Eletromagnetismo 2 Aplica¸c˜oes Biom´edicas de Eletromagnetismo 3 Computa¸c˜ao Paralela na Placa de V´ıdeo 4 Discuss˜oes 5 Conclus˜ao Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 7 / 30
  • 15. Aplica¸c˜oes Biom´edicas de Eletromagnetismo Aplica¸c˜oes Biom´edicas 1 M´etodos N´umericos em Eletromagnetismo 2 Aplica¸c˜oes Biom´edicas de Eletromagnetismo Hipertermia 3 Computa¸c˜ao Paralela na Placa de V´ıdeo 4 Discuss˜oes 5 Conclus˜ao Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 7 / 30
  • 16. Aplica¸c˜oes Biom´edicas de Eletromagnetismo Aplica¸c˜oes Biom´edicas 1 M´etodos N´umericos em Eletromagnetismo 2 Aplica¸c˜oes Biom´edicas de Eletromagnetismo Hipertermia Ressonˆancia Magn´etica 3 Computa¸c˜ao Paralela na Placa de V´ıdeo 4 Discuss˜oes 5 Conclus˜ao Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 7 / 30
  • 17. Aplica¸c˜oes Biom´edicas de Eletromagnetismo Hipertermia Hipertermia ´e uma t´ecnica de tratamento usada no combate ao cˆancer. Resultado de testes cl´ınicos (fase III). Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 8 / 30
  • 18. Aplica¸c˜oes Biom´edicas de Eletromagnetismo Hipertermia Hipertermia ´e uma t´ecnica de tratamento usada no combate ao cˆancer. ´E sempre utilizada com radia¸c˜ao ou quimioterapia. Resultado de testes cl´ınicos (fase III). Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 8 / 30
  • 19. Aplica¸c˜oes Biom´edicas de Eletromagnetismo Hipertermia Hipertermia ´e uma t´ecnica de tratamento usada no combate ao cˆancer. ´E sempre utilizada com radia¸c˜ao ou quimioterapia. O tumor ´e aquecido a 40 – 45◦ C por uma hora. Resultado de testes cl´ınicos (fase III). Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 8 / 30
  • 20. Aplica¸c˜oes Biom´edicas de Eletromagnetismo Hipertermia no AMC, Amsterdam, Holanda Aquecimento por ondas eletromagn´eticas. Sistema de guias de onda AMC-8 70 MHz Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 9 / 30
  • 21. Aplica¸c˜oes Biom´edicas de Eletromagnetismo Hipertermia no AMC, Amsterdam, Holanda Aquecimento por ondas eletromagn´eticas. Utiliza-se guias de onda. Sistema de guias de onda AMC-8 70 MHz Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 9 / 30
  • 22. Aplica¸c˜oes Biom´edicas de Eletromagnetismo Hipertermia no AMC, Amsterdam, Holanda Aquecimento por ondas eletromagn´eticas. Utiliza-se guias de onda. Dif´ıcil de medir a temperatura. Sistema de guias de onda AMC-8 70 MHz Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 9 / 30
  • 23. Aplica¸c˜oes Biom´edicas de Eletromagnetismo Hipertermia no AMC, Amsterdam, Holanda Aquecimento por ondas eletromagn´eticas. Utiliza-se guias de onda. Dif´ıcil de medir a temperatura. Pode-se simular e se obter uma aproxima¸c˜ao. Sistema de guias de onda AMC-8 70 MHz Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 9 / 30
  • 24. Aplica¸c˜oes Biom´edicas de Eletromagnetismo Modelamento Num´erico de Hipertermia Com FDTD, simula-se o a distribui¸c˜ao de campo eletromagn´etico. Uma vez conhecido o campo eletromagn´etico, pode-se estimar a distribui¸c˜ao de temperatura. Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 10 / 30
  • 25. Aplica¸c˜oes Biom´edicas de Eletromagnetismo Ressonˆancia Magn´etica Qualidade da imagem est´a relacionada com potˆencia. Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 11 / 30
  • 26. Aplica¸c˜oes Biom´edicas de Eletromagnetismo Ressonˆancia Magn´etica Qualidade da imagem est´a relacionada com potˆencia. Seguran¸ca de RF: limite de SAR Ao contr´ario de hipertermia, o objetivo ´e N˜AO esquentar o paciente. Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 11 / 30
  • 27. Aplica¸c˜oes Biom´edicas de Eletromagnetismo Ressonˆancia Magn´etica Qualidade da imagem est´a relacionada com potˆencia. Seguran¸ca de RF: limite de SAR Ao contr´ario de hipertermia, o objetivo ´e N˜AO esquentar o paciente. O fenˆomeno eletromagn´etico, no entanto, ´e o mesmo. Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 11 / 30
  • 28. Computa¸c˜ao Paralela na Placa de V´ıdeo Placas de V´ıdeo 1 M´etodos N´umericos em Eletromagnetismo 2 Aplica¸c˜oes Biom´edicas de Eletromagnetismo 3 Computa¸c˜ao Paralela na Placa de V´ıdeo 4 Discuss˜oes 5 Conclus˜ao Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 12 / 30
  • 29. Computa¸c˜ao Paralela na Placa de V´ıdeo Placas de V´ıdeo 1 M´etodos N´umericos em Eletromagnetismo 2 Aplica¸c˜oes Biom´edicas de Eletromagnetismo 3 Computa¸c˜ao Paralela na Placa de V´ıdeo Origens 4 Discuss˜oes 5 Conclus˜ao Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 12 / 30
  • 30. Computa¸c˜ao Paralela na Placa de V´ıdeo Placas de V´ıdeo 1 M´etodos N´umericos em Eletromagnetismo 2 Aplica¸c˜oes Biom´edicas de Eletromagnetismo 3 Computa¸c˜ao Paralela na Placa de V´ıdeo Origens Arquitetura 4 Discuss˜oes 5 Conclus˜ao Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 12 / 30
  • 31. Computa¸c˜ao Paralela na Placa de V´ıdeo Placas de V´ıdeo 1 M´etodos N´umericos em Eletromagnetismo 2 Aplica¸c˜oes Biom´edicas de Eletromagnetismo 3 Computa¸c˜ao Paralela na Placa de V´ıdeo Origens Arquitetura CUDA 4 Discuss˜oes 5 Conclus˜ao Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 12 / 30
  • 32. Computa¸c˜ao Paralela na Placa de V´ıdeo Placas de V´ıdeo 1 M´etodos N´umericos em Eletromagnetismo 2 Aplica¸c˜oes Biom´edicas de Eletromagnetismo 3 Computa¸c˜ao Paralela na Placa de V´ıdeo Origens Arquitetura CUDA Exemplos 4 Discuss˜oes 5 Conclus˜ao Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 12 / 30
  • 33. Computa¸c˜ao Paralela na Placa de V´ıdeo Origens Projetadas originalmente para processamento de imagens (games). C´alculo r´apido, acesso r´apido `a mem´oria dedicada, comunica¸c˜ao lenta com a CPU. Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 13 / 30
  • 34. Computa¸c˜ao Paralela na Placa de V´ıdeo Desempenho Evolu¸c˜ao de desempenho das placas de v´ıdeo Taxa de transferˆencia N´umero de opera¸c˜oes Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 14 / 30
  • 35. Computa¸c˜ao Paralela na Placa de V´ıdeo Arquitetura Threads (unidade computacional) podem executar tarefas em paralelo. DRAM CPU Cache Controle ULA ULA ULA ULA GPU DRAM GPU T´opico importante: como a mem´oria est´a organizada. Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 15 / 30
  • 36. Computa¸c˜ao Paralela na Placa de V´ıdeo Qual placa e qual linguagem utilizar? NVIDIA desenvolveu CUDA. Em 2006, uma GPU foi criada especificamente para programa¸c˜ao. Em 2007 a NVIDIA a plataforma para simula¸c˜ao na GPU chamada CUDA. Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 16 / 30
  • 37. Computa¸c˜ao Paralela na Placa de V´ıdeo Qual placa e qual linguagem utilizar? NVIDIA desenvolveu CUDA. Em 2006, uma GPU foi criada especificamente para programa¸c˜ao. Em 2007 a NVIDIA a plataforma para simula¸c˜ao na GPU chamada CUDA. F´acil aprendizado para quem conhece C. Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 16 / 30
  • 38. Computa¸c˜ao Paralela na Placa de V´ıdeo Qual placa e qual linguagem utilizar? NVIDIA desenvolveu CUDA. Em 2006, uma GPU foi criada especificamente para programa¸c˜ao. Em 2007 a NVIDIA a plataforma para simula¸c˜ao na GPU chamada CUDA. F´acil aprendizado para quem conhece C. Muitas pessoas est˜ao usando, listas de discuss˜oes podem ser ´uteis. Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 16 / 30
  • 39. Computa¸c˜ao Paralela na Placa de V´ıdeo Qual placa e qual linguagem utilizar? NVIDIA desenvolveu CUDA. Em 2006, uma GPU foi criada especificamente para programa¸c˜ao. Em 2007 a NVIDIA a plataforma para simula¸c˜ao na GPU chamada CUDA. F´acil aprendizado para quem conhece C. Muitas pessoas est˜ao usando, listas de discuss˜oes podem ser ´uteis. Boa documenta¸c˜ao. Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 16 / 30
  • 40. Computa¸c˜ao Paralela na Placa de V´ıdeo Qual placa e qual linguagem utilizar? NVIDIA desenvolveu CUDA. Em 2006, uma GPU foi criada especificamente para programa¸c˜ao. Em 2007 a NVIDIA a plataforma para simula¸c˜ao na GPU chamada CUDA. F´acil aprendizado para quem conhece C. Muitas pessoas est˜ao usando, listas de discuss˜oes podem ser ´uteis. Boa documenta¸c˜ao. Gratuita. Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 16 / 30
  • 41. Computa¸c˜ao Paralela na Placa de V´ıdeo CUDA: Computer Unified Device Arquiteture Exemplo: Adi¸c˜ao de matrizes Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 17 / 30
  • 42. Computa¸c˜ao Paralela na Placa de V´ıdeo CUDA: Computer Unified Device Arquiteture Exemplo: Adi¸c˜ao de matrizes Fun¸c˜ao de C comum void Add(float a[N][N], float b[N][N], float c[N][N]){ for (i=0;i<N;i++){ for (j=0;j<N;j++){ c[i][j] = a[i][j] + b[i][j]; }} } Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 17 / 30
  • 43. Computa¸c˜ao Paralela na Placa de V´ıdeo CUDA: Computer Unified Device Arquiteture Exemplo: Adi¸c˜ao de matrizes Fun¸c˜ao de C comum void Add(float a[N][N], float b[N][N], float c[N][N]){ for (i=0;i<N;i++){ for (j=0;j<N;j++){ c[i][j] = a[i][j] + b[i][j]; }} } Kernel em CUDA global void Add(float a[N][N],float b[N][N],float c[N][N]) i = coordenada x do thread; j = coordenada y do thread; if (i<N&&j<N){ c[i][j] = a[i][j] + b[i][j]; } Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 17 / 30
  • 44. Computa¸c˜ao Paralela na Placa de V´ıdeo Antes de come¸car Para evitar frustra¸c˜oes: 1 Seu algoritmo pode rodar em paralelo? Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 18 / 30
  • 45. Computa¸c˜ao Paralela na Placa de V´ıdeo Antes de come¸car Para evitar frustra¸c˜oes: 1 Seu algoritmo pode rodar em paralelo? Em caso negativo, tente adapt´a-lo. Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 18 / 30
  • 46. Computa¸c˜ao Paralela na Placa de V´ıdeo Antes de come¸car Para evitar frustra¸c˜oes: 1 Seu algoritmo pode rodar em paralelo? Em caso negativo, tente adapt´a-lo. Exemplo: Instituto Holandˆes do Cˆancer Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 18 / 30
  • 47. Computa¸c˜ao Paralela na Placa de V´ıdeo Antes de come¸car Para evitar frustra¸c˜oes: 1 Seu algoritmo pode rodar em paralelo? Em caso negativo, tente adapt´a-lo. Exemplo: Instituto Holandˆes do Cˆancer 2 Como ocorre o acesso de mem´oria? Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 18 / 30
  • 48. Computa¸c˜ao Paralela na Placa de V´ıdeo Antes de come¸car Para evitar frustra¸c˜oes: 1 Seu algoritmo pode rodar em paralelo? Em caso negativo, tente adapt´a-lo. Exemplo: Instituto Holandˆes do Cˆancer 2 Como ocorre o acesso de mem´oria? Mesmo um algoritmo paralelo pode ficar sequencial se o acesso `a mem´oria for mal feito. Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 18 / 30
  • 49. Computa¸c˜ao Paralela na Placa de V´ıdeo Antes de come¸car Para evitar frustra¸c˜oes: 1 Seu algoritmo pode rodar em paralelo? Em caso negativo, tente adapt´a-lo. Exemplo: Instituto Holandˆes do Cˆancer 2 Como ocorre o acesso de mem´oria? Mesmo um algoritmo paralelo pode ficar sequencial se o acesso `a mem´oria for mal feito. Nosso exemplo: ADI-FDTD Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 18 / 30
  • 50. Computa¸c˜ao Paralela na Placa de V´ıdeo Exemplo de sucesso: FDTD O campo el´etrico em um determinado passo de tempo depende apenas do campo magn´etico no passo anterior e vice-versa. Hn (En−1/2 ) En+1/2 (Hn ) Hn+1 (En+1/2 ) En+1/2 z Hn x Hn x Hn yHn y Algoritmo intrinsicamente paralelo. Alguns ajustes s˜ao necess´arios. Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 19 / 30
  • 51. Computa¸c˜ao Paralela na Placa de V´ıdeo Resultados Tempo em segundos para computa¸c˜ao de 1000 passos de tempo. Tamanho GPU PEC GPU PML Mittra PEC1 100x100x100 3 6 13 200x200x200 21 31 59 300x300x300 68 106 174 400x400x400 158 202 385 1 W. Yu et al. ”A New Direction in Computational Electromagnetics: Solving Large Problems Using Parallel FDTD on the BlueGene/L Supercomputer Providing Teraflop Level Performance,” Antennas and Propagation Magazine, Feb. 2008 Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 20 / 30
  • 52. Computa¸c˜ao Paralela na Placa de V´ıdeo Aplica¸c˜oes potenciais Simula¸c˜ao durante o procedimento de ressonˆancia magn´etica. Antes, 3 horas de simula¸c˜ao (FDTD + DFT). Agora, 7 minutos. Pode cair para 41 segundos, dependendo da resolu¸c˜ao2 B+ 1 field SAR distribution 2 D. Correia et al. ”Fast GPU FDTD Calculations: Towards Online SAR and B1+ Assessment and Control” ISMRM, Estocolmo, Maio de 2010 Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 21 / 30
  • 53. Computa¸c˜ao Paralela na Placa de V´ıdeo Equa¸c˜ao Homogˆenea de Poisson Em eletrost´atica, · V = 2 V → ∂2V ∂x2 + ∂2V ∂y2 + ∂2V ∂z2 = − ρv Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 22 / 30
  • 54. Computa¸c˜ao Paralela na Placa de V´ıdeo Equa¸c˜ao Homogˆenea de Poisson Em eletrost´atica, · V = 2 V → ∂2V ∂x2 + ∂2V ∂y2 + ∂2V ∂z2 = − ρv Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 22 / 30
  • 55. Computa¸c˜ao Paralela na Placa de V´ıdeo Equa¸c˜ao Homogˆenea de Poisson Em eletrost´atica, · V = 2 V → ∂2V ∂x2 + ∂2V ∂y2 + ∂2V ∂z2 = − ρv Tamb´em aparece em fluidos, temperatura, etc. Por exemplo, ∂T ∂t = · k T − Q(x, t) + P(x, t) Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 22 / 30
  • 56. Computa¸c˜ao Paralela na Placa de V´ıdeo Equa¸c˜ao Homogˆenea de Poisson Usando diferen¸cas finitas, ∂2V ∂x2 ≈ Vi+1,j,k − 2Vi,j,k + Vi−1,j,k (∆x)2 Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 23 / 30
  • 57. Computa¸c˜ao Paralela na Placa de V´ıdeo Equa¸c˜ao Homogˆenea de Poisson Usando diferen¸cas finitas, ∂2V ∂x2 ≈ Vi+1,j,k − 2Vi,j,k + Vi−1,j,k (∆x)2 Assim, se ∆x = ∆y = ∆z = ∆, ent˜ao Vi,j,k = 1 6 Vi+1,j,k +Vi−1,j,k +Vi,j+1,k +Vi,j−1,k +Vi,j,k+1 +Vi,j,k−1 − ∆2ρi,j,k Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 23 / 30
  • 58. Computa¸c˜ao Paralela na Placa de V´ıdeo Resultados Tempo em segundos para computa¸c˜ao de 10000 itera¸c˜oes. Tamanho GPU CPU Ganho 50x50x50 4.2 112 27 100x100x100 17 1029 60 200x200x200 108 8254 76 300x300x300 362 29132 80 400x400x400 Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 24 / 30
  • 59. Computa¸c˜ao Paralela na Placa de V´ıdeo Cen´ario atual Placas: NVIDIA, ATI e INTEL CUDA funciona apenas em algumas (quase todas) placas da NVIDIA. OpenCL pode ser a resposta. FDTD-CUDA: Acceleware CST, SEMCAD, REMCOM, etc. usam a mesma rotina da Acceleware, mas j´a est˜ao desenvolvendo seus pr´oprios programas. N˜ao vi ainda na academia. Cluster de CPU s˜ao normais. 355 universidades pelo mundo j´a ensinam CUDA. Dez centros de excelˆencia. Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 25 / 30
  • 60. Discuss˜ao Discuss˜ao 1 M´etodos N´umericos em Eletromagnetismo 2 Aplica¸c˜oes Biom´edicas de Eletromagnetismo 3 Computa¸c˜ao Paralela na Placa de V´ıdeo 4 Discuss˜ao M´etodos Num´ericos em Geral 5 Conclus˜ao Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 26 / 30
  • 61. Discuss˜ao T´opico para discuss˜ao: futuro de m´etodos num´ericos Lembram dessa tabela? MoM FEM FDTD ... ... ... Matriz cheia Matriz esparsa Sem matriz ... ... ... No futuro, n˜ao ser´a importante saber se o algoritmo ´e paralelo? Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 27 / 30
  • 63. Conclus˜ao Conclus˜oes Computa¸c˜ao na placa de v´ıdeo veio para ficar, mas requer cuidado. Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 28 / 30
  • 64. Conclus˜ao Conclus˜oes Computa¸c˜ao na placa de v´ıdeo veio para ficar, mas requer cuidado. Abre um novo paradigma. Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 28 / 30
  • 65. Conclus˜ao Conclus˜oes Computa¸c˜ao na placa de v´ıdeo veio para ficar, mas requer cuidado. Abre um novo paradigma. Se vocˆe ´e novo, aprenda logo CUDA (ou OpenCL)! Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 28 / 30
  • 66. Conclus˜ao Conclus˜oes Computa¸c˜ao na placa de v´ıdeo veio para ficar, mas requer cuidado. Abre um novo paradigma. Se vocˆe ´e novo, aprenda logo CUDA (ou OpenCL)! Oportunidade acadˆemica. Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 28 / 30
  • 67. Conclus˜ao Colegas e alunos Amsterdam: Martijn de Greef UFCG: Dinart Braga e Thyago S´a Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 29 / 30
  • 68. Conclus˜ao Encerramento Obrigado pela sua aten¸c˜ao! Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 30 / 30
  • 69. Conclus˜ao Encerramento Obrigado pela sua aten¸c˜ao! Perguntas? Davi Correia LEMA/DEE/UFCG 23 de setembro 2010 30 / 30