Difference between revisions of "Computación de alto rendimiento y científica"
Line 6: | Line 6: | ||
<div class="col-md-14"> | <div class="col-md-14"> | ||
<div class="well well-midnight"> | <div class="well well-midnight"> | ||
− | <h5>Computación de alto rendimiento y científica - Código 26734</h5> | + | <h5>'''Computación de alto rendimiento y científica - Código 26734'''</h5> |
</div> | </div> | ||
</div> | </div> | ||
</div> | </div> | ||
+ | [[File:PhD Debugging.gif|center|thumb|600x600px]] | ||
+ | ==== '''Instructores''' ==== | ||
<div class="col-md-14"> | <div class="col-md-14"> | ||
− | <div class="panel panel-darker-white-border"> | + | <div class="panel panel-darker-white-border"><div class="panel-body"> |
− | + | <p><b>[https://sites.google.com/site/carlosjaimebh/ Carlos Jaime Barrios Hernandez, PhD.]</b> - (cbarrios@uis.edu.co)</p><p>Gilberto Javier Diaz Toro, MSc (gilberto.diaz@uis.edu.co)</p><p>Jorge Luis Chacón Velazco, PhD (jchacon@uis.edu.co)</p> | |
− | |||
− | |||
− | |||
− | <p><b>[https://sites.google.com/site/carlosjaimebh/ Carlos Jaime Barrios Hernandez, PhD.]</b> - (cbarrios@uis.edu.co)</p> | ||
</div> | </div> | ||
</div> | </div> | ||
</div> | </div> | ||
+ | ==== '''Presentación''' ==== | ||
<div class="col-md-14"> | <div class="col-md-14"> | ||
− | <div class="panel panel-darker-white-border"> | + | <div class="panel panel-darker-white-border"><div class="panel-body"> |
− | |||
− | |||
− | |||
− | |||
<p>El cómputo de alto rendimiento más que una tendencia en el uso de tecnologia, es una realidad, que plantea diferentes retos para todos los dominios del conocimiento o de actividad profesional. Más allá de las competencias normales de un ingeniero o cientifico, es necesario entender la tecnología para aprovechar las oportunidades que nos ofrecen, adquirir un lenguaje común para interactuar con ingenieros de sistemas o computistas y proyectar una actividad multidisciplinaria, altamente eficiente.</p> | <p>El cómputo de alto rendimiento más que una tendencia en el uso de tecnologia, es una realidad, que plantea diferentes retos para todos los dominios del conocimiento o de actividad profesional. Más allá de las competencias normales de un ingeniero o cientifico, es necesario entender la tecnología para aprovechar las oportunidades que nos ofrecen, adquirir un lenguaje común para interactuar con ingenieros de sistemas o computistas y proyectar una actividad multidisciplinaria, altamente eficiente.</p> | ||
<p>El curso ofrece un acercamiento a conceptos básicos y estrategias de interacción con arquitecturas escalables, desde el computo cientifico para explotar posibilidades de concurrencia y paralelismo. El curso permitirá a los participantes, conocer modelos de programacion fundamentales para la creacion de sus propios codigos, así como una vision e interacción con plataformas de supercomputo especifica y algunas herramientas de interacción en redes de tecnología avanzada, permitiendo reconocer perspectivas y oportunidades de desarrollo.</p><p>Las sesiones se realizan en el CENTIC</p> | <p>El curso ofrece un acercamiento a conceptos básicos y estrategias de interacción con arquitecturas escalables, desde el computo cientifico para explotar posibilidades de concurrencia y paralelismo. El curso permitirá a los participantes, conocer modelos de programacion fundamentales para la creacion de sus propios codigos, así como una vision e interacción con plataformas de supercomputo especifica y algunas herramientas de interacción en redes de tecnología avanzada, permitiendo reconocer perspectivas y oportunidades de desarrollo.</p><p>Las sesiones se realizan en el CENTIC</p> | ||
Line 34: | Line 29: | ||
</div> | </div> | ||
+ | ==== '''Contenido''' ==== | ||
<div class="col-md-14"> | <div class="col-md-14"> | ||
− | <div class="panel panel-darker-white-border"> | + | <div class="panel panel-darker-white-border"><div class="panel-body"> |
− | + | <b>Unidad I: Introducción General</b><ul> | |
− | + | <li> | |
− | + | <li>Arquitecturas Escalables | |
− | + | </li> | |
− | < | + | <li>Computación de Alto Rendimiento y Científica |
− | <li>< | + | </li> |
− | <li><b>Unidad II | + | <li>Introducción al Uso de Arquitecturas Escalables |
− | <li><b>Unidad III | + | <li>Lilnux y SLURM |
− | <li>< | + | </li></li></li> |
− | + | <li><b>Unidad II: Programación Científica</b> | |
− | + | <li>Algo de Algoritmos | |
+ | </li> | ||
+ | <li>C/C++ | ||
+ | </li> | ||
+ | <li>Python | ||
+ | </li></li></ul> | ||
+ | * <b>Unidad III:</b> '''Modelos de Programación Paralela''' | ||
+ | * <li>OpenMP | ||
+ | </li> | ||
+ | <li>MPI | ||
+ | </li> | ||
+ | <li>PyCUDA, OpenACC y CuBLAS | ||
+ | </li> | ||
+ | |||
+ | * '''Unidad IV: Algunas Herramientas Interesantas para el Cómputo Científico y Visualización''' | ||
+ | ** R | ||
+ | ** Hadoop | ||
+ | ** Paraview | ||
+ | ** Otros | ||
+ | </div> | ||
</div> | </div> | ||
− | </div> | + | </div><h4 class="panel-title">'''ASPECTOS METODOLOGICOS'''</h4> |
− | + | <div class="panel-body"><ul> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | <div class="panel-body"> | ||
− | <ul> | ||
<li>Seminarios Teorico-Prácticos</li> | <li>Seminarios Teorico-Prácticos</li> | ||
<li>Análisis de Casos </li> | <li>Análisis de Casos </li> | ||
<li>Seminarios Especializados con Invitados Internacionales (Opcional: Seminario Ommps, dictado por el Barcelona Supercomputing Center.</li> | <li>Seminarios Especializados con Invitados Internacionales (Opcional: Seminario Ommps, dictado por el Barcelona Supercomputing Center.</li> | ||
</ul> | </ul> | ||
− | </div> | + | </div><div class="col-md-14"> |
− | |||
− | |||
− | |||
− | <div class="col-md-14"> | ||
<div class="panel panel-darker-white-border"> | <div class="panel panel-darker-white-border"> | ||
<div class="panel-heading"> | <div class="panel-heading"> | ||
− | < | + | <p class="panel-title"></p> |
− | + | </div></div> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | </div> | ||
− | |||
</div> | </div> | ||
Line 89: | Line 79: | ||
<div class="panel panel-darker-white"> | <div class="panel panel-darker-white"> | ||
<div class="panel-heading"> | <div class="panel-heading"> | ||
− | <h3 class="panel-title"> | + | <h3 class="panel-title">VALUACIONES</h3> |
</div> | </div> | ||
<div class="panel-body"> | <div class="panel-body"> |
Revision as of 19:36, 4 September 2017
Computación de alto rendimiento y científica - Código 26734
Instructores
Carlos Jaime Barrios Hernandez, PhD. - (cbarrios@uis.edu.co)
Gilberto Javier Diaz Toro, MSc (gilberto.diaz@uis.edu.co)
Jorge Luis Chacón Velazco, PhD (jchacon@uis.edu.co)
Presentación
El cómputo de alto rendimiento más que una tendencia en el uso de tecnologia, es una realidad, que plantea diferentes retos para todos los dominios del conocimiento o de actividad profesional. Más allá de las competencias normales de un ingeniero o cientifico, es necesario entender la tecnología para aprovechar las oportunidades que nos ofrecen, adquirir un lenguaje común para interactuar con ingenieros de sistemas o computistas y proyectar una actividad multidisciplinaria, altamente eficiente.
El curso ofrece un acercamiento a conceptos básicos y estrategias de interacción con arquitecturas escalables, desde el computo cientifico para explotar posibilidades de concurrencia y paralelismo. El curso permitirá a los participantes, conocer modelos de programacion fundamentales para la creacion de sus propios codigos, así como una vision e interacción con plataformas de supercomputo especifica y algunas herramientas de interacción en redes de tecnología avanzada, permitiendo reconocer perspectivas y oportunidades de desarrollo.
Las sesiones se realizan en el CENTIC
Contenido
- Arquitecturas Escalables
- Computación de Alto Rendimiento y Científica
- Introducción al Uso de Arquitecturas Escalables
- Lilnux y SLURM
- Unidad II: Programación Científica
- Algo de Algoritmos
- C/C++
- Python
- Unidad III: Modelos de Programación Paralela
- OpenMP
- Unidad IV: Algunas Herramientas Interesantas para el Cómputo Científico y Visualización
- R
- Hadoop
- Paraview
- Otros
ASPECTOS METODOLOGICOS
- Seminarios Teorico-Prácticos
- Análisis de Casos
- Seminarios Especializados con Invitados Internacionales (Opcional: Seminario Ommps, dictado por el Barcelona Supercomputing Center.
VALUACIONES
La evaluación se realizara en cuatro entregas de igual porcentaje, a manera de ePoster o Digital Poster, para cada una de las notas. Estas entregas se realizarán en parejas y se tendrá en cuenta los siguientes factores: complejidad del problema, aporte, originalidad, presentación y calidad de la solución en términos de eficiencia. Los ePosters deberán ser enviados en formato pdf, junto con el código de solución y las instrucciones de compilación. Los ePosters se presentarán en un espacio asignado para tal fin, y los autores tendrán 10 minutos para su presentación.
- Nota 1 (25%): Propuesta de Problema y Algoritmo Inicial.
- Nota 2 (25%): Código de Solución con Memoria Compartida.
- Nota 3 (25%): Código e Solución con Memoria Distribuída.
- Nota 4 (25%): Código de Solución Hibrida o Acelerado.
BIBLIOGRAFÍA Y FUENTES DE INFORMACION
- The Fourth Paradigm: Data-Intensive Scientific Discovery in http://research.microsoft.com/en-us/collaboration/fourthparadigm/
- Designing and Building Parallel Programs, by Ian Foster in http://www.mcs.anl.gov/~itf/dbpp/
- Patterns for Parallel Programming, by Timothy G. Mattson, Beverly A. Sanders and Berna L. Massingill. Software Patterns Series, Addison Wesley Ed., USA. 2009. http://www.cise.ufl.edu/research/ParallelPatterns/
- The Art of Concurrency “A thread Monkey’s Guide to Writing Parallel Applications”, by Clay Breshears (Ed. O Reilly, 2009)
- Parallel Scientific Computing in C++ and MPI « A Seamless Approach to Parallel Algorithms and Their Implementation », Karniadakis and Kirby II (Cambridge Press)
- Algorithms Sequential and Parallel « A Unified Approach » Miller and Boxer (Computing Engineering Series)
- Parallel Algorithms, Cassanova, Legrand and Robert (Chapman and Hall/CRC)
- Programming Massively Parallel Processors « A Hands-on Approach » , Kirk and Hwu (Nvidia/Morgan Kaufmann)
- Introduction to High Performance Computing for Scientists and Engineers, Hager and Wellein (Chapman and Hall/CRC)
- Sourcebook of Parallel Computing , Dongarra, Foster, Fox, Groop, Kennedy, Torczon and White (Morgan Kaufmann)
- CUDA by Example « An Introduction to General-Purpose GPU Programming » Sanders and Kandrot (Nvidia/Addison Wesley)
- http://developer.nvidia.com/
- http://grid.uis.edu.co
- https://computing.llnl.gov/tutorials/parallel_comp/
- http://www.sc-camp.org