Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
Introducción CPUs y GPUs Herramientas de cómputo para las tarjetas gráficas Modelo de pozo fluido en 2.5-D Resultados para
Simulación de propagación de ondassísmicas usando GPU’s
Ursula Iturrarán-Viveros y Miguel Molero
Facultad de Ciencias, U.N.A.M.
1er-Encuentro Cuba-México de Métodos Númericos yOptimización
La Habana Cuba, Abril 2-4, 2012
Introducción CPUs y GPUs Herramientas de cómputo para las tarjetas gráficas Modelo de pozo fluido en 2.5-D Resultados para
Contenido
1 IntroducciónDescripción del problema
2 CPUs y GPUs¿ Porqué GPU y no CPU?Desempeño de CPUs vs. GPUsDistintos tipos de tarjetas gráficas y sus costos
3 Herramientas de cómputo para las tarjetas gráficasTipos de memoria en OpenCL
4 Modelo de pozo fluido en 2.5-DFormulación matemáticaResultados para el pozo fluidoResultados en el medio anisótropo
5 Resultados para la muestra ortorómbica6 Aceleración de los cálculos7 Conclusiones
Introducción CPUs y GPUs Herramientas de cómputo para las tarjetas gráficas Modelo de pozo fluido en 2.5-D Resultados para
Descripción del problema
Descripción del problema
En el modelado de muchos fenómenos físicos se necesitaresolver ecuaciones diferenciales parcialesnuméricamente, lo cual requieren, de un gran poder ytiempo de cómputo.Los métodos en diferencias finitas son un ejemplo. Paraaliviar estas demandas, las alternativas de cómputoparalelo son las mejores opciones.Las tarjetas gráficas de cómputo general GPUs son lasmejores alternativas para este tipo de método en relaciónal número de operaciones que pueden realizar y al costoque tienen.Ejemplo de estas implementaciones son las simulacionesde progación de ondas orignadas por una fuente en unpozo fluido y por otro lado una fuente en un fluido y unmedio ortorómbico para comparar con experimentos delaboratorio.
Introducción CPUs y GPUs Herramientas de cómputo para las tarjetas gráficas Modelo de pozo fluido en 2.5-D Resultados para
Configuración de un CPU y un GPU
Introducción CPUs y GPUs Herramientas de cómputo para las tarjetas gráficas Modelo de pozo fluido en 2.5-D Resultados para
¿ Porqué GPU y no CPU?
¿ Porqué GPU y no CPU?
CPU GPU
2-8 cores 16-480 cores1-2 threads 8-32 threads misma instrucción
en paralelo por núcleo en paralelo por bloqueManejo automático de Memoria cache local manejada
memoria cache por el programador0.2 TFLOPS 1.5 TFLOP30 GB/sec 180 GB/sec
Introducción CPUs y GPUs Herramientas de cómputo para las tarjetas gráficas Modelo de pozo fluido en 2.5-D Resultados para
Desempeño de CPUs vs. GPUs
Desempeño de CPUs vs. GPUs
Introducción CPUs y GPUs Herramientas de cómputo para las tarjetas gráficas Modelo de pozo fluido en 2.5-D Resultados para
Distintos tipos de tarjetas gráficas y sus costos
Distintos tipos de tarjetas gráficas y sus costos
Introducción CPUs y GPUs Herramientas de cómputo para las tarjetas gráficas Modelo de pozo fluido en 2.5-D Resultados para
Distintos tipos de tarjetas gráficas y sus costos
NVIDIA vs. AMD
Introducción CPUs y GPUs Herramientas de cómputo para las tarjetas gráficas Modelo de pozo fluido en 2.5-D Resultados para
Herramientas de programacón
Introducción CPUs y GPUs Herramientas de cómputo para las tarjetas gráficas Modelo de pozo fluido en 2.5-D Resultados para
Tipos de memoria en OpenCL
Tipos de memoria en OpenCL
Introducción CPUs y GPUs Herramientas de cómputo para las tarjetas gráficas Modelo de pozo fluido en 2.5-D Resultados para
Pozo fluido en 2.5-D
Introducción CPUs y GPUs Herramientas de cómputo para las tarjetas gráficas Modelo de pozo fluido en 2.5-D Resultados para
Formulación matemática
Formulación matemática
En coordenadas cilíndricas (r , θ, z) con 0 ≤ r < ∞, 0 ≤ θ < 2πy −∞ ≤ z < ∞ las ecuaciones de Navier en 2-D son:
Ecuaciones de Navier en 2-D, coordenadas cilíndricas
ρ∂vr
∂t=
1r∂ (rσrr )
∂r+
1r∂σrθ
∂θ+
∂σrz
∂z−
σθθ
r+ frr (1)
ρ∂vθ∂t
=1r2
∂(
r2σrθ)
∂r+
1r∂σθθ
∂θ+
∂σθz
∂z+ fθθ (2)
ρ∂vz
∂t=
1r∂(rσzr )
∂r+
1r∂σθz
∂θ+
∂σzz
∂z+ fzz (3)
donde vr , vz and vθ son componentes de velocidad.
Introducción CPUs y GPUs Herramientas de cómputo para las tarjetas gráficas Modelo de pozo fluido en 2.5-D Resultados para
Formulación matemática
Esfuerzos en coordenadas cilíndricas
Esfuerzos en coordenadas cilíndricas
σrr = (λ+ 2µ)∂vr
∂r+ λ
(
vr
r+
1r∂vθ∂θ
+∂vz
∂z
)
, (4)
σθθ = (λ+ 2µ)(
vr
r+
1r∂uθ
∂θ
)
+ λ
(
∂vr
∂r+
∂vz
∂z
)
, (5)
σzz = (λ+ 2µ)∂vz
∂z+ λ
(
vr
r+
1r∂vθ∂θ
+∂vr
∂r
)
, (6)
σθz = µ
(
1r∂uz
∂θ+
∂uθ
∂z
)
, (7)
σrz = µ
(
∂vr
∂z+
∂vz
∂r
)
, (8)
Introducción CPUs y GPUs Herramientas de cómputo para las tarjetas gráficas Modelo de pozo fluido en 2.5-D Resultados para
Formulación matemática
Malla alternada
Introducción CPUs y GPUs Herramientas de cómputo para las tarjetas gráficas Modelo de pozo fluido en 2.5-D Resultados para
Formulación matemática
vq+1r = vq
r +∆tρ
[
σrr
r+
∂σrr
∂r+
nσrθ
r+
∂σrz
∂z−
σθθ
r
]
(9)
donde el subindice q denota el paso temporal. Por simplicidadomitiremos el subindice en el lado derecho de las ecuaciones,pero tenemos que recordar que en el lado derecho el índicetemporal es q. Podemos re-escribir el componente develocidad vr en su forma discreta como sigue:
vq+1r = vq
r +∆t
I+r [ρ]
[
I+r[σrr
r
]
+ ∂+
r σrr +nσrθ
r+ ∂−
z σrz − I+r[σθθ
r
]]
(10)De forma similar tenemos:
ρaθ = ρvθ = ρ∂vθ∂t
= ρ
[
vq+1θ
− vqθ
∆t
]
=2σrθ
r+∂σrθ
∂r−
nσθθr
+∂σθz
∂z,
(11)
Introducción CPUs y GPUs Herramientas de cómputo para las tarjetas gráficas Modelo de pozo fluido en 2.5-D Resultados para
Resultados para el pozo fluido
Formación lenta Vs < Vf
Introducción CPUs y GPUs Herramientas de cómputo para las tarjetas gráficas Modelo de pozo fluido en 2.5-D Resultados para
Resultados para el pozo fluido
Formación rápida Vs > Vf
Introducción CPUs y GPUs Herramientas de cómputo para las tarjetas gráficas Modelo de pozo fluido en 2.5-D Resultados para
Resultados para el pozo fluido
Herramienta con lodo de perforación rodeandola
Introducción CPUs y GPUs Herramientas de cómputo para las tarjetas gráficas Modelo de pozo fluido en 2.5-D Resultados para
Resultados para el pozo fluido
Validación de resultados numéricos
Introducción CPUs y GPUs Herramientas de cómputo para las tarjetas gráficas Modelo de pozo fluido en 2.5-D Resultados para
Resultados en el medio anisótropo
Muestra orthorómbica en un tanque de agua
Introducción CPUs y GPUs Herramientas de cómputo para las tarjetas gráficas Modelo de pozo fluido en 2.5-D Resultados para
Resultados en el medio anisótropo
Muestra ortorombica 2-D en un medio fluido
Introducción CPUs y GPUs Herramientas de cómputo para las tarjetas gráficas Modelo de pozo fluido en 2.5-D Resultados para
Resultados en el medio anisótropo
Ecuaciones para modelar la propagación de ondas en mediosanisótropos 2-D
La ecuación de conservación de momento en 2-D:
ρui =∂σij
∂xj+ ρfi , i , j = 1, 2 (12)
donde x = (x1, x2) = (x , y) es el vector de posición,σij(x, t)=esfuerzos, ui(x, t)=desplazamientos, ρ(x)=densidad,fi(x, t)=fuerzas de cuerpo y t= variable de timpo. La relaciónconstitutiva para un sólido en 2-D transversalemente isótropoesta dada por:
σxx
σyy
σxy
=
c11 c12 0c12 c22 00 0 c44
ǫxx
ǫyy
2ǫxy
(13)
donde
ǫij =12
(
∂ui
∂xj+
∂uj
∂ux
)
, i , j = 1, 2 (14)
Introducción CPUs y GPUs Herramientas de cómputo para las tarjetas gráficas Modelo de pozo fluido en 2.5-D Resultados para
Resultados en el medio anisótropo
Constantes elásticas
Consideraremos doso medios anisotropos, uno debilmenteorthorómbico y el otro transversalmente isótropo con lassiguientes constates elásticas:
c11 c12 c22 c44
Phenolic 15.9 GPa 7.0 GPa 15.9 GPa 3.9 GPac11 c13 c33 c55
Arcilla de 66.6 GPa 39.4 GPa 39.9 GPa 10.9 GPaMesaverde
c11 c12 c22 c44
Agua 2.19 GPa 0.0 GPa 0.0 GPa 0.0 GPa
Table: Constantes elásticas para modelar un medio en 2-Ddebilmente orthorómbico y uno transversalmente isótropo (TVI) querepresenta un tipo de arcilla de Mesaverde.
Introducción CPUs y GPUs Herramientas de cómputo para las tarjetas gráficas Modelo de pozo fluido en 2.5-D Resultados para
Muestra ortorómbica en un medio fluido
Introducción CPUs y GPUs Herramientas de cómputo para las tarjetas gráficas Modelo de pozo fluido en 2.5-D Resultados para
Muestra ortorómbica en un medio fluido
Introducción CPUs y GPUs Herramientas de cómputo para las tarjetas gráficas Modelo de pozo fluido en 2.5-D Resultados para
Trazas de Reflección y Transmisión para la muestra orthoromb icarotada 101 angulos θ ∈ [−50o,50o]
Introducción CPUs y GPUs Herramientas de cómputo para las tarjetas gráficas Modelo de pozo fluido en 2.5-D Resultados para
Trazas de Reflección y Transmisión para la muestratransversalemente isótropa rotada 101 angulos θ ∈ [−50o,50o]
Introducción CPUs y GPUs Herramientas de cómputo para las tarjetas gráficas Modelo de pozo fluido en 2.5-D Resultados para
Tiempo de cómputo en un CPU y en un GPU
200 400 600 800 1000 1200 1400 1600 1800 200010
20
30
40
50
60
70
80
90
Nodos de malla
Tie
mpo
(se
c)
CPUGPU
Introducción CPUs y GPUs Herramientas de cómputo para las tarjetas gráficas Modelo de pozo fluido en 2.5-D Resultados para
Conclusiones
Usando un GPU hemos logrado acelerar el tiempo decómputo para el método de diferencias finitas
El lenguaje de programación PyOpenCL=Python+OpenCLnos permite usar las tarjetas gráficas de una forma másamigable.
Es importante ver como se puede hacer la comunicaciónentre varios GPUs que permita hacer modelos en 3-D.
Estos dispositivos de cómputo abren la puerta a pensar nosolo en modelos directos, si no también inversos.
Introducción CPUs y GPUs Herramientas de cómputo para las tarjetas gráficas Modelo de pozo fluido en 2.5-D Resultados para
Gracias