procesamiento paralelo - algoritmos frecuentes y ciencia ... lavisióndeutnbhi id capa ejemplo 1...

Post on 14-Jun-2020

6 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Procesamiento ParaleloAlgoritmos frecuentes y ciencia computacional

Javier Iparraguirre

Universidad Tecnológica Nacional, Facultad Regional Bahía Blanca11 de Abril 461, Bahía Blanca, Argentina

jiparraguirre@frbb.utn.edu.arhttp://www.frbb.utn.edu.ar/hpc/

27 de junio de 2016

Motivaciones

¿Que es la computación científica? (ciencia computacional)

• Usar técnicas computacionales para entender y resolverproblemas complejos.

• Es naturalmente multidisciplinario.• No es lo mismo que las ciencias de la computación.• Fusiona al menos tres áreas:

• Ingeniería y Ciencia.• Matemática.• Computación.

Gráfico Computación Científica [Jud14]

Una imagen vale más que 1000 palabras

Imagen cortesía dehttps://computing.llnl.gov/tutorials/parallel_comp/

Cuarto paradigma de la ciencia [HTT+09]

1 Inicialmente, la ciencia era experimental.2 Luego se teorizó a partir de modelos (Newton).3 Con la aparición de las computadoras se puede simular el

fenómeno a estudiar (mediados sigo XX).4 A partir de la acumulación de datos, se puede adquirir

conocimiento usando técnicas computacionales (principios desiglo XXI).

Proceso de la computación científica [Jud14]

Duendes y computadoras

Duendes y computadoras

• Dado un problema de computación científica, es posibledescomponerlo en duendes.

• En 2004, Phill Colella propuso 7 duendes.• En 2006, un grupo en Berkeley lo extendió a 13.• El informe de Berkeley esta disponible en:http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-183.html

Duende 1: Dense linear algebra [FLSZ12, dwa16]

• Algebra lineal: LAPACK,ATLAS.

• Clustering algorithms /Data-mining: K-means

Duende 2: Sparse linear algebra

• Análisis elementos finitos• Ecuaciones diferencialesparciales

Duende 3: Spectral methods

• Dinámica de fluidos• Mecánica cuántica• Predicción del clima

Duende 4: N-body methods

• Química computacional:plegado de proteínas,modelado de moléculas

• Astronomía: formación degalaxias

• Física: física del plasma

Duende 5: Structured grids

• Procesamiento de imágenes:filtrado gaussiano

• Física: ecuaciones del calor

Duende 6: Unstructured grids

• Dinámica de fluidoscomputacional (CFD)

• Propagación de creencias

Duende 7: Monte Carlo - Map-Reduce

• Monte-Carlo• Búsqueda distribuida

Duende 8: Combinational Logic

• Checksums, CRCs• Criptografía• Hashing

-

Duende 9: Graph traversal

• Búsqueda: depth-first search,breadth-first search

• Ordenamiento: Quick-sort

Duende 10: Dynamic Programming

• Grafos: Floyd’s All Pairs,shortest path

Duende 11: Backtrack and Branch

• Juegos: N-queens,crosswords, Sudoku

Duende 12: Probabilistic Graphical Models

• Bayesian networks• HMM (Hidden MarkovModels)

• Redes neuronales

Duende 13: Finite State Machine

• Codificación y compresión devideo

• Minería de datos

La popularidad de los duendes por áreas [ABC+06]

Modelado de sistema de cómputo

La visión de Berkeley

La visión de Intel

La visión de UTN BHI

ID Capa Ejemplo

1 Interfaces (HCI) PC, tablet, glass, CAVE

2 Aplicaciones Propósito

3 Lenguajes Matlab, Python, C, C++

4 APIs verticales OpenCV, OpenFOAM

5 APIs horizontales OpenCL, CUDA, MPI

6 Infraestructura Software Sistemas operativos, firmware

7 Infraestructura Hardware CPUs, GPUs, FPGAs

Patrones de diseño

Patrones de diseño

Patrones de diseño en paralelo

Temas de investigación en UTN BHI

Ejemplo 1: sumarización de video [ID13]

Dado un video cualquiera, encontrar los cuadros clave querepresenten los momentos más relevantes.

Ejemplo 2: Particle swarm optimization (PSO)

• Algoritmo de optimización basado en enjambre de partículas.• Hay varias implementations disponibles.• No se ha encontrado una implementación en corra en cualquierplaca gráfica (GPU) y además soporte más de un GPU a lavez.

Ejemplo 3: Cuantificación incertidumbre de simulacionesusando Monte-Carlo

• Simulación de la dinámica de sistemasmagneto-electro-elásticos.

• Se usa Monte-Carlo para cuantificar incertidumbre en losparámetros.

• Código Matlab disponible.• Caminos a explorar:

1 Buscar los duendes usados en el código.2 Buscar librerías científicas que implementen los duendes.3 Pasar de Matlab a SciPy.4 Usar C++ para acelerar cuellos de botella.

Grupo investigación

Grupo investigación

• Hay un grupo de investigación en formación• Se esperan novedades• Siempre hay lugar para los interesados en participar

¡Muchas gracias!

¿Preguntas?jiparraguirre@frbb.utn.edu.ar

Referencias y Créditos

Créditos

• Los iconos están basados a Google Designwww.design.google.com

Referencias I

[ABC+06] Krste Asanovic, Ras Bodik, Bryan ChristopherCatanzaro, Joseph James Gebis, Parry Husbands, KurtKeutzer, David A Patterson, William Lester Plishker,John Shalf, Samuel Webb Williams, et al.The landscape of parallel computing research: A viewfrom berkeley.Technical report, Technical ReportUCB/EECS-2006-183, EECS Department, University ofCalifornia, Berkeley, 2006.

[dwa16] The computational dwarfs of opencl.https://streamcomputing.eu/blog/2013-06-03/the-application-areas-opencl-can-be-used/,2016.Accessed: 2016-03-09.

Referencias II

[FLSZ12] Wu-chun Feng, Heshan Lin, Thomas Scogland, and JingZhang.Opencl and the 13 dwarfs: a work in progress.In Proceedings of the 3rd ACM/SPEC InternationalConference on Performance Engineering, pages291–294. ACM, 2012.

[HTT+09] Anthony JG Hey, Stewart Tansley, Kristin Michele Tolle,et al.The fourth paradigm: data-intensive scientific discovery,volume 1.Microsoft research Redmond, WA, 2009.

Referencias III

[ID13] Javier Iparraguirre and Claudio A. Delrieux.Speeded-up video summarization based on localfeatures.In Multimedia (ISM), 2013 IEEE InternationalSymposium on, pages 370–373. IEEE, 2013.

[Jud14] Hill Judith.Supercomputing 102: The toolbox of a successfulcomputational scientist.HPC Workshop, 2014.

top related