Difference between revisions of "Computación de alto rendimiento y científica"

From Supercomputación y Cálculo Científico UIS
(8 intermediate revisions by the same user not shown)
Line 12: Line 12:
  
 
==== '''Presentación''' ====
 
==== '''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.<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>
+
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>
  
 
==== '''Contenido''' ====
 
==== '''Contenido''' ====
'''Unidad I: Introducción General'''
+
'''Unidad I: Introducción General'''  
* Computacíón de Alto Rendimiento y Científica
+
* Introducción a la Computación Científica  
* Arquitecturas Escalables y de Cómputo de Alto Rendimiento
+
* Introducción al Linux
* Linux y SLURM
+
* Linux y SLURM  
  
 
'''Unidad II: Programación Científica'''
 
'''Unidad II: Programación Científica'''
* Algoritmos
+
* Algoritmos  
 
* Introducción al C/C++
 
* Introducción al C/C++
 
* Introducción al Python
 
* Introducción al Python
 +
* Debugging y Profiling
  
 
'''Unidad III: Modelos de Programación Paralela'''
 
'''Unidad III: Modelos de Programación Paralela'''
* Memoría Compartida con OpenMP
+
* Arquitecturas de Computación de Alto Rendimiento
 +
* Memoria Compartida con OpenMP
 
* Memoria Distribuída con MPI
 
* Memoria Distribuída con MPI
* PyCUDA, OpenACC y CuBlas
+
* OpenACC y Otras Directivas de Aceleración
  
 
'''Unidad IV: Herramientas Interesantes para Cómputo Científico'''
 
'''Unidad IV: Herramientas Interesantes para Cómputo Científico'''
Line 41: Line 43:
 
* Otros
 
* Otros
  
==== '''Evaluaciones''' ====
+
==== '''Evaluaciones (2do Semestre de 2018)''' ====
* 30% Quices y Talleres de Clase
+
* '''Evaluación 1: 20% (10 de Septiembre en Horas de Clase) :''' Unidad I (Taller de Evaluación Teórico Individual)
* 70% Trabajo Final de Aplicación
+
* '''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] 
** 20% Informe escrito tipo artículo (''envío del Informe escrito Viernes 1 de Diciembre a los tres instructores via correo, como un archivo pdf)''
+
* '''Evaluación 2: 20% (29 de Octubre, En Horas de Clase)''' Entrega de Proyecto de Clase 1: Individual. Se asignarán posteriormente.
** 30% Desarrollo del Proyecto
+
* '''Evaluación 3: 30% (3 de Diciembre)''' Entrega de Proyecto Final de clase : Por Grupos. Se asignarán posteriormente.
** 20% Presentación Oral en 10 Minutos ''(Defensa del Proyecto el lunes 4 de diciembre en la hora de clase)''
+
** 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.

Revision as of 23:49, 14 September 2018

Volver a Cursos

Computación de Alto Rendimiento y Científica - Código 76734

PhD Debugging.gif

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

  • R
  • Hadoop
  • Otras

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.