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. 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.
Requisitos: 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.
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 postgrado Programación multihilo de ESAT tiene una duración de 30 horas.
Las clases de este postgrado se imparten los viernes de 17:00 a 20:00.
Fecha de inicio 2021/2022: Pendiente de concretar y sujeta a la inscripción de un mínimo de alumnos.
Matrícula abierta con plazas limitadas. Envíanos tus consultas o inicia el proceso de matriculación, utilizando el siguiente formulario o llamando al 963 155 637. Nuestro horario de atención telefónica es de 9:00 a 18:00, de lunes a viernes, y de 9:00 a 14:00 los sábados.
Duración: 3 meses
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.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.
ver temario completo
|
Requisitos: - Estar en posesión del título de Bachiller o declarado equivalente, de Técnico Superior de Formación Profesional o ser mayor de 25 años con al menos 1 año de experiencia profesional ...
Requisitos: - Estar en posesión del título de Bachiller o declarado equivalente, de Técnico Superior de Formación Profesional o ser mayor de 25 años con al menos 1 año de experiencia profesional ...
Requisitos: - Ser mayor de 18 años.En este caso se expide el título de “Experto” - Estar en posesión del título de Bachiller, Técnico Superior de Formación Profesional, ser mayor de 25 años con al ...
Requisitos: - Ser mayor de 18 años.En este caso se expide el título de “Experto” - Estar en posesión del título de Bachiller, Técnico Superior de Formación Profesional, ser mayor de 25 años con al ...
Esta preparación te garantiza el conocimiento de las materias necesarias para superar, con la mejor cualificación, las pruebas para conseguir una plaza de trabajo fija como Auxiliar Administrativo ...
Objetivos: - Conocerás los ámbitos del mercado en los que se mueven las aplicaciones, los cuales te serán útiles para definir tus estrategias de posicionamiento en el mercado de las apps móviles.- ...
Objetivos: - Trabajar con componentes Web para la compilación y generación de páginas Web mediante Visual Studio .Net 2010.- Desarrollar de aplicaciones Windows con Microsoft .NET Framework 4.- ...