XI Seminario de Invierno CAPAP-H, Barcelona, 6 y 7 de febrero de 2020

En nombre del comité de organización local de la Universitat Autònoma de Barcelona, es un placer anunciaros oficialmente la XI edición del Seminario de Invierno CAPAP-H, que se celebrará en Barcelona los días 6 de febrero (jueves) y 7 de febrero (viernes) de 2020.

En esta página iremos publicando los detalles actualizados del evento.

Computación reconfigurable, FPGAs y aceleradores no convencionales

 

Fotos:

Enlace a las fotos del evento

Logística:

  • Cafés, comidas y cena incluídas en la inscripción, gracias a los patrocinadores.
  • Alojamiento recomendado (En principio a pagar por cada asistente, aunque se podrán ofertar algunas ayudas con cargo a los patrocinadores):
    Hotel Exe Campus, Vila Universitaria – Campus UAB Edificio Blanc 08193 Cerdanyola del Vallès, Barcelona. Teléfono: 932087108 (el teléfono es de una central de la cadena, solicitar hablar con el hotel Exe Campus)
    • Precio: Por habitación y noche (alojamiento y desayuno, impuestos incluídos): Individual: 65€, Doble: 74€
    • Reserva: Contactar con el hotel y utilizar como clave CAPAP-H. Habitaciones bloqueadas hasta el 31 de diciembre de 2019
  • Lugar de celebración: Escola d’Enginyeria – UAB (Punto de encuentro Aula Q4.1003)

Patrocinadores

Logo Intel-Danysoft

Logo BIB Escuelas Universitarias Gimbernat

SIGMA CAOS

Grupo HPCS4 EAS Logo Escola Enginyeria UAB

Actividades

Jueves 6 de febrero 2020

Mañana

  • 8:45 – 9:15 Registro
  • 9:15 – 9:30 Bienvenida
  • 9:30 – 10:00 Introducción a la computación reconfigurable
    • Rafael Asenjo (Universidad de Málaga)
  • 10:00 – 10:30 Pausa café Escola d’Enginyeria
  • 10:30 – 11:15 Sesión compartida con la red RISC-V
    • RISC-V y hardware abierto: una oportunidad y un reto para la UE, Mateo Valero (BSC)
  • 11:15 – 12:00 Sesión compartida con la red RISC-V
    • Array de núcleos RISC-V como aceleradores de un host: modelo computacional y su explotación, Carlos Álvarez (BSC)
  • 12:00 – 12:45 Ponencias de grupos de la red CAPAP-H
    • Arquitecturas para retos complejos en Bioinformatica. Ana Ripoll. Universitat Autònoma de Barcelona.
    • Are the MPSoC the new systems for Heterogeneous computing?, Jose Antonio Belloch Rodriguez, Universidad Carlos III de Madrid
    • Revisión y optimización de circuitos cuánticos. Francisco José Orts Gómez, Universidad de Almería
  • 12:45 Salida en dirección a la Facultat de Lletres
  • 13:00 – 14:30 Comida en la Facultat de Lletres

Tarde

  • 14:30 – 15:00 Reunión de CAPAP-H: Futuro y estrategias de continuidad
  • 15:00 – 15:45 Ponencias de grupos de la red CAPAP-H
    • Usando Intel oneAPI para mejorar la productividad de la programación heterogénea. José Carlos Romero, Felipe Muñoz, Rafael Asenjo, Universidad de Málaga
    • EngineCL: usabilidad y rendimiento en computación heterogénea. José Luis Bosque, Universidad de Cantabria
    • Técnicas HPC para la optimización de planes de Radioterapia de Intensidad Modulada. Juan José Moreno Riado, Universidad de Almería.
  • 15:45 – 16:15 Pausa café Escola d’Enginyeria
  • 16:15 – 17:30 Demo: Herramientas de desarrollo de Intel para FPGAs
  • 17:30: Traslado al hotel en autocar
  • 18:30 Salida desde el hotel en autocar hacia Sant Cugat
  • 19:00 – 20:00 Acto social: Visita guiada en el Claustre del Monestir de Sant Cugat
  • 21:00 Cena en Restaurante en Sant Cugat

Demo: Herramientas de desarrollo de Intel para FPGAs

Impartido por: Carlos García Sánchez (UCM, colaborador Danysoft/Intel)

Descarga del material del curso

Intel ha creado oneAPI con que el que pretende unificar la programación paralela de gran parte de los dispositivos HW. En la actualidad existe una versión beta de la distribución disponible para los desarrolladores que puede ser descargada o bien testeada a través del recurso DevCloud.

Durante este taller se presentará el lenguaje Data Parallel C++ (DPC++) que permite la compatibilidad en varias arquitecturas. El DPC++ está basado inicialmente en SYCL y soporta paralelismo de datos y programación heterogénea.

Se presentará el uso del DPC++ con las FPGAs, concretamente haciendo uso del modelo basado en paralelismo en tareas y pipeline. Para ello se tomará como ejemplo la Transformada de Hough empleada en visión artificial para localizar figuras geométricas como rectas o circunferencias. Con el fin de clarificar el flujo de uso de esta herramienta, se mostrará un análisis de la compilación en modo emulación para determinar posibles cuellos de botella y aplicando técnicas habituales de optimización en FPGAs como el uso de memoria local y desenrollado de bucles.

Viernes 7 de febrero 2020

Mañana

  • 9:30 – 10:00 Presentación Seminario Técnico FPGA
  • 10:00 – 11:30 Seminario Técnico
  • 11:30 – 12:00 Pausa café Escola d’Enginyeria
  • 12:00 – 13:45 Seminario Técnico
  • 13:45 Salida a la Facultat de Lletres
  • 14:00 Comida en la Facultat de Lletres

Seminario técnico: Programación y síntesis de alto nivel en FPGAs

Impartido por: David Castells Rufas (Grupo CEPHIS, Universitat Autònoma de Barcelona)

Descarga del material del curso

En este tutorial práctico vamos a ver cómo crear soluciones de altas prestaciones en FPGAs utilizando OpenCL. Primero daremos un breve repaso a las herramientas de diseño clásicas para FPGAs y haremos algunos pequeños diseños para entender el proceso de síntesis, verificación y ejecución. Después vamos a crear diseños a partir de las herramientas basadas en OpenCL. Crearemos varios kernels y analizaremos sus características mediante las herramientas proporcionadas por los fabricantes. Analizaremos el uso de recursos de la FPGA y el rendimiento obtenido. Presentaremos las múltiples opciones que tenemos para intentar maximizar el rendimiento y reducir el consumo de recursos. Veremos algunas de las directivas que podemos utilizar para modificar el comportamiento del compilador para hacer unrolling de loops, controlar las unidades de cómputo creadas y modificar las características de la memoria. Practicaremos la creación de múltiples kernels y la comunicación entre ellos a partir de canales directos. Veremos cómo comunicarnos con bloques de hardware desarrollados mediante lenguajes clásicos de desarrollo hardware.