Introdução ao OpenMP com Fortran

Course/Event Essentials

Event/Course Start
Event/Course End
Event/Course Format
Online
Live (synchronous)

Venue Information

Country: Portugal
Venue Details: Click here

Training Content and Scope

Scientific Domain
Technical Domain
Level of Instruction
Beginner
Intermediate
Sector of the Target Audience
Research and Academia
Industry
HPC Profile of Target Audience
Application Users
Application Developers
Data Scientists
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 OpenMP. Os participantes aprenderão os conceitos fundamentais da computação paralela, como configurar o ambiente de desenvolvimento e escrever programas eficientes utilizando Fortran e OpenMP.

Programa

Módulo 1: Introdução à Computação Paralela e Configuração do Ambiente (2 horas) 

  • Apresentação do curso e dos objetivos
  • Conceitos básicos de programação em Fortran
  • História e evolução da computação paralela
  • Introdução à computação paralela
  • Configuração do ambiente de desenvolvimento
  • Instalação e configuração do OpenMP
  • Exercícios práticos e discussão em grupo
  • Fazer o Hello World do OpenMP que será explicado melhor no próximo módulo 

Módulo 2: Fundamentos do OpenMP e Memória Partilhada (2 horas) 

  • O que é OpenMP? 
  • História do OpenMP 
  • Por que OpenMP? 
  • O que é Memória Partilhada? 
  • Vantagens da Memória Partilhada 
  • Desafios da Memória Partilhada 
  • Componentes de um Programa OpenMP 
  • Diretivas OpenMP 
  • Estrutura de um Programa OpenMP 
  • Paralelizando Loops 
  • Desafios Comuns do OpenMP
  • Boas Práticas 
  • Lista de Exercícios práticos e discussão em grupo 

Módulo 3: Sincronização e Gerenciamento de Variáveis em OpenMP (2 horas) 

  • Sincronização de Threads 
  • Exemplo Prático: Sincronização 
  • Variáveis Privadas e Compartilhadas 
  • Exemplo Prático: Variáveis Privadas
  • Gerenciamento de Threads
  • Exemplo Prático: Escalonamento 
  • Lista de Exercícios práticos e discussão em grupo

Módulo 4: Tópicos Avançados em OpenMP (2 horas) 

  • Redução de Dados 
  • Exemplo Prático: Redução de Dados 
  • Secções e Tarefas
  • Exemplo Prático: Secções
  • Exemplo Prático: Tarefas
  • Funções de Runtime do OpenMP
  • Lista de Exercícios práticos e discussão em grupo

Módulo 5: Aplicação Prática - Problemas Simples de Computação Paralela (2 horas) 

  • Introdução a problemas simples que podem beneficiar da computação paralela.
  • Implementação passo a passo de algoritmos simples, como ordenação paralela ou busca em paralelo, utilizando OpenMP. 
  • Discussão dos resultados e comparação com implementações series. 
  • Lista de Exercícios práticos e discussão em grupo, focando em problemas que os formandos possam encontrar em suas atividades diárias. 

Módulo 6: Projeto Final e Avaliação (2 horas) 

  • Revisão detalhada dos conceitos aprendidos em cada módulo. 
  • Apresentação de um problema real que possa ser resolvido com OpenMP, como otimização de um algoritmo existente ou paralelização de uma tarefa computacional comum. 
  • Orientações para o desenvolvimento do projeto final, incluindo critérios de avaliação e expectativas. 
  • Tempo dedicado para o início do projeto final, com suporte do instrutor.