Difference between revisions of "Computación de alto rendimiento"

From Supercomputación y Cálculo Científico UIS
(Created page with " __NOTOC__ <div class="thumbnail img-thumbnail">http://wiki.sc3.uis.edu.co/images/a/a8/Logo_sc33.png</div> <p><div class="btn btn-primary"><i class="fa fa-long-arrow-left">...")
 
(Evaluaciones programadas para el 2do Semestre de 2018)
 
(9 intermediate revisions by 2 users not shown)
Line 1: Line 1:
__NOTOC__
+
<p>__NOTOC__</p>
 
+
<div class="thumbnail img-thumbnail">http://wiki.sc3.uis.edu.co/images/a/a8/Logo_sc33.png</div>
<div class="thumbnail img-thumbnail">http://wiki.sc3.uis.edu.co/images/a/a8/Logo_sc33.png</div>  
+
<p>&nbsp;</p>Volver a  [[Cursos]]<div class="column clearfix"><div class="col-md-14"><div class="panel-body"><p>'''Computación de Alto Rendimiento - Código 24433'''</p><p><b>[https://sites.google.com/site/carlosjaimebh/ Carlos Jaime Barrios Hernandez, PhD.]</b> - (c b a r r i o s (@) u i s . e d u . c o )</p><p>Asistencia Técnica-Teórica:. Equipo SC3UIS </p>[[File:3-pi-cartoon.jpg|border|center]]</div></div></div>
<p><div class="btn btn-primary"><i class="fa  fa-long-arrow-left"></i> [[Cursos]]</div></p>
+
==='''PRESENTACION DEL CURSO'''===
 
<div class="column clearfix">
 
<div class="column clearfix">
    <div class="col-md-14">
+
La computación de alto rendimiento, como su nombre lo indica es aquella que esta destinada a tratar grandes volumenes de datos, grandes y complejos cálculos científicos, en tiempos aceptables, medibles, con una precisión adecuada al problema (muy grande), permitiendo ahorrar energía y compartir. Desde el punto de vista de las ciencias computacionales e ingeniería computacional (y afines),  implica muchas cosas relacionadas que van más allá de las aplicaciones y la cantidad de datos: como la tecnología, aspectos relacionados con el medio ambiente y los costos, paradigmas de programación y de diseño/organización de arquitecturas computacionales (hardware/software) y por supuesto matemática.
        <div class="well well-midnight">
 
                <h5>Nombre del curso - Código del curso</h5>
 
        </div>
 
    </div>
 
</div>
 
 
 
<div class="col-md-14">
 
    <div class="panel panel-darker-white-border">
 
        <div class="panel-heading">
 
            <h3 class="panel-title">Profesor</h3>
 
        </div>
 
        <div class="panel-body">
 
            <p><b>Nombre del profesor</b> - correo</p>
 
            <p>Auxiliatura Técnica-Académica : Nombre del auxiliar - correo</p>
 
        </div>
 
    </div>
 
</div>
 
 
 
<div class="col-md-14">
 
    <div class="panel panel-darker-white-border">
 
        <div class="panel-heading">
 
            <h3 class="panel-title">PRESENTACION</h3>
 
        </div>
 
        <div class="panel-body">
 
            <p></p>
 
        </div>
 
    </div>
 
</div>
 
 
 
<div class="col-md-14">
 
    <div class="panel panel-darker-white-border">
 
        <div class="panel-heading">
 
            <h3 class="panel-title">Contenido</h3>
 
        </div>
 
        <div class="panel-body">
 
            <p></p>           
 
        </div>
 
    </div>
 
</div>
 
 
 
<div class="col-md-14">
 
    <div class="panel panel-darker-white-border">
 
        <div class="panel-heading">
 
            <h3 class="panel-title">ASPECTOS METODOLOGICOS</h3>
 
        </div>
 
        <div class="panel-body">
 
            <p></p>         
 
        </div>
 
    </div>
 
</div>
 
 
 
<div class="col-md-14">
 
    <div class="panel panel-darker-white-border">
 
        <div class="panel-heading">
 
            <h3 class="panel-title">MATERIAL DEL CURSO</h3>
 
        </div>
 
        <div class="panel-body">
 
            <p></p>       
 
       
 
        </div>
 
    </div>
 
</div>
 
 
 
<div class="col-md-14">
 
    <div class="panel panel-darker-white">
 
        <div class="panel-heading">
 
            <h3 class="panel-title">EVALUACIONES</h3>
 
        </div>
 
        <div class="panel-body">
 
 
 
 
 
            <div class="col-md-6">
 
                <div class="panel panel-midnight-border">
 
                    <div class="panel-heading">
 
                        <h3 class="panel-title">Evaluación 1</h3>
 
                    </div>
 
 
 
                    <div class="panel-body">                       
 
                        <p></p>
 
                    </div>
 
                    <div class="panel-footer">Evaluación 1</div>
 
                </div>
 
            </div>
 
 
 
            <div class="col-md-6">
 
                <div class="panel panel-midnight-border">
 
                    <div class="panel-heading">
 
                        <h3 class="panel-title">Evaluación 2</h3>
 
                    </div>
 
 
 
                    <div class="panel-body">
 
                        <p></p>
 
  
                    </div>
+
Este es un curso dirigido a estudiantes de postgrado, que si bien puede compararse en contenido con el curso [http://wiki.sc3.uis.edu.co/index.php/Introducci%C3%B3n_a_la_programaci%C3%B3n_paralela Introducción a la programación paralela] el enfoque es hacia estudiantes de master y doctorado en ciencias computacionales y afines, haciendo énfasis en la obtención de altas prestaciones, y en el soporte hacia la solución de problemas científicos multidisciplinarios, desde un enfoque computacional.
                    <div class="panel-footer">Evaluación 2</div>
 
                </div>
 
            </div>
 
 
 
            <div class="col-md-12">
 
                <div class="panel panel-midnight-border">
 
                    <div class="panel-heading">
 
                        <h3 class="panel-title">Evaluación 3</h3>
 
                    </div>
 
 
 
                    <div class="panel-body">
 
                        <p></p>                     
 
 
 
                    </div>
 
                    <div class="panel-footer">Evaluación 3</div>
 
                </div>
 
            </div>
 
       
 
        </div>
 
        <div class="panel-footer">Evaluaciones</div>
 
    </div>
 
 
</div>
 
</div>
 
+
==='''Contenido'''===
 
<div class="col-md-14">
 
<div class="col-md-14">
    <div class="panel panel-darker-white-border">
+
#Introducción a la Computación de Alto Rendimiento y Cálculo Científico
        <div class="panel-heading">
+
#*Altas Prestaciones y Alta Demanda Computacional
            <h3 class="panel-title">BIBLIOGRAFÍA Y FUENTES DE INFORMACION</h3>
+
#*Computación Científica y de Alto Rendimiento
        </div>
+
#*Evolución de la Computación de Alto Rendimiento
        <div class="panel-body">
+
#*El Top500 y otros rankings
            <p></p>         
+
#Arquitecturas Paralelas y Sistemas Escalables
        </div>
+
#*Modelos de Máquinas  y Ejecución Paralelas
    </div>
+
#*Paralelismo y Comunicación
 +
#*Caracterización de Flynn
 +
#*Multinucleos y Multiprocesamiento
 +
#*Procesamiento Vectorial
 +
#*Arquitecturas para el Procesamiento Masivamente Paralelo (Manycores)
 +
#*Modelos de Memoria
 +
#**Jerarquia de Memoria
 +
#*Sistemas Distribuidos de Gran Escala
 +
#*Unidades de Procesamiento Tensor
 +
#*Unidades de Procesamiento Cuántico
 +
#*Sistemas Operativos, Sistemas de Archivos, Calendarización y Monitoreo en Arquitecturas Paralelas
 +
#**Aspectos especiales de Linux y Slurm
 +
#*Algunos aspectos relacionados con CAPEX y Ambientes de Implementación de Plataformas
 +
#**Energia y Temperatura
 +
#**Seguridad y Comodidad
 +
#Algoritmos Concurrentes y Paralelos
 +
#*Caracterización de Paralelismo
 +
#*Granularidad
 +
#*Multihilos y Multiprocesos
 +
#*Modelos de Computación (RAM, PRAM, Sorting Networks, BSP, LogP y otros)
 +
#*Modelos de Algoritmos Concurrentes
 +
#**Descomposición de Tareas
 +
#**Descomposición de Datos
 +
#**Dividir y Conquistar
 +
#**Tuberias (Pipeline)
 +
#**Recursividad y Otros (Embarrassingly Parallelism y Otros)
 +
#*Algoritmos No Paralelos
 +
#*Balanceo de Carga y Calendarización (Scheduling)
 +
#*Algunos Aspectos Importantes de Comunicación
 +
#Paradigmas y Modelos de Programación Paralela
 +
#*Ambientes de Programación Paralela
 +
#*Modelo de Programación de Memoria Compartida
 +
#**OpenMP
 +
#*Modelo de Programación de Memoria Distribuída
 +
#**Paso de Mensajes con MPI
 +
#*Modelo Programación de Memoria Híbrida/Heterogénea
 +
#**Programación de Sistemas CPU-GPU (Sistemas GPGPU)
 +
#***Fundamentos de Programación de GPUs y Múltiples GPU con CUDA
 +
#*Uso de Directivas de Aceleración con OpenACC
 +
#*Otros Mecanismos de Implementación y Aceleración de Aplicaciones
 +
#*Aspectos Importantes de Comunicación, Balanceo de Carga y Tolerancia a Fallos desde la Implementación
 +
#*Implementaciones hibridas
 +
#**OpenMP + MPI
 +
#**CUDA + MPI
 +
#Optimización
 +
#*Optimización Local y Global Paralela
 +
#Evaluación de Desempeño
 +
#*Latencia y Throughput
 +
#*Speedup (Aceleración), Eficiencia y Escalabilidad
 +
#*Ley de Amhdal
 +
#*Ley de Gustaffon-Barsis
 +
#*Complejidad Asimptótica (Aceleración y Eficiencia)
 +
#*Modelo de Little
 +
#*Análisis de Rendimiento y Tunning (Ajuste)
 +
#Debugging and Profiling
 +
#*Consideraciones de Debugging y Monitoreo de Rendimiento y Comportamiento
 +
#*Herramientas para el Debugging y el Profling
 +
#Lineamientos para el Desarrollo de Aplicaciones Paralelas
 +
#*Patrones para el Flujo de Control y de Ejecución
 +
#*Patrones para la Administración de Datos
 +
#*Espacios de Diseño y Desarrollo de Programas Paralelos
 +
#**Búsqueda de Explotación de Concurrencia
 +
#**Diseño de Estructura de Algoritmo
 +
#**Selección de Estructuras de Soporte de Algoritmos Paralelos
 +
#**Selección de Mecanismos de Implementación
 +
#Direcciones y Tendencias en Programación Paralela
 +
#*Exascale
 +
#*Explotación de Unidades Tensor y Aplicaciones Emergentes
 +
#*Visualizacióm
 +
#*Explotación de Memoria
 +
#*Paradigmas de Programación Emergentes
 +
#*Computación Cuántica
 +
#*Tecnologías de ruptura computacional
 
</div>
 
</div>
 +
==='''Evaluación'''===
 +
====='''Evaluaciones programadas para el 2do Semestre de 2018'''=====
 +
*'''Evaluación Única:''' Participación en la Conferencia Latinoamericana de Computación de Alto Rendimiento CARLA2018 de la siguiente manera:
 +
** Participación en el [http://www.ccarla.org/ #CARLA2018] (Domingo 23 al Viernes 28 de Septiembre de 2018) de la siguiente manera:
 +
*** Participación en al menos un tutorial
 +
*** Participación en al menos uno de los workshops
 +
*** Participación en el cuerpo central de la conferencia
 +
*** Participación en el Postgraduate Special Simposium de la Conferencia. DEBE PRESENTAR EL CERTIFICADO DE PARTICIPACIÓN DE CADA UNA DE LAS ACTIVIDADES el martes 2 de octubre. Los matriculados en el curso están exonerados del pago de registro e inscripción.
 +
*** '''COMO TODOS NO PUDIERON PARTICIPAR Y EL PARO GENERO CIERTA INACTIVIDAD, DESPUES DEL 28 DE ENERO REALIZAREMOS (4) CUATRO SESIONES PRACTICAS CON MIRAS A UN TRABAJO UNICO FINAL QUE SE PRESENTARA LA PRIMERA SEMANA DE MARZO.'''
 +
==='''Bibliografía y Fuentes de Información'''===
 +
<div class="col-md-14"><div class="panel panel-darker-white-border"><ul><li>Elements of Parallel Computing, Eric Aubanel (Chapman & Hall/CRC)</li><li>Essentials of Computer Architecture, D. Comer (CRC Press)</li><li>High Performance Embedded Computing: Applications in Cyber-Physical systems and Mobile Computing, M. Wolf (Morgan Kaufmann)</li><li>[http://research.microsoft.com/en-us/collaboration/fourthparadigm/ The Fourth Paradigm: Data-Intensive Scientific Discovery]</li><li>[http://www.mcs.anl.gov/~itf/dbpp/ Designing and Building Parallel Programs, by Ian Foster]</li><li>[http://www.cise.ufl.edu/research/ParallelPatterns/ Patterns for Parallel Programming, by Timothy G. Mattson, Beverly A. Sanders and Berna L. Massingill. Software Patterns Series, Addison Wesley Ed., USA. 2009]</li><li>Patterns for Parallel Software Design, Jorge Luis Ortega-Arjona (Wiley)</li><li>Structured Parallel Programming: Patterns for Efficient Computation, M. McCool, A. D. Robison and J. Reinders (Morgan Kaufmann)</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>Parallel And Distributed Computation Numerical Methods, D. P. Bertsekas and J. N. Tsitsiklis (Prentice Hall)</li><li>An Introduction to High Performance Scientific Computing, Scientific and Engineering Computation Series, Ll. D. Fosdick, E. R. Jessup, C. J. C. Schauble and G. Dmik (MIT Press)</li><li>The Algorithms Design Manual, S. S. Skiena ( Springer)</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>Fundamentals of Multicore Software Development, Ed. Victor Pankratius, Ali-Reza Adl-Tabatabai and Walter Tichy (CRC Press)</li><li>Introduction to HPC with MPI for Data Science, Frank Nielsen (Springer)</li><li>Programming Massively Parallel Processors « A Hands-on Approach » , Kirk and Hwu (Nvidia/Morgan Kaufmann)</li><li>CUDA Application Design and Development, Rob Farber (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 Programming: A Developer's Guide to Parallel Computing with GPUs, S. Cook (Morgan Kaufmann)</li><li>The CUDA Handbook: A Comprehensive Guide to GPU Programming, N. Wilt (Addison-Wesley)</li><li>CUDA by Example « An Introduction to General-Purpose GPU Programming » Sanders and Kandrot (Nvidia/Addison Wesley)</li><li>CUDA Fortran for Scientists and Engineers: Best Practices for Efficient CUDA Fortran Programming, G. Ruetsch and M. Fatica (Morgan Kaufmann/PGI/Nvidia)</li><li>HPC@Green IT: Green High Performance Computing Methods, R. Gruber and V. Keller (Springer)</li><li>OpenACC for Programmers: Concepts and Strategies, S. Chandraserkaran and G. Juckeland (Addison-Wesley)</li><li>OpenACC: Parallel Programming with OpenACC, Edited by Rob Farber (Morgan Kaufmann)</li><li>High Performance Parallelism Pearls: Multicore and Many-core Programming Approaches, J. Reinders and J. Jeffers (Morgan Kaufmann)</li><li>[https://www.openmp.org/ OpenMP]</li><li>[https://www.openacc.org/ OpenACC]</li><li>[http://developer.nvidia.com/ NVIDIA]</li><li>[http://www.sc3.uis.edu.co/ SC3]</li><li>[http://www.red-ricap.org/ RICAP]</li><li>[https://computing.llnl.gov/tutorials/parallel_comp/ Computing.llnl.gov]</li><li>[http://www.sc-camp.org/ SC-Camp]</li></ul></div></div>
 +
==='''CONSULTA A ESTUDIANTES'''===
 +
Los martes puede realizarse consulta en LP226 o en Supercomputación UIS 4to piso del CENTIC pero se recomienda solicitar cita por email previamente.

Latest revision as of 15:16, 27 January 2019

Logo_sc33.png

 

Volver a Cursos

Computación de Alto Rendimiento - Código 24433

Carlos Jaime Barrios Hernandez, PhD. - (c b a r r i o s (@) u i s . e d u . c o )

Asistencia Técnica-Teórica:. Equipo SC3UIS

3-pi-cartoon.jpg

PRESENTACION DEL CURSO

La computación de alto rendimiento, como su nombre lo indica es aquella que esta destinada a tratar grandes volumenes de datos, grandes y complejos cálculos científicos, en tiempos aceptables, medibles, con una precisión adecuada al problema (muy grande), permitiendo ahorrar energía y compartir. Desde el punto de vista de las ciencias computacionales e ingeniería computacional (y afines), implica muchas cosas relacionadas que van más allá de las aplicaciones y la cantidad de datos: como la tecnología, aspectos relacionados con el medio ambiente y los costos, paradigmas de programación y de diseño/organización de arquitecturas computacionales (hardware/software) y por supuesto matemática.

Este es un curso dirigido a estudiantes de postgrado, que si bien puede compararse en contenido con el curso Introducción a la programación paralela el enfoque es hacia estudiantes de master y doctorado en ciencias computacionales y afines, haciendo énfasis en la obtención de altas prestaciones, y en el soporte hacia la solución de problemas científicos multidisciplinarios, desde un enfoque computacional.

Contenido

  1. Introducción a la Computación de Alto Rendimiento y Cálculo Científico
    • Altas Prestaciones y Alta Demanda Computacional
    • Computación Científica y de Alto Rendimiento
    • Evolución de la Computación de Alto Rendimiento
    • El Top500 y otros rankings
  2. Arquitecturas Paralelas y Sistemas Escalables
    • Modelos de Máquinas y Ejecución Paralelas
    • Paralelismo y Comunicación
    • Caracterización de Flynn
    • Multinucleos y Multiprocesamiento
    • Procesamiento Vectorial
    • Arquitecturas para el Procesamiento Masivamente Paralelo (Manycores)
    • Modelos de Memoria
      • Jerarquia de Memoria
    • Sistemas Distribuidos de Gran Escala
    • Unidades de Procesamiento Tensor
    • Unidades de Procesamiento Cuántico
    • Sistemas Operativos, Sistemas de Archivos, Calendarización y Monitoreo en Arquitecturas Paralelas
      • Aspectos especiales de Linux y Slurm
    • Algunos aspectos relacionados con CAPEX y Ambientes de Implementación de Plataformas
      • Energia y Temperatura
      • Seguridad y Comodidad
  3. Algoritmos Concurrentes y Paralelos
    • Caracterización de Paralelismo
    • Granularidad
    • Multihilos y Multiprocesos
    • Modelos de Computación (RAM, PRAM, Sorting Networks, BSP, LogP y otros)
    • Modelos de Algoritmos Concurrentes
      • Descomposición de Tareas
      • Descomposición de Datos
      • Dividir y Conquistar
      • Tuberias (Pipeline)
      • Recursividad y Otros (Embarrassingly Parallelism y Otros)
    • Algoritmos No Paralelos
    • Balanceo de Carga y Calendarización (Scheduling)
    • Algunos Aspectos Importantes de Comunicación
  4. Paradigmas y Modelos de Programación Paralela
    • Ambientes de Programación Paralela
    • Modelo de Programación de Memoria Compartida
      • OpenMP
    • Modelo de Programación de Memoria Distribuída
      • Paso de Mensajes con MPI
    • Modelo Programación de Memoria Híbrida/Heterogénea
      • Programación de Sistemas CPU-GPU (Sistemas GPGPU)
        • Fundamentos de Programación de GPUs y Múltiples GPU con CUDA
    • Uso de Directivas de Aceleración con OpenACC
    • Otros Mecanismos de Implementación y Aceleración de Aplicaciones
    • Aspectos Importantes de Comunicación, Balanceo de Carga y Tolerancia a Fallos desde la Implementación
    • Implementaciones hibridas
      • OpenMP + MPI
      • CUDA + MPI
  5. Optimización
    • Optimización Local y Global Paralela
  6. Evaluación de Desempeño
    • Latencia y Throughput
    • Speedup (Aceleración), Eficiencia y Escalabilidad
    • Ley de Amhdal
    • Ley de Gustaffon-Barsis
    • Complejidad Asimptótica (Aceleración y Eficiencia)
    • Modelo de Little
    • Análisis de Rendimiento y Tunning (Ajuste)
  7. Debugging and Profiling
    • Consideraciones de Debugging y Monitoreo de Rendimiento y Comportamiento
    • Herramientas para el Debugging y el Profling
  8. Lineamientos para el Desarrollo de Aplicaciones Paralelas
    • Patrones para el Flujo de Control y de Ejecución
    • Patrones para la Administración de Datos
    • Espacios de Diseño y Desarrollo de Programas Paralelos
      • Búsqueda de Explotación de Concurrencia
      • Diseño de Estructura de Algoritmo
      • Selección de Estructuras de Soporte de Algoritmos Paralelos
      • Selección de Mecanismos de Implementación
  9. Direcciones y Tendencias en Programación Paralela
    • Exascale
    • Explotación de Unidades Tensor y Aplicaciones Emergentes
    • Visualizacióm
    • Explotación de Memoria
    • Paradigmas de Programación Emergentes
    • Computación Cuántica
    • Tecnologías de ruptura computacional

Evaluación

Evaluaciones programadas para el 2do Semestre de 2018
  • Evaluación Única: Participación en la Conferencia Latinoamericana de Computación de Alto Rendimiento CARLA2018 de la siguiente manera:
    • Participación en el #CARLA2018 (Domingo 23 al Viernes 28 de Septiembre de 2018) de la siguiente manera:
      • Participación en al menos un tutorial
      • Participación en al menos uno de los workshops
      • Participación en el cuerpo central de la conferencia
      • Participación en el Postgraduate Special Simposium de la Conferencia. DEBE PRESENTAR EL CERTIFICADO DE PARTICIPACIÓN DE CADA UNA DE LAS ACTIVIDADES el martes 2 de octubre. Los matriculados en el curso están exonerados del pago de registro e inscripción.
      • COMO TODOS NO PUDIERON PARTICIPAR Y EL PARO GENERO CIERTA INACTIVIDAD, DESPUES DEL 28 DE ENERO REALIZAREMOS (4) CUATRO SESIONES PRACTICAS CON MIRAS A UN TRABAJO UNICO FINAL QUE SE PRESENTARA LA PRIMERA SEMANA DE MARZO.

Bibliografía y Fuentes de Información

  • Elements of Parallel Computing, Eric Aubanel (Chapman & Hall/CRC)
  • Essentials of Computer Architecture, D. Comer (CRC Press)
  • High Performance Embedded Computing: Applications in Cyber-Physical systems and Mobile Computing, M. Wolf (Morgan Kaufmann)
  • The Fourth Paradigm: Data-Intensive Scientific Discovery
  • Designing and Building Parallel Programs, by Ian Foster
  • Patterns for Parallel Programming, by Timothy G. Mattson, Beverly A. Sanders and Berna L. Massingill. Software Patterns Series, Addison Wesley Ed., USA. 2009
  • Patterns for Parallel Software Design, Jorge Luis Ortega-Arjona (Wiley)
  • Structured Parallel Programming: Patterns for Efficient Computation, M. McCool, A. D. Robison and J. Reinders (Morgan Kaufmann)
  • 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)
  • Parallel And Distributed Computation Numerical Methods, D. P. Bertsekas and J. N. Tsitsiklis (Prentice Hall)
  • An Introduction to High Performance Scientific Computing, Scientific and Engineering Computation Series, Ll. D. Fosdick, E. R. Jessup, C. J. C. Schauble and G. Dmik (MIT Press)
  • The Algorithms Design Manual, S. S. Skiena ( Springer)
  • Algorithms Sequential and Parallel « A Unified Approach » Miller and Boxer (Computing Engineering Series)
  • Parallel Algorithms, Cassanova, Legrand and Robert (Chapman and Hall/CRC)
  • Fundamentals of Multicore Software Development, Ed. Victor Pankratius, Ali-Reza Adl-Tabatabai and Walter Tichy (CRC Press)
  • Introduction to HPC with MPI for Data Science, Frank Nielsen (Springer)
  • Programming Massively Parallel Processors « A Hands-on Approach » , Kirk and Hwu (Nvidia/Morgan Kaufmann)
  • CUDA Application Design and Development, Rob Farber (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 Programming: A Developer's Guide to Parallel Computing with GPUs, S. Cook (Morgan Kaufmann)
  • The CUDA Handbook: A Comprehensive Guide to GPU Programming, N. Wilt (Addison-Wesley)
  • CUDA by Example « An Introduction to General-Purpose GPU Programming » Sanders and Kandrot (Nvidia/Addison Wesley)
  • CUDA Fortran for Scientists and Engineers: Best Practices for Efficient CUDA Fortran Programming, G. Ruetsch and M. Fatica (Morgan Kaufmann/PGI/Nvidia)
  • HPC@Green IT: Green High Performance Computing Methods, R. Gruber and V. Keller (Springer)
  • OpenACC for Programmers: Concepts and Strategies, S. Chandraserkaran and G. Juckeland (Addison-Wesley)
  • OpenACC: Parallel Programming with OpenACC, Edited by Rob Farber (Morgan Kaufmann)
  • High Performance Parallelism Pearls: Multicore and Many-core Programming Approaches, J. Reinders and J. Jeffers (Morgan Kaufmann)
  • OpenMP
  • OpenACC
  • NVIDIA
  • SC3
  • RICAP
  • Computing.llnl.gov
  • SC-Camp

CONSULTA A ESTUDIANTES

Los martes puede realizarse consulta en LP226 o en Supercomputación UIS 4to piso del CENTIC pero se recomienda solicitar cita por email previamente.