Modelos de programación heterogéneos: portabilidad, rendimiento y
programabilidad

  • Darío Suárez Gracia – Departamento de Informática e Ingeniería de Sistemas, Universidad de Zaragoza, España.

Objetivos

El objetivo principal de este curso es proporcionar a los estudiantes una visión general del estado del arte de las tendencias recientes en programación heterogénea principalmente para FPGA. Para lograr este amplio objetivo, el curso también incluye varios objetivos secundarios, a saber: 1) comprender la arquitectura de dispositivos heterogéneos como GPU y FPGA, 2) conocer los principios de la síntesis de alto nivel y las herramientas de flujo de trabajo necesarias para crear y ejecutar programas heterogéneos, 3) familiarizarse con modelos de programación como SYCL e Intel oneAPI, y 4) Comprender los conceptos básicos de los algoritmos de balanceo de carga para sistemas heterogéneos, con énfasis en los sistemas CPU más FPGA.

Programa

Introducción a los Sistemas Heterogéneos. Una visión general de los FPGA. Síntesis de alto nivel con C++/SYCL/Intel oneAPI. Balanceo de carga con Sistemas CPU-FPGA y CPU-GPU-FPGA. Estrategias de Optimización y Programación para FPGAs con HLS.

Bibliografía

James Reinders, Ben Ashbaugh, James Brodman, Michael Kinsner, John Pennycook, & Xinmin Tian. “Data Parallel C++. Mastering DPC++ for Programming of Heterogeneous Systems using C++ and SYCL”. Apress, Berkeley, CA, 2021. https://doi.org/10.1007/978-1-4842-5574-2

Hasitha Muthumala Waidyasooriya, Masanori Hariyama, & Kunio Uchiyama. “Design of FPGA-Based Computing Systems with OpenCL”. Springer International Publishing AG 2018. https://doi.org/10.1007/978-3-319-68161-0.

Dávila Guzmán, M.A., Nozal, R., Gran Tejero, R. et al. “Cooperative CPU, GPU, and FPGA heterogeneous execution with EngineCL”. J Supercomput 75, 1732–1746 (2019). https://doi.org/10.1007/s11227-019-02768-y

J. Bosch et al., «Application Acceleration on FPGAs with OmpSs@FPGA,» 2018 International Conference on Field-Programmable Technology (FPT), 2018, pp. 70-77, https://doi.org/10.1109/FPT.2018.00021

Raúl Nozal, Jose Luis Bosque, Ramon Beivide. “EngineCL: Usability and Performance in Heterogeneous Computing”, Future Generation Computer Systems, Volume 107, 2020. https://doi.org/10.1016/j.future.2020.02.016

Previous requirements

Computer Science and Computer Engineering students with a background in Computer Architecture and Programming Languages (mainly C++) should be enough.

Inscripción
Ver todos los cursos
Ver material