11–29 Nov 2024 ONLINE
Porto & Évora, Portugal
Europe/Lisbon timezone

Programa

Sessão 1: Introdução à Computação Paralela e Configuração do Ambiente (11 Novembro)

  • Visão geral do SYCL: Um modelo de programação C++ de alto nível para plataformas heterogéneas.
  • Pequena introdução ao C++
  • Configuração do Ambiente de programação

Sessão 2: Descoberta de Dispositivos no SYCL (15 Novembro)

  • Consulta de informações sobre dispositivos usando get_info
  • Utilização de seletores de dispositivos padrão e personalizados
  • Técnicas de descoberta de dispositivos para portabilidade de código
  • Utilização de aspectos para consultar características dos dispositivos

Sessão 3: Filas, Grupos de Comando e Kernels (18 Novembro)

  • Organização do trabalho em aplicações SYCL
  • Compreensão de filas, grupos de comando e gráficos de tarefas
  • Ações: Single task, parallel for, parallel for work group
  • Operações de memória: copy, update host, fill
  • Sincronização e dependências com eventos e wait()

Sessão 4: Gestão de Dados com Buffers, Acessores e Memória Partilhada Unificada no SYCL (22 Novembro)

  • Buffers: Criação, inicialização e gestão de ciclo de vida
  • Acessors: Acessar dados dos buffers em kernels
  • Movimento de dados implícito e explícito entre host e dispositivo
  • Acessors de host para dados de buffers
  • Memória Partilhada Unificada (USM): Gestão de memória baseada em ponteiros
  • Comparação entre o modelo de buffer-acessor e USM

Sessão 5: Expressão de Paralelismo com SYCL: Kernels Básicos de Dados-Paralelos (25 Novembro)

  • Compreensão de conceito de work-items, work-groups e ND-ranges
  • Kernels básicos: parallel for
  • Kernels: ND-range
  • Multiplicação de matrizes: Abordagem básica e otimizada

Sessão 6: Projeto Final (29 Novembro)

  • Desenvolvimento de um projeto final em grupo.