presentación de powerpoint - simposio argentino de ... · • desarrollo de algoritmo para...

39
Javier Haboba [email protected] Ejemplos de aplicaciones con FPGA: Computación de Alta Performance (HPC) Bife Supercomputing S.A. 1

Upload: vuongdung

Post on 30-Sep-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

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.

Introducción

Bife Supercomputing S.A. 3

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.

Bife Supercomputing S.A. 8

Monte-Carlo

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

Ejemplo

Bife Supercomputing S.A. 20 Bife Supercomputing S.A. 20

Ejemplo

Bife Supercomputing S.A. 21 Bife Supercomputing S.A. 21

Ejemplo

Bife Supercomputing S.A. 22 Bife Supercomputing S.A. 22

Performance Consumo energético

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.

Bife Supercomputing S.A. 24

Dinámica Molecular

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.

Bife Supercomputing S.A. 29

Alineamiento de secuencias genéticas

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:

Smith-Waterman

Bife Supercomputing S.A. 32 Bife Supercomputing S.A. 32

Smith-Waterman

Bife Supercomputing S.A. 33 Bife Supercomputing S.A. 33

Smith-Waterman

Bife Supercomputing S.A. 34 Bife Supercomputing S.A. 34

Smith-Waterman

Bife Supercomputing S.A. 35 Bife Supercomputing S.A. 35

Smith-Waterman

Bife Supercomputing S.A. 36 Bife Supercomputing S.A. 36

Smith-Waterman

Bife Supercomputing S.A. 37 Bife Supercomputing S.A. 37

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.

Bife Supercomputing S.A. 39 Bife Supercomputing S.A. 39

Gracias!