Computación de alto rendimiento por Instituto de Tecnología de Georgia

Sobre este curso

Ofrecido en Georgia Tech como CS 6220

El objetivo de este curso es brindarle una base sólida para desarrollar, analizar e implementar algoritmos paralelos y de uso local. Este curso se centra en fundamentos teóricos. Para dar una idea práctica de cómo los algoritmos se asignan y se comportan en sistemas reales, complementaremos la teoría algorítmica con ejercicios prácticos en sistemas HPC modernos, como Cilk Plus u OpenMP en nodos de memoria compartida, CUDA para coprocesadores gráficos (GPU) ), y modelos MPI y PGAS para sistemas de memoria distribuida.

Este curso es una introducción de posgrado a algoritmos paralelos escalables. "Escala" realmente se refiere a dos cosas: eficiente a medida que crece el tamaño del problema, y ​​eficiente a medida que crece el tamaño del sistema (medido en números de núcleos o nodos de cómputo). Para escalar realmente su algoritmo en estos dos sentidos, debe ser inteligente en cuanto a reducir la complejidad asintótica de la manera en que lo hizo para los algoritmos secuenciales desde CS 101; pero también debe pensar en reducir la comunicación y el movimiento de datos. Este curso trata sobre las técnicas algorítmicas básicas que necesitarás para hacerlo.

Las técnicas que encontrará cubren las principales ideas de diseño y análisis de algoritmos para tres clases principales de máquinas: para máquinas de memoria compartida multinúcleo y muchas de núcleo, a través del modelo de intervalo de trabajo; para máquinas de memoria distribuida como clústeres y supercomputadoras, a través de modelos de red; y para máquinas secuenciales o paralelas con jerarquías de memoria profunda (por ejemplo, cachés). Verá estas técnicas aplicadas a problemas fundamentales, como ordenar, buscar en árboles y gráficos, y álgebra lineal, entre otros. El aspecto práctico de este curso es la implementación de algoritmos y técnicas que aprenderá a ejecutarse en sistemas paralelos y distribuidos reales, para que pueda verificar si lo que parece funcionar bien en teoría también se traduce en práctica. (Los modelos de programación que usarás incluyen Cilk Plus, OpenMP y MPI, y posiblemente otros).

Computación de alto rendimiento por Instituto de Tecnología de Georgia

Computación de alto rendimiento por Instituto de Tecnología de Georgia

POR: Tutoriales En Linea
4 Meses Programacion

Sobre este curso

El objetivo de este curso es brindarle una base sólida para desarrollar, analizar e implementar algoritmos paralelos y de uso local. Este curso se centra en fundamentos teóricos. Para dar una idea práctica de cómo los algoritmos se asignan y se comportan en sistemas reales, complementaremos la teoría algorítmica con ejercicios prácticos en sistemas HPC modernos, como Cilk Plus u OpenMP en nodos de memoria compartida, CUDA para coprocesadores gráficos (GPU) ), y modelos MPI y PGAS para sistemas de memoria distribuida.

Este curso es una introducción de posgrado a algoritmos paralelos escalables. "Escala" realmente se refiere a dos cosas: eficiente a medida que crece el tamaño del problema, y ​​eficiente a medida que crece el tamaño del sistema (medido en números de núcleos o nodos de cómputo). Para escalar realmente su algoritmo en estos dos sentidos, debe ser inteligente en cuanto a reducir la complejidad asintótica de la manera en que lo hizo para los algoritmos secuenciales desde CS 101; pero también debe pensar en reducir la comunicación y el movimiento de datos. Este curso trata sobre las técnicas algorítmicas básicas que necesitarás para hacerlo.

Las técnicas que encontrará cubren las principales ideas de diseño y análisis de algoritmos para tres clases principales de máquinas: para máquinas de memoria compartida multinúcleo y muchas de núcleo, a través del modelo de intervalo de trabajo; para máquinas de memoria distribuida como clústeres y supercomputadoras, a través de modelos de red; y para máquinas secuenciales o paralelas con jerarquías de memoria profunda (por ejemplo, cachés). Verá estas técnicas aplicadas a problemas fundamentales, como ordenar, buscar en árboles y gráficos, y álgebra lineal, entre otros. El aspecto práctico de este curso es la implementación de algoritmos y técnicas que aprenderá a ejecutarse en sistemas paralelos y distribuidos reales, para que pueda verificar si lo que parece funcionar bien en teoría también se traduce en práctica. (Los modelos de programación que usarás incluyen Cilk Plus, OpenMP y MPI, y posiblemente otros).

  • Impartido por: Udacity
  • Idioma: inglés
  • Plataforma: Udacity
Visitar Plataforma...

Opiniones del curso: