docenzia

POSTGRADO PROGRAMACIÓN MULTIHILO - ESAT - Escuela Superior de Arte y Tecnología

Centro de formación:

ESAT - Escuela Superior de Arte y Tecnología

0,0

0 opiniones /
POSTGRADO PROGRAMACIÓN MULTIHILO - ESAT - Escuela Superior de Arte y Tecnología
Precio
650 € / UD
Tipo Cursos
Modalidad Presencial
En Docenzia te asesoramos de forma gratuita para que escojas el mejor programa formativo que se adapte a tus necesidades y así poder mejorar tu carrera profesional. ¡Contáctanos para ayudarte!

Recibir más información

¿Cuándo contactamos contigo?


Enviando...

POSTGRADO PROGRAMACIÓN MULTIHILO - ESAT - Escuela Superior de Arte y Tecnología

Información general

DESCRIPCIÓN:

Programación multihilo y computación paralela en CPU y GPU En la actualidad todas las aplicaciones tienen algo en común, y es que sus usuarios cada vez demandan más interacción y más capacidad de respuesta: Una aplicación de ingeniería habitualmente necesita visualizar y procesar grandes volúmenes de datos con lo que requiere técnicas para poder ir cargando y descargando datos bajo demanda además de ir generando múltiples niveles de detalle. Un videojuego debe responder de manera inmediata a la interacción del usuario y a su vez estar realizando complejos cálculos para la física que al final se van a presentar en pantalla, aunque también puede ocurrir que tengas un escenario tan inmenso que requieras la carga y descarga de elementos bajo demanda. En el módulo de técnicas de programación multihilo y computación paralela en CPU y GPU se pretende dotar a los estudiantes de los conocimientos y las herramientas necesarias para ofrecer soluciones y diseñar aplicaciones aprovechando al máximo la capacidad de ejecución concurrente de los sistemas actuales.

ASPECTOS A TENER EN CUENTA

¿A quién va dirigido?

El curso está orientado a Diplomados HND en Programación de Videojuegos, Software Engineering, Computing o Ingenieros e Ingenieros Técnicos en Informática y/o Telecomunicaciones que deseen especializarse en la programación multihilo y paralela usando las últimas técnicas y tecnologías disponibles. En el caso de los Ingenieros e Ingenieros Técnicos por planes de estudios españoles, se requiere adicionalmente que tengan una buena base práctica de programación.

El alumno debería ingresar al módulo con los siguientes conocimientos:

Sentirse cómodo programando en C++, así como con algún entorno de programación o compilador (Visual Studio, gcc, clang).
Conocimientos de programación orientada a objetos y de estructuras de datos.

TEMARIO

El temario consta de dos partes, la primera se centrará en la programación de aplicación en CPU, donde se estudiará el diseño e implementación de estructuras de datos y algoritmos concurrentes haciendo uso de la librería estándar de C++11, dando ejemplos de soluciones reales integradas y en producción. La segunda parte se centrará en el desarrollo de aplicaciones de computación paralela en GPU (tarjeta gráficas) mediante el uso de CUDA y OpenCL y como poder intercambiar datos con OpenGL.

 

 

Programa completo (30 horas) 

 

  • Introducción a la programación y computación paralela

    Introducción, Conceptos básicos, Técnicas de programación concurrente, Repaso de las tecnologías de computación paralela (TBB, MPI, CUDA, OpenCL, C++11 API).

  • Programación multihilo en C++11 / C++14

    Introducción (repaso) a la programación segura en C++ (RAII idiom), introducción (repaso) de C++11/C++14 (shared_ptr, unique_ptr, lambda functions, move constructor and assignation operator) e introducción a la API de multithreading de C++11 (thread, mutex, async, lock_guard, atomic, etc…).

  • Programación de estructuras de datos concurrentes en C++11

    Programación de algunas estructuras de datos básicas para aprovechar la concurrencia en CPU con C++: threadsafe_stack, threadsafe_queue, threadsafe_lookup_table, threadsafe_list.

  • Diseño de código concurrente

    Estrategia y analítica, técnicas para dividir los datos entre los hilos, factores que afectan al rendimiento del código concurrente y diseño adecuado de las estructuras de datos e implementación de código multithreading seguro (exception safety).

  • Programación de algoritmos concurrentes en C++11

    Implementación concurrente de algunos algortimos comunes de C++ (for_each, find).

  • Introducción a la programación en GPU

    Arquitectura de los modelos de Ejecución de CUDA y OpenCL.

  • Introducción y desarrollo de aplicaciones con CUDA

    Lenguaje CUDA, Compilador NVCC + GCC, API de Driver vs API de Runtime, Fat Binaries.

  • Introducción y desarrollo de applicaciones con OpenCL

    Consulta de dispositivos OpenCL, OpenCL Language, Ejecución de un programa OpenCL.

  • Interoperabilidad CUDA / OpenCL con OpenGL

    API de interoperabilidad con OpenGL de CUDA y OpenCL.

 

TE RECOMENDAMOS VER TAMBIÉN

En los siguientes enlaces podrás ver programas formativos similares:

UBICACIONES DE NUESTRAS SEDES

  • Valencia

    Calle Viciana 5 · 46003 Valencia

Opiniones

No hay opiniones registradas para este curso