|
|
(30 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
− | __NOTOC__
| + | Volver a [[Cursos]] |
| | | |
− | <div class="thumbnail img-thumbnail">http://wiki.sc3.uis.edu.co/images/a/a8/Logo_sc33.png</div>
| + | '''Computación de Alto Rendimiento y Científica - Código 76734''' |
− | <p><div class="btn btn-primary"><i class="fa fa-long-arrow-left"></i> [[Cursos]]</div></p>
| + | [[File:PhD Debugging.gif|center|thumb|600x600px]] |
− | <div class="column clearfix">
| |
− | <div class="col-md-14">
| |
− | <div class="well well-midnight">
| |
− | <h5>Computación de alto rendimiento y científica - Código 26734</h5>
| |
− | </div>
| |
− | </div>
| |
− | </div>
| |
| | | |
− | <div class="col-md-14">
| + | ==== '''Instructores''' ==== |
− | <div class="panel panel-darker-white-border">
| + | Carlos Jaime Barrios Hernández, PhD. ( c b a r r i o s + * @ * + u i s . e d u . c o ) |
− | <div class="panel-heading">
| |
− | <h3 class="panel-title">Profesor</h3>
| |
− | </div>
| |
− | <div class="panel-body">
| |
− | <p><b>[https://sites.google.com/site/carlosjaimebh/ Carlos Jaime Barrios Hernandez, PhD.]</b> - (cbarrios@uis.edu.co)</p>
| |
− | </div>
| |
− | </div>
| |
− | </div>
| |
| | | |
− | <div class="col-md-14">
| + | Gilberto Javier Diaz Toro, MsC. ( g i l b e r t o . d i a z + * @ * + u i s . e d u . c o ) |
− | <div class="panel panel-darker-white-border">
| |
− | <div class="panel-heading">
| |
− | <h3 class="panel-title">PRESENTACION</h3>
| |
− | </div>
| |
− | <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 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>
| |
− | </div>
| |
− | </div>
| |
− | </div>
| |
| | | |
− | <div class="col-md-14">
| + | Jorge Luis Chacón Velasco, PhD. (j c h a c on - * @ * - u i s . e d u . c o ) |
− | <div class="panel panel-darker-white-border">
| |
− | <div class="panel-heading">
| |
− | <h3 class="panel-title">Contenido</h3>
| |
− | </div>
| |
− | <div class="panel-body">
| |
− | <ul>
| |
− | <li><b>Unidad I.</b> Introducción. E-ciencia, Supercomputacion y Computo Avanzado. E-ciencia, Introduccion a las Arquitecturas Escalables, Cluster, Grid, Computacion Voluntaria y Cloud Computing. Uso de Arquitecturas Escalables (Taller en GridUIS-2), Portales Cientificos y otros recursos (Taller sobre Grid-Colombia y GISELA), Computacion Extrema.</li>
| |
− | <li><b>Unidad II.</b> Modelos de Programacion Basicos: Memoria Compartida y Memoria Distribuida.Concurrencia y Paralelismo, Programacion de Memoria Compartida (OpenMP), Programacion de Memoria Distribuida (MPI), Optimizacion de Codigos Secuenciales, desarrollo de scripts (bash, python).</li>
| |
− | <li><b>Unidad III.</b> Pasaje por la Programacion Hibrida y Aceleradores. Arquitecturas y Modelos de Programacion Hibrida, OpenACC, CUDA, OpenCL.</li>
| |
− | <li><b>Unidad IV.</b> Optimización, Tendencias y Direcicones Futuras</li>
| |
− | </ul>
| |
− | </div>
| |
− | </div>
| |
− | </div>
| |
| | | |
− | <div class="col-md-14">
| + | ==== '''Presentación''' ==== |
− | <div class="panel panel-darker-white-border">
| + | El cómputo de alto rendimiento más que una tendencia en el uso de tecnología, 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 científico, 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>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></p> |
− | <div class="panel-heading">
| |
− | <h3 class="panel-title">ASPECTOS METODOLOGICOS</h3>
| |
− | </div>
| |
− | <div class="panel-body">
| |
− | <ul> | |
− | <li>Seminarios Teorico-Prácticos</li>
| |
− | <li>Análisis de Casos </li>
| |
− | <li>Seminarios Especializados con Invitados Internacionales (Opcional: Seminario Ommps, dictado por el Barcelona Supercomputing Center.</li>
| |
− | </ul> | |
− | </div>
| |
− | </div>
| |
− | </div> | |
| | | |
− | <div class="col-md-14">
| + | ==== '''Contenido''' ==== |
− | <div class="panel panel-darker-white-border">
| + | '''Unidad I: Introducción General''' |
− | <div class="panel-heading">
| + | * Introducción a la Computación Científica |
− | <h3 class="panel-title">MATERIAL DEL CURSO</h3>
| + | * Introducción al Linux |
− | </div>
| + | * Linux y SLURM |
− | <div class="panel-body">
| |
− | <ul>
| |
− | <li>Unidad I: [http://www.sc3.uis.edu.co/owncloud/index.php/s/OMKIFGYtARnexJm Parte 1], [http://www.sc3.uis.edu.co/owncloud/index.php/s/ZnhngOmO6Dkw5p1 Parte 2]</li>
| |
− | <li>Unidad II: [http://www.sc3.uis.edu.co/owncloud/index.php/s/DMkTdt5pk5BjOOJ Parte 3]</li>
| |
− | <li>Unidad III:</li>
| |
− | <li>Unidad IV: </li>
| |
− | </ul>
| |
− | <p>Códigos de Práctica:</p>
| |
− | <ul>
| |
− | <li>[http://people.sc.fsu.edu/~jburkardt/c_src/openmp/openmp.html OpenMP: Tutorial y ejemplos]</li>
| |
− | <li>[http://people.sc.fsu.edu/~jburkardt/c_src/mpi/mpi.html MPI : Tutrorial y ejemplos]</li>
| |
− | </ul>
| |
− | </div>
| |
− | </div>
| |
− | </div>
| |
| | | |
− | <div class="col-md-14">
| + | '''Unidad II: Programación Científica''' |
− | <div class="panel panel-darker-white">
| + | * Algoritmos |
− | <div class="panel-heading">
| + | * Introducción al C/C++ |
− | <h3 class="panel-title">EVALUACIONES</h3>
| + | * Introducción al Python |
− | </div>
| + | * Debugging y Profiling |
− | <div class="panel-body">
| |
− | <p>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. </p>
| |
− | <ul>
| |
− | <li>Nota 1 (25%): Propuesta de Problema y Algoritmo Inicial.</li>
| |
− | <li>Nota 2 (25%): Código de Solución con Memoria Compartida.</li>
| |
− | <li>Nota 3 (25%): Código e Solución con Memoria Distribuída.</li>
| |
− | <li>Nota 4 (25%): Código de Solución Hibrida o Acelerado.</li>
| |
− | </ul>
| |
− | </div>
| |
− | <div class="panel-footer">Evaluaciones</div>
| |
− | </div>
| |
− | </div>
| |
| | | |
− | <div class="col-md-14">
| + | '''Unidad III: Modelos de Programación Paralela''' |
− | <div class="panel panel-darker-white-border">
| + | * Arquitecturas de Computación de Alto Rendimiento |
− | <div class="panel-heading">
| + | * Memoria Compartida con OpenMP |
− | <h3 class="panel-title">BIBLIOGRAFÍA Y FUENTES DE INFORMACION</h3>
| + | * Memoria Distribuída con MPI |
− | </div>
| + | * OpenACC y Otras Directivas de Aceleración |
− | <div class="panel-body">
| + | |
− | <ul>
| + | '''Unidad IV: Herramientas Interesantes para Cómputo Científico''' |
− | <li>The Fourth Paradigm: Data-Intensive Scientific Discovery in http://research.microsoft.com/en-us/collaboration/fourthparadigm/</li>
| + | * R |
− | <li>Designing and Building Parallel Programs, by Ian Foster in http://www.mcs.anl.gov/~itf/dbpp/</li>
| + | * Hadoop |
− | <li>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/</li>
| + | * Otras |
− | <li>The Art of Concurrency “A thread Monkey’s Guide to Writing Parallel Applications”, by Clay Breshears (Ed. O Reilly, 2009)</li>
| + | |
− | <li>Parallel Scientific Computing in C++ and MPI « A Seamless Approach to Parallel Algorithms and Their Implementation », Karniadakis and Kirby II (Cambridge Press) </li>
| + | '''Unidad V: Visualización''' |
− | <li>Algorithms Sequential and Parallel « A Unified Approach » Miller and Boxer (Computing Engineering Series) </li>
| + | * gnuPlot |
− | <li>Parallel Algorithms, Cassanova, Legrand and Robert (Chapman and Hall/CRC) </li>
| + | * Paraview |
− | <li>Programming Massively Parallel Processors « A Hands-on Approach » , Kirk and Hwu (Nvidia/Morgan Kaufmann) </li>
| + | * Visit |
− | <li>Introduction to High Performance Computing for Scientists and Engineers, Hager and Wellein (Chapman and Hall/CRC) </li>
| + | * Otros |
− | <li>Sourcebook of Parallel Computing , Dongarra, Foster, Fox, Groop, Kennedy, Torczon and White (Morgan Kaufmann) </li>
| + | |
− | <li>CUDA by Example « An Introduction to General-Purpose GPU Programming » Sanders and Kandrot (Nvidia/Addison Wesley) </li>
| + | ==== '''Evaluaciones (2do Semestre de 2018)''' ==== |
− | <li>http://developer.nvidia.com/ </li>
| + | * '''Evaluación 1: 20% (10 de Septiembre en Horas de Clase) :''' Unidad I (Taller de Evaluación Teórico Individual) |
− | <li>http://grid.uis.edu.co </li>
| + | * '''Evaluación 2: 30% (Septiembre 24-25 9:00-17:00)''': Participación en el Tutorial ''<u>Overview of Common Strategies for Parallelization</u>'' durante el #CARLA2018 (Presentación del Certificado de Asistencia y Cumplimiento de la totalidad de las horas del curso) Más información en [www.ccarla.org] |
− | <li>https://computing.llnl.gov/tutorials/parallel_comp/ </li>
| + | * '''Evaluación 2: 20% (29 de Octubre, En Horas de Clase)''' Entrega de Proyecto de Clase 1: Individual. Se asignarán posteriormente. |
− | <li>http://www.sc-camp.org </li>
| + | * '''Evaluación 3: 30% (3 de Diciembre)''' Entrega de Proyecto Final de clase : Por Grupos. Se asignarán posteriormente. |
− | </ul>
| + | ** Componente 1 (20%): Presentación en un Poster con los resultados relevantes |
− | </div>
| + | ** Componente 2 (20%): Calidad de la solución propuesta. |
− | </div>
| + | |
− | </div>
| + | ==== '''Horas de Consulta''' ==== |
| + | Las horas de Consulta son los Martes de 9:00 a.m. a 12:00 del dia en LP 226 o en el cuarto piso del Centic, pero se debe solicitar cita previa por email. |
Volver a Cursos
Computación de Alto Rendimiento y Científica - Código 76734
Instructores
Carlos Jaime Barrios Hernández, PhD. ( c b a r r i o s + * @ * + u i s . e d u . c o )
Gilberto Javier Diaz Toro, MsC. ( g i l b e r t o . d i a z + * @ * + u i s . e d u . c o )
Jorge Luis Chacón Velasco, PhD. (j c h a c on - * @ * - u i s . e d u . c o )
Presentación
El cómputo de alto rendimiento más que una tendencia en el uso de tecnología, 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 científico, 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.
Contenido
Unidad I: Introducción General
- Introducción a la Computación Científica
- Introducción al Linux
- Linux y SLURM
Unidad II: Programación Científica
- Algoritmos
- Introducción al C/C++
- Introducción al Python
- Debugging y Profiling
Unidad III: Modelos de Programación Paralela
- Arquitecturas de Computación de Alto Rendimiento
- Memoria Compartida con OpenMP
- Memoria Distribuída con MPI
- OpenACC y Otras Directivas de Aceleración
Unidad IV: Herramientas Interesantes para Cómputo Científico
Unidad V: Visualización
- gnuPlot
- Paraview
- Visit
- Otros
Evaluaciones (2do Semestre de 2018)
- Evaluación 1: 20% (10 de Septiembre en Horas de Clase) : Unidad I (Taller de Evaluación Teórico Individual)
- Evaluación 2: 30% (Septiembre 24-25 9:00-17:00): Participación en el Tutorial Overview of Common Strategies for Parallelization durante el #CARLA2018 (Presentación del Certificado de Asistencia y Cumplimiento de la totalidad de las horas del curso) Más información en [www.ccarla.org]
- Evaluación 2: 20% (29 de Octubre, En Horas de Clase) Entrega de Proyecto de Clase 1: Individual. Se asignarán posteriormente.
- Evaluación 3: 30% (3 de Diciembre) Entrega de Proyecto Final de clase : Por Grupos. Se asignarán posteriormente.
- Componente 1 (20%): Presentación en un Poster con los resultados relevantes
- Componente 2 (20%): Calidad de la solución propuesta.
Horas de Consulta
Las horas de Consulta son los Martes de 9:00 a.m. a 12:00 del dia en LP 226 o en el cuarto piso del Centic, pero se debe solicitar cita previa por email.