Presentación de PowerPoint - Simposio Argentino de ... · • Desarrollo de algoritmo para...
Transcript of Presentación de PowerPoint - Simposio Argentino de ... · • Desarrollo de algoritmo para...
Javier Haboba [email protected]
Ejemplos de aplicaciones con FPGA:
Computación de Alta Performance (HPC)
Bife Supercomputing S.A. 1
Resumen
Bife Supercomputing S.A. 2 Bife Supercomputing S.A. 2
Introducción.
Ejemplo 1: Monte Carlo.
Ejemplo 2: Dinámica Molecular.
Ejemplo 3: Alineamiento de secuencias genéticas.
Aplicaciones
Hay muchos problemas computacionales en donde la computación estándar no es suficiente.
Bife Supercomputing S.A. 4 Bife Supercomputing S.A. 4
Porque FPGAs?
Bife Supercomputing S.A. 5 Bife Supercomputing S.A. 5
• Alto grado de paralelismo. • Permite realizar optimizaciones para aplicaciones
específicas. • Incremento sustancial en la densidad en los
últimos años, y se espera aún mas…
LUTs/FFs Múltiples
elementos de procesamiento
BRAMs Gran
troughput interno
DSPs Poder de
cálculo a bajo costo
Interfaces Posibilidad de customizar la plataforma
Para que tipo de aplicaciones?
Bife Supercomputing S.A. 6 Bife Supercomputing S.A. 6
• En procesos altamente paralelizables. • En precisiones variables (distintas de 32,64
bits). • En procesamiento susceptible a pipelining. • En problemas con entidades repesentables
por un bajo número de bits (ej. ADN, espines de Ising, etc.).
• Procesos repetitivos.
Que ventajas presenta?
Bife Supercomputing S.A. 7 Bife Supercomputing S.A. 7
• Flexibilidad. • Óptimo para una variedad de problemas
diferentes. • Tamaño reducido. • Mínimo consumo energético.
Que es Monte-Carlo?
Bife Supercomputing S.A. 9 Bife Supercomputing S.A. 9
Ejemplo del casino: • Tome $100 y realice una apuesta fija en la ruleta.
Cuanto espera ganar?
• Método empírico: Ir al casino y apostar N veces $100 y promediar.
• Método analítico: Calcular la pérdida esperada utilizando cálculo probabilístico.
• Método Monte-Carlo: Simular la apuesta N veces en una computadora y promediar.
Modelo computacional
Bife Supercomputing S.A. 10 Bife Supercomputing S.A. 10
• Tomar un proceso aleatorio que genera una secuencia infinita X -> [x1, x2, x3, …] – Definir cuáles son los estadísticos de interés. – Aplicar los estadísticos a la secuencia.
• Solución analítica: Calcular propiedades de la
secuencia infinita a partir de X. • Solución Monte-Carlo: Estimar propiedades de la
secuencia a partir de un subconjunto de la secuencia X.
Ejemplo
Bife Supercomputing S.A. 11 Bife Supercomputing S.A. 11
• Supongamos que el estadístico que se quiera calcular es la media estadística:
• Solución analítica:
• Solución Monte-Carlo:
• La solución analítica requiere conocimiento de la distribución de x.
• La solución Monte-Carlo sólo requiere muestras de x.
Ejemplo: Finanzas
Bife Supercomputing S.A. 12 Bife Supercomputing S.A. 12
• Opción europea:
• Opción de comprar un activo S en tiempo T a precio K.
Ejemplo: Finanzas
Bife Supercomputing S.A. 13 Bife Supercomputing S.A. 13
• Opción europea:
• Opción de comprar un activo S en tiempo T a precio K. • Generar precios random a tiempo T.
Ejemplo: Finanzas
Bife Supercomputing S.A. 14 Bife Supercomputing S.A. 14
• Opción europea:
• Opción de comprar un activo S en tiempo T a precio K. • Generar precios random a tiempo T. • Calcular rentabilidad de cada activo y promediar: Valor
de la opción.
Tiene solución cerrada!
Ejemplo: Finanzas
Bife Supercomputing S.A. 15 Bife Supercomputing S.A. 15
• Opción asiática:
• El valor de la opción depende del promedio temporal por el cual el activo fue observado.
• La rentabilidad es una función no-lineal del camino recorrido (no solo del valor final!).
No tiene solución cerrada!
Ejemplo: Finanzas
Bife Supercomputing S.A. 16 Bife Supercomputing S.A. 16
• Opción asiática:
• Generar distintos caminos aleatorios.
Ejemplo: Finanzas
Bife Supercomputing S.A. 17 Bife Supercomputing S.A. 17
• Opción asiática:
• Generar distintos caminos aleatorios.
• A cada paso producir cambios en el valor relativos al valor actual.
Ejemplo: Finanzas
Bife Supercomputing S.A. 18 Bife Supercomputing S.A. 18
• Opción asiática:
• Generar distintos caminos aleatorios.
• A cada paso producir cambios en el valor relativos al valor actual.
• Finalizar la simulación a tiempo T.
• Calcular rentabilidad de cada activo y promediar: Valor de la opción.
Ejemplo
Bife Supercomputing S.A. 19 Bife Supercomputing S.A. 19
Generador de números aleatorio
uniforme
Función inversa de la
distribución
Cálculo del estadístico de
interés
Criterio de desición
Acumulación
Porque Monte Carlo en FPGAs?
Bife Supercomputing S.A. 23 Bife Supercomputing S.A. 23
• Paralelismo: Altamente paralelizable. – Paralelismo inter-FPGA: varias FPGA independientes pueden
funcionar al mismo tiempo. – Paralelismo intra-FPGA: Múltiples simulaciones en cada FPGA. – Paralelismo en el Pipeline: múltiples simulaciones en un mismo
data-path. • Personalización: Componentes MC muy eficientes.
– RNG: típicamente 10-50x más rápidos que en software. – Unidades funcionales: creación de componentes específicos
para la aplicación. • Automatización: MC es «fácil» de mapear en una FPGA.
– Mapeo desde una descripción de muy alto nivel. – Altas velocidades de clock y utilización de recursos.
Dinámica Molecular
Bife Supercomputing S.A. 25 Bife Supercomputing S.A. 25
• Simulación computacional de la interacción entre partículas de distinto tipo por un periodo de tiempo.
• No es posible hallar una solución analítica.
Dinámica Molecular
Bife Supercomputing S.A. 26 Bife Supercomputing S.A. 26
• N partículas (~ 22,000) • N/50 interacciones complejas
(LJ, Coulomb, bonded) por partícula por unidad de tiempo (~ 440)
• N2/50 interacciones complejas por unidad de tiempo (~ 107)
• Necesidad de simular 1010 unidades de tiempo -> (~ 1017 interacciones complejas)
Dinámica Molecular
Bife Supercomputing S.A. 27 Bife Supercomputing S.A. 27
• Desarrollo de algoritmo para maximizar la reutilización de datos.
• Paralelización de cálculos. • Maximizar la utilización de recursos. • Escalabilidad lineal del sistema.
Porque MD en FPGAs?
Bife Supercomputing S.A. 28 Bife Supercomputing S.A. 28
• Paralelismo: Altamente paralelizable. – La interacción de cada par de partículas es independiente
de las otras – La actualización del sistema se realiza de forma sincrónica. – Paralelismo en el Pipeline: múltiples simulaciones en un
mismo data-path. • Personalización: Componentes MD muy eficientes.
– Pipeline de fuerza de precisión optimizada. – Flexibilidad en la estructura de memoria.
• Automatización: Una vez realizado el simulador central, distintas simulaciones de pueden ser simplemente parametrizadas.
Alineamiento de secuencias genéticas
Bife Supercomputing S.A. 30 Bife Supercomputing S.A. 30
• El algoritmo de Smith-Waterman proporcional el mejor alineamiento local de dos secuencias.
• Utilizado como parte integral para el alineamiento de secuencias de ADN y proteínas en bioinformática.
Smith-Waterman
Bife Supercomputing S.A. 31 Bife Supercomputing S.A. 31
• Secuencia 1: ACACACTA • Secuencia 2: AGCACACA • Completar la matriz H como:
Porque Alineamiento en FPGAs?
Bife Supercomputing S.A. 38 Bife Supercomputing S.A. 38
• Paralelismo: Altamente paralelizable. – Llenado de la matriz de forma simultanea. – Paralelismo intra-FPGA: solo comparten vecinos – Entidades representables con pocos bits, permite
replicar los elementos de procesamiento muchas veces.
• Personalización: elementos de procesamiento muy eficientes. – Operaciones triviales y de pocos bits.