Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1...
Transcript of Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1...
![Page 1: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/1.jpg)
Procesamiento ParaleloAlgoritmos frecuentes y ciencia computacional
Javier Iparraguirre
Universidad Tecnológica Nacional, Facultad Regional Bahía Blanca11 de Abril 461, Bahía Blanca, Argentina
[email protected]://www.frbb.utn.edu.ar/hpc/
27 de junio de 2016
![Page 2: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/2.jpg)
Motivaciones
![Page 3: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/3.jpg)
¿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.
![Page 4: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/4.jpg)
Gráfico Computación Científica [Jud14]
![Page 5: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/5.jpg)
Una imagen vale más que 1000 palabras
Imagen cortesía dehttps://computing.llnl.gov/tutorials/parallel_comp/
![Page 6: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/6.jpg)
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).
![Page 7: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/7.jpg)
Proceso de la computación científica [Jud14]
![Page 8: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/8.jpg)
Duendes y computadoras
![Page 9: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/9.jpg)
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
![Page 10: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/10.jpg)
Duende 1: Dense linear algebra [FLSZ12, dwa16]
• Algebra lineal: LAPACK,ATLAS.
• Clustering algorithms /Data-mining: K-means
![Page 11: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/11.jpg)
Duende 2: Sparse linear algebra
• Análisis elementos finitos• Ecuaciones diferencialesparciales
![Page 12: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/12.jpg)
Duende 3: Spectral methods
• Dinámica de fluidos• Mecánica cuántica• Predicción del clima
![Page 13: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/13.jpg)
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
![Page 14: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/14.jpg)
Duende 5: Structured grids
• Procesamiento de imágenes:filtrado gaussiano
• Física: ecuaciones del calor
![Page 15: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/15.jpg)
Duende 6: Unstructured grids
• Dinámica de fluidoscomputacional (CFD)
• Propagación de creencias
![Page 16: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/16.jpg)
Duende 7: Monte Carlo - Map-Reduce
• Monte-Carlo• Búsqueda distribuida
![Page 17: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/17.jpg)
Duende 8: Combinational Logic
• Checksums, CRCs• Criptografía• Hashing
-
![Page 18: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/18.jpg)
Duende 9: Graph traversal
• Búsqueda: depth-first search,breadth-first search
• Ordenamiento: Quick-sort
![Page 19: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/19.jpg)
Duende 10: Dynamic Programming
• Grafos: Floyd’s All Pairs,shortest path
![Page 20: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/20.jpg)
Duende 11: Backtrack and Branch
• Juegos: N-queens,crosswords, Sudoku
![Page 21: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/21.jpg)
Duende 12: Probabilistic Graphical Models
• Bayesian networks• HMM (Hidden MarkovModels)
• Redes neuronales
![Page 22: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/22.jpg)
Duende 13: Finite State Machine
• Codificación y compresión devideo
• Minería de datos
![Page 23: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/23.jpg)
La popularidad de los duendes por áreas [ABC+06]
![Page 24: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/24.jpg)
Modelado de sistema de cómputo
![Page 25: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/25.jpg)
La visión de Berkeley
![Page 26: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/26.jpg)
La visión de Intel
![Page 27: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/27.jpg)
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
![Page 28: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/28.jpg)
Patrones de diseño
![Page 29: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/29.jpg)
Patrones de diseño
![Page 30: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/30.jpg)
Patrones de diseño en paralelo
![Page 31: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/31.jpg)
Temas de investigación en UTN BHI
![Page 32: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/32.jpg)
Ejemplo 1: sumarización de video [ID13]
Dado un video cualquiera, encontrar los cuadros clave querepresenten los momentos más relevantes.
![Page 33: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/33.jpg)
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.
![Page 34: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/34.jpg)
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.
![Page 35: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/35.jpg)
Grupo investigación
![Page 36: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/36.jpg)
Grupo investigación
• Hay un grupo de investigación en formación• Se esperan novedades• Siempre hay lugar para los interesados en participar
![Page 38: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/38.jpg)
Referencias y Créditos
![Page 40: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/40.jpg)
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.
![Page 41: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/41.jpg)
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.
![Page 42: Procesamiento Paralelo - Algoritmos frecuentes y ciencia ... LavisióndeUTNBHI ID Capa Ejemplo 1 Interfaces(HCI) PC,tablet,glass,CAVE 2 Aplicaciones Propósito 3 Lenguajes Matlab,Python,C,C++](https://reader030.fdocuments.co/reader030/viewer/2022040308/5f06f7027e708231d41a9e93/html5/thumbnails/42.jpg)
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.