Eventos

Escola SDumont


A escola tem como objetivo prover minicursos sobre modelos de programação e ferramentas de perfilagem para o desenvolvimento de algoritmos paralelos otimizados para pesquisadores de todas as "Áreas". A escola apresenta conceitos, ferramentas, linguagens e técnicas de programação paralela para que o usuário venha à utilizar os recursos computacionais do SDumont e recursos de Computação de Alto Desempenho em geral de forma mais eficiente e consequentemente, obter menor tempo de execução nas suas aplicações. Materiais sobre Computação de Alto Desempenho podem ser encontrados aqui

Ano Alunos
2022 997
2021 3923
2020 345
2019 333
2018 301
2017 285

Computational Chemistry as Strategical Tool for the Development of Functional Materials


Nas últimas décadas, a Química Computacional evoluiu como uma disciplina fundamental para o entendimento das propriedades dos materiais, seja do ponto de vista atomístico ou contínuo. Na física e na química modernas, essas visões são reconciliadas por meio de uma descrição do continuum como médias locais de propriedades microscópicas em uma grande região. Atualmente, existem metodologias bem estabelecidas para ambas as abordagens e um amplo espectro de procedimentos para simulação computacional de sistemas moleculares ou de matéria condensada está disponível.

Simulações clássicas ou quânticas de sistemas moleculares são implementadas em métodos de Monte Carlo (MC) ou Dinâmica Quântica Molecular (MD), enquanto simulações do continuum são implementadas em Dinâmica de Fluidos Computacional (CFD). Nesse cenário, a simulação multiescala surgiu como um novo paradigma teórico e computacional nas ciências dos materiais. Da mecânica quântica (QM) à mecânica molecular (MM), com métodos QM/MM e dinâmica molecular de equilíbrio (EMD) e não-equilíbrio (NEMD), a abordagem híbrida atomística-contínua como modelagem multiescala pode ser uma técnica computacional poderosa para ter um compreensão profunda dos materiais do ponto de vista microscópico. Para esclarecer os materiais aplicados na captura e separação de gases,

Para melhorar nossas chances de obter sucesso no projeto de novos materiais, são necessários experimentos e modelagem molecular ou simulações de computador. Uma combinação de abordagens experimentais e teóricas para estudar sistemas moleculares e estendidos é o procedimento que teve sucesso no projeto de novos materiais funcionais.

Período do curso: 22 - 25 de Novembro de 2021
Número de alunos: 20

Mais informações: http://compchem.uff.br/

Scaling to Petascale Institute 2019


Estão abertas as inscrições para o evento Scaling to Petascale Institute 2019, que irá ocorrer entre 19 e 23 de agosto de 2019, oferecendo cursos sobre desenvolvimento de software para ambientes de computação "Petaflops" tais como o SDumont.

Os participantes poderão assistir os cursos em um dos "Host Sites" que irão oferecer assistência técnica ou via YOUTUBE. Mais informações no site: https://bluewaters.ncsa.illinois.edu/petascale-computing-2019

Cursos de Graduação

Ensino de Computação de Alto Desempenho - HPC - na graduação do curso de Sistemas de Informação

O fator inovador do presente projeto consiste na disseminação da computação de Alto desempenho - HPC - para alunos de graduação em Sistemas de Informação e cursos afins. Espera-se com a iniciativa despertar o interesse de estudantes para esta área. O amadurecimento do ensino desta disciplina gerará novos projetos de Iniciação Científica, despertará o interesse de diversos cursos de extensão em replicar a disciplina nos mesmos e também em cursos de pós-graduação strictu sensu e lato sensu na região. É esperado também que haja a criação de projetos para empresas focadas em tecnologia que poderão ter interesse em usar HPC para seus projetos de Inteligência Artificial e Sistemas de Apoio a Decisão como, por exemplo, os que usam Otimização Combinatória.

Ano-Semestre Período Alunos
2022-1 Início em Março 15
2021-2 2 de Agosto a 6 e Dezembro 16
2021-1 2 de Fevereiro a 30 de Junho 16
2020-2 3 de Agosto a 4 de Dezembro 12
2019-2 29 de Julho a 06 de Dezembro 20

Disciplina PEX1272 - PROGRAMAÇÃO CONCORRENTE E DISTRIBUÍDA

Este projeto com fins educacionais visa prover recursos para realização de atividades práticas com alunos da disciplina PEX1272

A ementa da disciplina PEX1272 contempla os seguintes conteúdos:


  • Redes de Petri: definições, elementos básicos, regras de funcionamento e padrões básicos;
  • Sistemas concorrentes e distribuídos: definições, caracterização e classificação;
  • Programação concorrente: definições, primitivas básicas, condições de corrida, exclusão mútua, sincronização, comunicação por memória compartilhada, deadlocks, starvation, multex, semáforos, monitores e programação multiprocesso/multithreads;
  • Programação distribuída: paradigma cliente-servidor, programação distribuída por troca de mensagem, sincronização de aplicações distribuídas, chamada de procedimentos remotos, objetos e serviços distribuídos.
  • Programação em GPU
  • Uso de Supercomputador


Ano-Semestre Período Alunos
2022-2 16 de Janeiro de 2023 a 20 de Maio de 2023 2

Cursos de Pós-graduação

Introdução a Arquiteturas e Algoritmos Paralelos

O Mestrado Acadêmico em Ciência da Computação (PPGComp) é um Programa de Pós-Graduação stricto sensu em Ciência da Computação aprovado pela CAPES em 2018, com início das atividades em 2019. Uma das áreas de pesquisa do PPGComp é Sistemas de Computação, linha que reúne temas relacionados à sistemas de computação, com ênfase em arquitetura de computadores, redes de computadores e sistemas distribuídos, processamento de alto desempenho, computação em nuvem, sistemas embarcados e Internet das Coisas. Dentro dessa área, será ministrada no ano de 2021 a disciplina de "Introdução a Arquiteturas e Algoritmos Paralelos", com carga horária de 60 horas (4 créditos). Terá início no dia 26/07/2021 e finalizará em 18/12/2021.
O objetivo da disciplina é capacitar o acadêmico com os conhecimentos sobre as principais questões envolvidas no desenvolvimento de programas paralelos, e introduzir os principais modelos de programação paralela para arquiteturas de memória compartilhada, memória distribuída e GPUs.
O conteúdo programático contempla os seguintes tópicos:

Parte I: Introdução à Arquiteturas Paralelas

1. Introdução e Conceitos básicos
2. Arquiteturas de memória compartilhada
3. Arquiteturas de memória distribuída
4. Arquiteturas Vetoriais e GPUs

Parte II: Introdução à Programação Paralela

1. Métricas de desempenho para programas paralelos
2. Projeto de Programas Paralelos

Parte III: Modelos de Programação Paralela

1. Programação em memória compartilhada: OpenMP
2. Programação em memória distribuída: MPI
3. Programação em GPUs: CUDA/OpenACC

Especificamente na Parte III da disciplina, faz-se necessário o uso de arquiteturas paralelas para a execução das aplicações desenvolvidas. Nesse sentido, o uso do sistema de computação Santos Dumont enriqueceria muito a experiência dos acadêmicos, uma vez que poderiam realizar as atividades em uma arquitetura de alto desempenho real, que não temos disponível em nossa instituição.
Se o uso for aprovado, incluiremos tópicos de uso de sistemas de submissão de tarefas e noções de boas práticas de programação em arquiteturas paralelas.

Ano-Semestre Período Alunos
2021-2 26 de Julho a 18 de Dezembro 3

Ensino de Inteligência Artificial na Pós-Graduação com enfoque multidisciplinar para as áreas biológicas, agrárias e exatas

A Universidade Federal de Viçosa tem 11 programas de Pós-Graduação nos níveis 6 e 7 na CAPES e 10 programas no nível 5 nas áreas de biologia, ciências agrárias e exatas, sendo reconhecida na área no cenário nacional e internacional. Este projeto propõe uma disciplina de Inteligência Artificial e Aprendizado de Máquina voltada para aplicações nas áreas de biologia, exatas e ciências agrárias, que possuem em torno de 2700 alunos matriculados no nível de mestrado e doutorado. A revolução da Inteligência Artificial na última década despertou o interesse dos pesquisadores da UFV, com uma demanda crescente de projetos, tema da semana da Ciência em 2020. Podemos citar algumas iniciativas de grupos de pesquisadores com o Instituto de Análise e prospecção de Dados e Metadados (IDATA) e submissões em editais Institucionais na área de IA. A disciplina proposta propõe a difusão do uso de IA, capacitação para formar equipes multidisciplinares que possam dialogar de forma objetiva, unindo o conhecimento e os dados de diversas linhas de pesquisa de programa de excelência (níveis 5, 6 e 7). Além de mostrar as técnicas atuais para exploração dos dados experimentais, o projeto visa destacar a importância de investimentos na área da computação de alto desempenho. O uso de um supercomputador buscará incentivar o grupo de pesquisadores a investir no setor com submissão de projetos para melhorar a infraestrutura da UFV e dos centros de pesquisas nacionais que oferecem estes serviços. Nesta primeira fase, a disciplina será abordada na forma de tópicos em três partes. Primeiro, nivelar conhecimentos de programação para uso de IA. A segunda parte irá mostrar as técnicas de aprendizado supervisionado e não supervisionado e os avanços dos últimos cinco anos e a necessidade de investimento na computação de alto desempenho. Na terceira fase, o foco inicial será em treinamento de redes neurais com uso dos recursos do Santos Dumont e redes convolucionais. As vagas serão limitadas em 50 alunos, sendo as duas primeiras partes de nivelamento em programação e IA poderão ter até 100 va

Ano-Semestre Período Alunos
2021-1 - 30

Desenvolvimento de projetos das disciplinas HPC1 e 2 em um ambiente de supercomputacão

AO Brasil possui uma carência de profissionais especializados na área de computacão de alto desempenho com formacão voltada a modelagem matemática/física de problemas. Diante do referido contexto a Universidade Federal Fluminense criou em 2010 os curso de Física e Matemática computacional. Os cursos possuem cerca de 12 disciplinas voltadas a computacão, onde podemos destacar métodos numéricos I e II, estrutura de dados e computacão de alto desempenho I e II. Com a atual estrutura do curso e a demanda crescente de alunos, principalmente no presente semestre, estamos com dificuldade em aplicar o conhecimento apresentado aos alunos com o atual recurso computacional. Temos cerca de 30 alunos das duas disciplinas e um cluster com 80 cores (core i7) e uma workstation opteron amd de 48 cores (emprestada por um professor) para os alunos fazerem as tarefas. As disciplinas possuem um projeto final, onde os estudantes programam um problema físico, como por exemplo uma EDP, dinâmica molecular ou um método de monte carlo, e posteriormente os mesmos paralelizam com as API's openMP (HPC 1) e mpi/cuda em HPC 2. A formacão desses estudantes pode impactar em diferentes grupos de pesquisas, onde em muitos casos não possuem estudantes com tal perfil. Além disso as disciplinas podem servir de motivacão para os estudantes seguirem a carreira profissional/acadêmica na referida área. Para maiores detalhes, seguem as ementas dos cursos:

HPC1

1) Tópicos avançados no Sistema Linux; Particionamento, Instalação e gerenciamento; Shell do Linux e linha de comando; utilitários do linux: cut, paste, sed, grep, vi; introdução a programação em shell;
2) Arquitetura e Função da CPU = registro, memórias cache (suporte para tec.otimização cod. seriais);
3) Técnicas de Otimização de códigos seriais; otimizações numéricas feitas por um compilador;
4) Aplicação: EDP 2D e Método de Monte Carlo;
5) Arquitetura de memória; memória compartilhada, memória distribuída, sistema híbrido;
6) Programação em Paralelo com openmp; programa, Particionamento, Comunicação, Sincronismo,Dependência de dados;
7) Aplicação: cálculo de Pi, paralelização de EDP 2D.

HPC2

1) PROGRAMAÇÃO PARA GPU;
2) PROGRAMAÇÃO EM MPI;
3) BALANÇO DE CARGA, GRANULAÇÃO, ENTRADA/SAÍDA, LIMITES E CUSTO DA PROGRAMAÇÃO EM PARALELO, ANÁLISE DE DESEMPENHO E AJUSTES FINOS;
4) APLICAÇÕES: ELETROSTÁTICA E A EQUAÇÃO DE LAPLACE, CONDUÇÃO TÉRMICA E A EQUAÇÃO DO CALOR, OUTROS PROBLEMAS PARALELIZADOS;
5) MONTAGEM, CONFIGURAÇÃO DE UM CLUSTER BEOWULF.

Alunos
Ano-Semestre HPC 1 HPC 2
2022-2 24 15
2021-1 25 11
2020-2 26 5

Curso GB-100: Programação Paralela

Programa de Pós-Graduação em Modelagem Computacional - Laboratório Nacional de Computação Científica

Professores: Carla Osthoff, Roberto Souto, Luiz Manoel Gadelha

Objetivos:

Apresentação de arquiteturas computacionais paralelas; obtenção de perfil de desempenho computacional de um código; apresentação de conceitos básicos de processamento paralelo; escolha de estratégia de paralelismo; portar um código serial para código paralelo utilizando diferentes estratégias de paralelismo; metodologia de avaliação de desempenho computacional de um código.

Metodologia:

apresentação detalhada, com exemplos, de modelos de programação paralela abrangendo arquiteturas computacionais distribuídas, multi-core, many-core, pgas e paralelismo em workflows. Exercícios práticos para cada modelo de programação estudado, incluindo o uso do sdumont e de plataformas de programação paralela que implementam os algoritmos ensinados.

Ementa:

Programação sequencial e programação paralela; métricas de desempenho paralelo: speed-up, eficiência, lei de amdhal, escalabilidade; máquinas paralelas de memória distribuída: biblioteca de passagem de mensagens mpi, máquinas paralelas de memória compartilhada: arquiteturas de processadores paralelos multi-core e many-core, hierarquia de memória, conceito de threads, biblioteca openmp, programação em gpu e perfiladores; estudos de caso com aplicações em diversas áreas de computação científica, pgas e paralelismo em workflows.

Ano-Semestre Período Alunos
2022-2 19 de Setembro a 09 de Dezembro 9
2021-1 08 de Março a 31 de Maio 11
2020-1 09 de Março a 29 de Maio 8
2019-2 02 de Setembro a 12 de Dezembro 4

CAP-387: Tópicos Especiais em Computação Aplicada Construção de Aplicações para Sistemas Massivamente Paralelos

Programa de Pós-Graduação em Computação Aplicada - Instituto Nacional de Pesquisas Espaciais

Professores: Celso Luiz Mendes; Stephan Stephany
Início: 09/2016
Fim: 12/2016
Detalhes: http://www.lac.inpe.br/~celso/cap387-2016

Descrição:
O principal objetivo deste curso é familiarizar os alunos no processo de projeto e construção de aplicações científicas para execução em sistemas massivamente paralelos, incluindo análise de desempenho das aplicações, causas de fraco desempenho e pouca escalabilidade com o aumento do número de processadores, e impactos do algoritmo e do paradigma de programação paralela escolhidos sobre o desempenho observado das aplicações. O curso cobre sistemas com processadores multi-core e many-core, programação paralela em ambientes de memória compartilhada e distribuída, redes de interconexão de alta velocidade, Entrada/Saída paralela, e técnicas básicas de programação com tolerância a falhas.

Ano-Semestre Período Alunos
2016-2 - 3

CE265: Processamento Paralelo

Programa de Pós-Graduação em Engenharia Eletrônica e Computação - Instituto Tecnológico de Aeronáutica

Descrição:
O curso cobre aspectos teóricos, pesquisas atuais e formas de programação paralela utilizando OpenMP, MPI e CUDA. Contém 12 exercícios práticos, que paralelizam programas sequenciais para a arquitetura desejada na linguagem ministrada. O curso utiliza o Santos Dumont para realizar todos os exercícios, preparando os alunos para utilizar o Santos Dumont em suas pesquisas. O Santos Dumont é particularmente atrativo por possuir nós SMP sem aceleradores, nós acelerados por GPGPU e nós acelerados por Xeon Phi, fornecendo em uma única máquina todas as arquiteturas utilizadas nos exercícios, todas as linguagens de programação paralela ministradas e diversas ferramentas de avaliação de desempenho. O curso prepara os alunos para realizar pesquisas em Processamento Paralelo e também para utilizar Processamento Paralelo em pesquisas nos diversos ramos da Engenharia. Ao longo dos anos a audiência contempla alunos das Engenharias Mecânica, Aeronáutica, Eletrônica e da Ciência da Computação. Trata-se de forma relevante de preparar os alunos do ITA para utilizarem adequadamente a máquina.

Ano Alunos
2020 21
2018 15
2017 20