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

From Supercomputación y Cálculo Científico UIS
Line 25: Line 25:
 
             <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>
         </div>'''Contenido'''<div class="panel-body">
+
         </div>'''Contenido'''
 +
</div>
 +
</div><div class="col-md-14">
 +
    <div class="panel panel-darker-white-border"><div class="panel-body">
 
<b>Unidad I: Introducción General</b>
 
<b>Unidad I: Introducción General</b>
  
Line 35: Line 38:
 
<li>Introducción al Uso de Arquitecturas Escalables
 
<li>Introducción al Uso de Arquitecturas Escalables
 
<li>Lilnux y SLURM
 
<li>Lilnux y SLURM
</li></ul>
+
</li>
 
+
<li>
<b>Unidad II: Programación Científica</b><ul><li>Algo de Algoritmos
+
</li></ul><b>Unidad II: Programación Científica</b><ul><li>Algo de Algoritmos
 
</li>
 
</li>
 
<li>C/C++
 
<li>C/C++
 
</li>
 
</li>
 
<li>Python
 
<li>Python
</li></ul>
+
</li></ul><b>Unidad III:</b> '''Modelos de Programación Paralela'''
 +
</div></div></div>
 +
 
 +
<div class="col-md-14">
 +
    <div class="panel panel-darker-white">
 +
        <div class="panel-heading">
 +
            <h3 class="panel-title">VALUACIONES</h3>
 +
        </div>
 +
        <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>
  
<b>Unidad III:</b> '''Modelos de Programación Paralela'''
+
<div class="col-md-14">
</div></div>
+
    <div class="panel panel-darker-white-border">
 +
        <div class="panel-heading">
 +
            <h3 class="panel-title">BIBLIOGRAFÍA Y FUENTES DE INFORMACION</h3>
 +
        </div>
 +
        <div class="panel-body">
 +
                <ul>
 +
                        <li>The Fourth Paradigm: Data-Intensive Scientific Discovery in http://research.microsoft.com/en-us/collaboration/fourthparadigm/</li>
 +
                        <li>Designing and Building Parallel Programs, by Ian Foster in http://www.mcs.anl.gov/~itf/dbpp/</li>
 +
                        <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>
 +
                        <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>
 +
                        <li>Algorithms Sequential and Parallel « A Unified Approach » Miller and Boxer (Computing Engineering Series) </li>
 +
                        <li>Parallel Algorithms, Cassanova, Legrand and Robert (Chapman and Hall/CRC) </li>
 +
                        <li>Programming Massively Parallel Processors « A Hands-on Approach » , Kirk and Hwu (Nvidia/Morgan Kaufmann) </li>
 +
                        <li>Introduction to High Performance Computing for Scientists and Engineers, Hager and Wellein (Chapman and Hall/CRC) </li>
 +
                        <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>
 +
                        <li>http://developer.nvidia.com/ </li>
 +
                        <li>http://grid.uis.edu.co </li>
 +
                        <li>https://computing.llnl.gov/tutorials/parallel_comp/ </li>
 +
                        <li>http://www.sc-camp.org </li>
 +
                </ul>
 +
        </div>
 +
    </div>
 
</div>
 
</div>

Revision as of 20:12, 4 September 2017


Logo_sc33.png

Computación de alto rendimiento y científica - Código 26734
PhD Debugging.gif

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

Unidad I: Introducción General

  • 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

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