Course/Event Essentials
Event/Course Start
Event/Course End
Event/Course Format
Online
Live (synchronous)
Primary Event/Course URL
Training Content and Scope
Scientific Domain
Technical Domain
Level of Instruction
Beginner
Sector of the Target Audience
Research and Academia
HPC Profile of Target Audience
Application Users
Application Developers
Language of Instruction
Other Information
Supporting Project(s)
EuroCC2/CASTIEL2
Event/Course Description
Sobre o curso
Este curso proporciona uma introdução à computação paralela e ao SYCL. Os participantes aprenderão os conceitos fundamentais da computação paralela, como configurar o ambiente de desenvolvimento e escrever programas eficientes utilizando SYCL.
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.