Conoce de la mano de expertos oneAPI

La solución para programadores de Intel

Este seminario ha finalizado, es una pena que no hayas podido asistir a este evento en directo y aprovechar las ventajas que este tiene.

Si deseas acceder a la grabación de este, solo tienes que llenar el siguiente formulario

Suscríbete, recibe informaciones y esto no volverá a sucederte.

¡Ver en Diferido Ahora!

Este formulario de contacto está desactivado porque rechazaste aceptar el servicio de Google reCaptcha, que es necesario para validar los mensajes enviados a través del formulario.

Una nueva era en la computación de alto rendimiento

Transición: De Parallel Studio XE a oneAPI

Parallel Studio XE ha permitido a los desarrolladores durante años codificar con las últimas técnicas de vectorización, subprocesamiento múltiple, paralelización y optimización de memoria de una forma simplificada.

Con oneAPI, Intel ahora amplía estas capacidades a múltiples plataformas añadiendo herramientas y tecnologías aún más avanzadas.

Revisaremos qué nuevos productos van a encontrar en oneAPI los usuarios de Parallel Studio XE con respecto a su herramienta actual, y el abanico de opciones disponibles para transitar de un producto a otro con importantes ventajas.

Cronología de los Talleres

Los Temas que trataremos

Sesiones

Taller #1 (FINALIZADO)

10 de diciembre 2020 – de 10h a 12:30h (CET)
Ponente: Carlos Garcia | Arquitectura de Computadores | Universidad Complutense de Madrid.

Introducción y Transición a oneAPI

En esta sesión se presentará el nuevo paradigma de programación unificado en múltiples arquitecturas conocido como oneAPI.

OneAPI engloba varias de las herramientas de desarrollo software en las que Intel viene trabajando en los últimos años. Entre las principales herramientas de desarrollo están los compiladores C/C++ y Fortran, herramientas de perfilado de aplicaciones, y librerías optimizadas. Destacamos la herramienta Data Parallel C++ (DPC++), la implementación comercial de la propuesta de SYCL que facilita la portabilidad de aplicaciones entre arquitecturas tan dispares como CPUs, GPUs, FPGAs.

En esta primera sesión se mostrará ejemplos de uso de DPC++ en el DevCloud de acceso gratuito mediante prácticas escritas en Jupyter Notebook.

Los códigos de Jupyter estarán disponibles para los asistentes que podrán replicar los ejercicios en el propio cloud (se recomienda solicitar una cuenta de acceso con anterioridad)

Taller #2 (FINALIZADO)

11 de diciembre 2020 – de 10h a 12:30h (CET)
Ponente: Carlos Garcia | Arquitectura de Computadores | Universidad Complutense de Madrid.

oneAPI practice

En esta segunda sesión se profundizará en las ventajas de uso de DPC++, así como algunas extensiones específicas de Intel sobre el estándar de SYCL.

Inicialmente, se abordarán aspectos relacionados con la descripción de paralelismo, y los diferentes niveles de paralelismo que se pueden describir con subgrupos. Además, se mostrará el uso de memoria unificada para mejorar aspectos relacionados con la compartición de datos cuyo rendimiento está especialmente mejorado en el cómputo heterogéneos de arquitecturas CPU y GPU. Como caso de uso de librerías optimizadas se escogerá la conocida MKL. Por último, se mostrarán casos de uso para los aspectos anteriores y se evaluarán con herramientas de perfilado disponibles en oneAPI. En esta segunda sesión los ejercicios se desarrollarán en el DevCloud.

Agenda

  1. Descripción de paralelismo  (30 min)
  2. Evaluación de paralelismo con Sub-Grupos (15 min)
  3. Memoria unificada en DPC++ (15 min)
  4. Herramientas de perfilado y evaluación de rendimiento (45 min)
  5. Uso librerías optimizadas: oneMKL (15 min)

Taller #3 (FINALIZADO)

15 de diciembre 2020 – de 10h a 12:30h (CET)
Ponente: Rafa Asenjo | Uno de los autores del libro: Pro TBB: C++ parallel programming with Threading Building Blocks | Universidad de Málaga

oneAPI como Plataforma de Desarrollo en FPGAs

En esta presentación de 2h aprenderás a usar FPGAs usando Intel oneAPI como plataforma de desarrollo. oneAPI incluye el lenguaje y el compilador DPC++, basado en SYCL y C++ moderno, permitiendo la ejecución de código en CPU, GPU y FPGA. Tras una pequeña introducción a oneAPI, nos centraremos en el uso de FPGAs, el flujo de desarrollo y las posibles optimizaciones que podemos implementar. Para la realización de las prácticas, los asistentes pueden usar una cuenta gratuita en la plataforma Intel DevCloud (se recomienda solicitar la cuenta con anterioridad).

Agenda:

  1. (20′) Introducción a oneAPI y a las FPGAs: Esta breve introducción servirá para nivelar los conocimientos de los asistentes que no hayan visto con anterioridad oneAPI o no estén familiarizados con las arquitecturas FPGA.
  2. (10′) Conexión a DevCloud y toma de contacto con las prácticas en Jupyter Notebook: En este primer tutorial breve nos conectaremos a DevCloud y ejecutaremos un primer programa heterogéneo en GPU. Aprovecharemos para lanzar a compilar un programa en FPGA aún sin conocer los detalles de lo que estamos lanzando. Las prácticas están guiadas mediante Jupyter Notebook.
  3. (25′) Modelo de ejecución, memoria y plataforma para FPGAs: Esta presentación profundiza en los aspectos del compilador DPC++ que debemos conocer para programar FPGAs, gestionar los datos que la FPGA procesa y conocer el flujo de compilación en FPGA con objeto de acelerar los tiempos de desarrollo.
  4. (10′) Descanso
  5. (25′) Optimización de código para FPGA: En esta última presentación nos centraremos en las técnicas habituales de optimización para FPGA, orientadas a mejorar el throughput así como a evitar problemas de localidad y de dependencias de datos.
  6. (30′) Prácticas de optimización en DevCloud: De nuevo con Jupyter Notebook proponemos un tutorial guiado, así como un par de ejercicios sencillos en los que se ponen en valor los conceptos teóricos explicados en las sesiones anteriores.

Taller #4 (FINALIZADO)

16 de diciembre 2020 – de 10h a 12:30h (CET)
Ponente: Ruymán Reyes Castro | Ingeniero de Software y Sistemas | Campo de la HPC | CTO de Codeplay Software Ltd.

Usando oneAPI en CUDA nativo

En este tutorial introducimos el trabajo realizado por Codeplay explicando cómo utilizar códigos basados en oneAPI en plataformas NVIDIA usando CUDA,
como si de cualquier aplicación nativa se tratase, junto con algunos consejos sobre cómo migrar aplicaciones de CUDA a SYCL.
El tutorial incluye una parte práctica con una serie de ejercicios en los que se demuestra cómo se puede interoperar con código nativo de CUDA desde oneAPI DPC++ y utilizar librerías como cuBLAS.

Los ejercicios y sus instrucciones están disponibles en abierto.
El tutorial será impartido por el Dr Ruymán Reyes Castro, CTO de Codeplay Software Ltd y uno de los primeros colaboradores en la especificación de SYCL, y responsable de diseño dos productos basados en SYCL y en oneAPI (ComputeCpp y DPC++ CUDA)

Agenda:

  1. Presentación del ponente y resumen del dia
  2. Presentación de oneAPI en CUDA, ventajas y características
  3. Orígenes de SYCL/oneAPI en CUDA e implementación
  4. (Descanso)
  5. Guía de uso, requerimientos y limitaciones
  6. Migración 360: De CUDA a SYCL en CUDA
    Interactuando con librerías nativas
  7. Conclusiones y líneas de trabajo futura
  8. (Descanso)
  9. Actividades prácticas

Taller #5 (FINALIZADO)

17 de diciembre 2020 – de 10h a 12:30h (CET)
Ponente: Carlos Garcia | Arquitectura de Computadores | Universidad Complutense de Madrid.

oneAPI Advanced

Portabilidad de aplicaciones de CUDA a oneAPI y uso de iGPUs.

En este módulo especializado se mostrará como poder portar de manera de automática un código descrito en CUDA a oneAPI con la herramienta dpct incluida en la suite de oneAPI. Además, se mostrará como poder hacer uso de los procesadores gráficos de Intel, mediante diferentes paradigmas de programación paralela y se evaluará su rendimiento con las herramientas de perfilado.

Agenda:

  1.  Portabilidad CUDA a oneAPI (45 min)
  2. Uso de iGPU: DPC++ (10 min)
  3. Uso de iGPU: offloading (20 min)
  4. Evaluación con herramientas de profiling (15 min)

Presentadores y Ponentes

Descubre los expertos que daran las charlas en los distintos talleres.

Jose García García trabaja en el sector desde 1987, y desde el año 2001 desempeña su labor en el área de desarrollo de negocio en Danysoft, el partner de referencia de Intel Software en la península ibérica. Intel Software desde el primer momento, hace 20 años aproximadamente, confió en Danysoft para desarrollar su canal de distribución en iberia, y durante este tiempo hemos aportado valor a las avanzadas tecnologías y productos de Intel.

Como Partner Elite de Intel hemos ayudado a los usuarios a profundizar en el uso de los compiladores de última generación, sus herramientas de perfilado y análisis, y un extenso rango de librerías avanzadas, mediante información de producto y técnica puesta a disposición de nuestros clientes a través de webs, revistas, boletines, vídeos y, especialmente, la organización de eventos con ponentes nacionales e internacionales de primera línea.

Rafael Asenjo es Catedrático del Departamento de Arquitectura de Computadores de la Universidad de Málaga. Tras varias estancias en EEUU (UIUC en Illinois, IBM en NY y Cray en Seattle) donde trabajó en compiladores y modelos de programación paralelos, empezó a investigar en optimización de aplicaciones para CPU+GPU en 2013, y para CPU+FPGA en 2015 durante una estancia en la Universidad de Bristol. Junto con James Reinders y Michael Voss, en 2019 publica un libro sobre Intel TBB, tecnología que lleva usando de hace 10 años para proponer alternativas productivas con las que programar plataformas con CPU, GPU y FPGA. Sus intereses de investigación incluyen modelos de programación, planificación para arquitecturas heterogéneas, programación paralela y arquitecturas multiprocesador.

Ingeniero de Software y Sistemas con experiencia en investigación y desarrollo en el campo de la Computación de Alto Rendimiento. Me encanta resolver problemas desafiantes, especialmente relacionados con el rendimiento y la escalabilidad. Buen jugador en equipo, con capacidad de liderazgo y experiencia en planificación y colaboración en equipo. Capacidad para aprender nuevas tecnologías / lenguajes de programación de forma rápida y eficaz. Estar dispuesto a encontrar una oportunidad de trabajo para resolver problemas desafiantes mientras juega en equipo es un requisito. Especialidades: Computación de alto rendimiento, Investigación, C / C ++, Compiladores, GPU, Linux, Python, CUDA, OpenCL, TotalView.

Carlos García recibió su licenciatura y maestría en física en 1999 y su doctorado. Licenciada en 2007, ambas por la Universidad Complutense de Madrid (UCM), España. Es profesor asociado en el Departamento de Arquitectura de Computadores de la UCM desde 2019. Sus intereses de investigación incluyen la computación de alto rendimiento para arquitectura paralela heterogénea, enfocándose en la explotación paralela eficiente en dispositivos modernos como multinúcleo, muchos núcleos, GPU y FPGA.

Miembro de varios proyectos de investigación nacionales competitivos conocidos como CICYT desde 2000, y parte de la red europea HIPEAC. Miembro y responsable de varios proyectos vinculados con la empresa, cuyos resultados más relevantes son algún software productivo para predecir y evitar inundaciones de ríos. En cuanto a publicaciones, es el primer y segundo autor de varios artículos en revistas y congresos internacionales de relevancia. Autor de más de 25 publicaciones de JCR y varios artículos de conferencias. También ha sido editor de dos números especiales en revistas indexadas.

Centrándose en su tarea docente, ha impartido principalmente materias de «Sistemas Operativos», «Introducción a la Arquitectura de Computadores», «GPUs y programación de aceleradores» y «Computación de Alto Rendimiento» en los planes de estudios de grado y máster.

Valor Añadido

Al final de cada sesión sortearemos entre los asistentes una Neural Compute Stick 2.

Detalles del Evento

Modalidad:

Online, solo necesitas una conexión a Internet para seguirlo.

Horario

Todos los días de 10:00h a 12:30h (CET)

Sin Coste

El registro, la participación  y los materiales serán totalmente gratuitos.

Más información

Ayúdanos con este formulario a facilitarte la información que necesitas.

Este formulario de contacto está desactivado porque rechazaste aceptar el servicio de Google reCaptcha, que es necesario para validar los mensajes enviados a través del formulario.
0 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
¡Siéntete libre de contribuir!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *