Realização:

Programação

Programação do evento 

Sujeita a alterações

Palestras convidadas:


Palestra Convidada I - Título: Smart Memories Flavors for Post-Von Neumann Architecture 

Palestrante: Marco A. Zanatta Alves (UFPR)


Resumo/Abstract

Near-Data Processing (NDP) proposals date back to the 1970s, but only in the 2010s could we observe an increase in papers addressing NDP. It occurred with the appearance of 3D and 2.5D stacked chips using Through-Silicon Via (TSV) with logic and memory stacked layers. Such proposals alleviate the memory bottleneck by moving instructions to data whereabouts extending the von Neumann concept. This talk presents a brief history of these accelerators, presenting a taxonomy to classify architectural proposals according to their data distance. An overview of application domains already migrated to this new concept will also be discussed.



Palestra Convidada II - Título: "Artificial Intelligence with HPC support"

Palestrante: Claude Tadonki - Ecole de Mines de Paris


Resumo/Abstract

Artificial Intelligence (AI) has became a topic of extreme importance, both from the industrial and the research sides. Computers and so-called intelligent devices are now pervasive in our daily life and technical tasks. Basically, Artificial Intelligence aims at enabling computers to perform such intellectual tasks as decision making, problem solving, perception/identification, «understanding» human communication, modelling human behaviour so as to be able to predict his needs and actions, and the like. I would define (pure) intelligence as the ability to mentally get into something you never learned. The fundamental difference with AI is the non determinism of the first and the determinism of the second, even if its is schematically perceived as a way to mimic the human brain by means of computer programs. A reference illustration of this duality is the blind test suggested by Alan Turing in 1950: if an observer fails in identifying the computer from its interaction with a human in a given delay, then the machine has succeeded. Current and future expectations from AI are very challenging, and significant advances has been made in the topic. Powerful AI methods (e.g., Deep Learning) and  large-scale datasets (e.g., massive networks) processing are computationally expensive, hence the need for high performance computing. This talk will illustrate the fact and provide some technical insights related to high performance AI.



Palestra Convidada III - Título: “MONAN: Um novo paradigma de foco e organização para o avanço da previsão numérica de tempo, clima e ambiente no Brasil” 

Palestrante: Saulo R. Freitas (INPE)


Resumo:

Prever o clima em diversas escalas é um dos maiores desafios técnico-científicos enfrentados pela humanidade. As principais razões das dificuldades residem principalmente na intrínseca natureza caótica da atmosfera e suas interfaces, o sistema de equações diferenciais que governa a dinâmica da atmosfera não admite solução analítica (requer solução aproximada em supercomputadores) e impraticabilidade de caracterizar o estado da atmosfera e suas interfaces com exatidão. No entanto, com investimento e muita pesquisa, diversos centros internacionais vem avançando na qualidade da previsão numérica da atmosfera aumentando sua acurácia, prazos de previsibilidade e usabilidade. Neste seminário, será discutido os elementos básicos da previsão numérica de tempo e desafios atuais para o seu contínuo aprimoramento. Se dará ênfase na apresentação do programa MONAN (Model for Ocean-Land- Atmosphere Prediction). O MONAN é um programa nacional comunitário capitaneado pelo INPE que propõe um novo paradigma de modelagem do Sistema Terrestre para colocar o país no estado-da-arte em previsão de tempo, clima e ambiente. 


Sessão Técnica I (trabalhos em nível de pós-graduação)

Improving Performance and Energy Efficiency of the Classification of Data Streams on Edge Computing

Reginaldo Junior, Hermes Senger, Guilherme Cassales 

*Melhor artigo de pós-graduação



Escalonamento de workflows científicos ciente de energia verde em servidores distribuídos

Guilherme Almeida, Marcelo Torres do Ó, Daniel Cordeiro, Emilio Francesquini


Gestão de Recursos para Computação em Nuvem usando Escolha Social Computacional

Felipe Furquim, Daniel Cordeiro


Integração de Simuladores no Contexto Militar: Análise da Viabilidade de um RTI de Código Aberto

Joao Oliveira Rosa, Alvaro Fazenda


An Initial Performance Analysis of Persistent Memory Allocators

Catalina Munoz Morales, Bruno Honorio, Lucas Spagnol, Emilio Francesquini, Alexandro Baldassin



Sessão Técnica II (trabalhos em nível de graduação)

Integrating CUDA memory management mechanisms for domain decomposition of an acoustic wave kernel implemented in OpenMP

Yuri Freire, Hermes Senger


Simplifying HPC Application Development with OpenMP Cluster and Unified Memory

Jhonatan Cléto,Herve Yviquel, Marcio Pereira, Guido Araujo

*Menção Honrosa - artigo de graduação



Simulação de Sistemas Exascale usando Time Warp

Ricardo Fares, Aleardo Manacero Jr., Renata Spolon Lobato, Roberta Spolon, João Barroso, Lucas Genova, Gustavo Juiz


Interface Gráfica Para Simulação De Sistemas Exascale

João Barroso, Aleardo Manacero Jr., Roberta Ulson, Daphne Lie Pereira, Bruno Veronez de Jesus, Ricardo Fares, Renata Spolon Lobato


A tool for profiling memory accesses locality on NUMA architectures

Letícia Farias Machado, Claude Todonki, Hermes Senger


Exploring Stability and Efficiency: Regression-based Scheduling Heuristics in HPC

Lucas Rosa, Danilo Carastan dos Santos, Alfredo Goldman


Custo energético em computação de alto desempenho

Paulo Anjos, Alvaro Fazenda


A comparison between the usage of free and proprietary solutions for General-purpose computing on GPUs (GPGPU)

Isabella do Amaral, Alfredo Goldman

*Melhor artigo de graduação



Minicursos


MINICURSO I (Básico) - Programação de GPUs com OpenMP

Responsável: Hermes Senger (UFSCar)


Resumo:

Este minicurso apresentará uma introdução à programação de GPUs com OpenMP. Apesar da enorme capacidade de processamento, GPUs possuem arquitetura bem mais complexa quando comparadas com as CPUs. Tais diferenças advém não ocorrem por mero acaso, mas são decorrentes dos diferentes objetivos de projeto. O projeto de CPUs visa diminuir a latência de execução de aplicações single thread, enquanto que as GPUs são projetadas para fornecer alta vazão de processamento. Com isso, extrair bom desempenho de aplicações em GPUs pode ser um pouco trabalhoso do que nas CPUs. Além disso, GPUs tendem a apresentar maior variedade de arquiteturas, o que compromete o desempenho de aplicações quando executadas em GPUs de diferentes fabricantes ou diferentes gerações. Criada em 1996, OpenMP é uma ferramenta já bem estabelecida para o desenvolvimento de aplicações de alto desempenho baseadas em threads. OpenMP e MPI são ferramentas que estão entre as mais utilizadas para se fazer processamento numérico mais intensivo em praticamente todas as áreas da engenharia, ciências físicas, ciências biológicas, entre outras. Desde então, OpenMP evoluiu muito para acompanhar a evolução das arquiteturas de CPUs e aceleradores com dezenas ou até centenas de núcleos ou threads, arquiteturas NUMA, unidades vetoriais, e outros avanços. A partir da versão 4.0 (2013), OpenMP passou a dar suporte à execução em sistemas heterogêneos, compostos por um hospedeiro e um dispositivo (e.g., uma CPU e uma GPU). Um dos aspectos mais interessantes do OpenMP é o vasto ferramental (principalmente stacks de compiladores) que atualmente suporta o padrão e permite gerar código executável para uma imensa variedade de arquiteturas, de CPUs a GPUs, passando por outros tipos de aceleradores manycore incluindo arquiteturas heterogêneas com combinações de CPUs e aceleradores, ou de múltiplos aceleradores. Nesse sentido, OpenMP tem evoluído no sentido de possibilitar que um mesmo código possa executar com desempenho aceitável em diferentes arquiteturas sem modificações ou com modificações mínimas (portabilidade de desempenho). Tais características são essenciais para a sustentabilidade e manutenibilidade de aplicações a médio e longo prazo. Durante o minicurso, os conceitos serão aplicados em dois exemplos de programas, um deles que calcula o valor de pi por integração, e o segundo que simula a propagação da onda acústica em um domínio isotrópico. Os conceitos serão aplicados em versões sucessivamente melhoradas desses dois programas, analisando os seus efeitos sobre o desempenho dos programas.


MINICURSO II (Básico) - Programação com OpenAcc

Responsável: Pedro Mario Cruz e Silva (NVIDIA)


Resumo

Este curso é uma experiência de aprendizado abrangente e prática projetada para equipar os participantes com o conhecimento e as habilidades para utilizar efetivamente o OpenACC, um poderoso modelo de programação para computação paralela em GPUs. Com base no conteúdo NVIDIA DLI, este curso aborda os fundamentos da computação paralela e da arquitetura de GPU, apresentando aos participantes os princípios da programação de GPU. Os participantes aprenderão como anotar código com diretivas OpenACC para descarregar tarefas computacionais intensivas para a GPU, levando a melhorias significativas de desempenho. O curso também abrange tópicos avançados, como movimentação de dados, otimização de desempenho e ferramentas de criação de perfil, permitindo que os participantes otimizem seu código acelerado por GPU para máxima eficiência. Ao final do curso, os participantes terão uma base sólida em programação OpenACC e a capacidade de paralelizar e acelerar seus próprios aplicativos usando GPUs. Em resumo, fornece uma compreensão abrangente do OpenACC e sua aplicação na programação de GPU. Por meio de uma combinação de conceitos teóricos e exercícios práticos, os participantes obterão as habilidades necessárias para aproveitar o poder da computação paralela e acelerar efetivamente seus aplicativos usando GPUs.



MINICURSO III  (Avançado) - Getting Up and Running with the OpenMP Cluster Programming Model (Começando a usar o modelo de programação de cluster OpenMP)

Responsáveis: Herve Yviquel, Vitoria Dias, Jhonatan Clétos (UNICAMP)

Slides


Resumo:

Neste tutorial apresentaremos o novo modelo de programação distribuída OpenMP Cluster (OMPC). O runtime do OMPC permite ao programador anotar seu código usando as diretivas de target offloading do OpenMP e executar a aplicação em um ambiente distribuído sem problemas usando um modelo de programação baseado em tarefas. O OMPC é responsável por agendar tarefas para nós disponíveis, transferindo dados de entrada/saída entre nós e acionando a execução remota, tudo isso enquanto lida com a tolerância a falhas. O runtime aproveita a infraestrutura LLVM e é implementado usando a conhecida biblioteca MPI.



MINICURSO IV (Básico) -  Utilização do ParallelCluster para automatizar e otimizar o seu trabalho com HPC
Responsáveis: Marcelo Ferreira Baptista, Paulo Aragão (AWS)

Resumo:
AWS ParallelCluster é uma ferramenta de gerenciamento de clusters de código aberto AWS compatível que ajuda você a implantar e gerenciar clusters de computação de alto desempenho (HPC) na nuvem AWS. Ele configura automaticamente os recursos computacionais necessários, o agendador e o sistema de arquivos compartilhado. Neste workshop você vai aprender a criar e gerenciar os seus recursos com o Parallel Cluster. Para o evento, é necessário ter o seu próprio computador (notebook) com acesso à internet
 

*Pre-work necessário para quem for participar do minicurso (realizar pelo menos um dos cursos online abaixo): 

AWS Cloud Quest: Cloud Practitioner - AWS Skill Builder - Role playing game gratuito sobre fundamentos de computação em nuvem

Getting Started with AWS Cloud Essentials - https://explore.skillbuilder.aws/learn/course/external/view/elearning/15009/getting-started-with-aws-cloud-essentials - Curso gratuito sobre fundamentos de computação em nuvem

 


MINI CURSO V (Avançado) - Introduction to Physics-Informed Machine Learning with Modulus (Introdução ao Aprendizado de Máquina Physics-Informed  com Modulus)

Responsável: Pedro Mario Cruz e Silva (NVIDIA)


Resumo:

Este curso oferece aos participantes uma introdução abrangente à integração da física e do aprendizado de máquina. Os participantes aprenderão como aproveitar as restrições baseadas na física em modelos de aprendizado de máquina usando a estrutura Modulus, permitindo previsões mais precisas e interpretáveis. O curso aborda os princípios fundamentais do aprendizado de máquina baseado em física, enfatizando a importância de incorporar conhecimento de domínio e leis físicas em modelos de aprendizado de máquina. Por meio de exercícios e projetos práticos, os participantes ganharão experiência prática na formulação e treinamento de modelos de aprendizado de máquina baseados em física com o Modulus. Eles também aprenderão como interpretar os modelos aprendidos e extrair informações físicas valiosas dos resultados. Ao final do curso, os participantes terão o conhecimento e as habilidades para desenvolver e implantar modelos de aprendizado de máquina baseados em física, capacitando-os a resolver problemas complexos nos domínios da ciência e da engenharia com maior precisão e interpretabilidade.



MINI CURSO VI (Avançado) - Introdução à Programação com Memória Persistente

Responsável: Alexandro Baldassin (UNESP)


Resumo: 

Este minicurso é uma introdução à programação com memória persistente (PM). Nele apresentaremos a motivação para uso dessa nova tecnologia; o suporte atual disponibilizado por processadores e sistemas operacionais; os problemas de consistências de dados que podem acontecer; e como utilizar abstrações de mais alto nível (como transações) para resolvê-los. O minicurso também apresenta uma série de exemplos práticos utilizando o Intel PMDK para programação de estruturas de dados persistentes.



Workshop Temático - FAPESP: Tendências em Computação de Alto Desempenho


Clique aqui para fazer o download da programação do workshop.