12ª Escola Regional de Alto Desempenho de São Paulo

Programação

Clique em uma das sessões para ter acesso à mais informações sobre sua programação, links para artigos, vídeos, material de curso, etc.

O evento será realizado no sistema Conferência Web da RNP (Sala 1 e Sala 2) somente para os participantes inscritos. Para os demais, todos os eventos serão transmitidos ao vivo e ficarão disponíveis de forma aberta a toda comunidade no canal da ERAD-SP no YouTube.

As cerimônias de abertura e encerramento, palestras e sessões técnicas serão realizadas na Sala 1. Os minicursos I, III e V serão realizados na Sala 1, enquanto os minicursos II e IV serão realizados na Sala 2.

Quinta, 06/05 Sexta, 07/05 Sábado, 08/05
08:30

09:00
Sessão Técnica II

Apresentação de Artigos
Sessão Técnica III

Apresentação de Artigos
09:00

09:30
Boas-vindas e Abertura
09:30

10:00
Sessão Técnica I

Apresentação de Artigos
10:00

10:30
Palestra Empresarial II

GPUs, HPC, A.I. — Densidade e opções

Guilherme Friol (SDC)
Palestra Empresarial III

HPCC Systems: últimos avanços e oportunidades para uso e pesquisa em Big Data

Hugo Watanuki e Artur Baruchi (LexisNexis Risk Solutions)
10:30

11:00
11:00

11:30
Palestra I

Memory, Power, and Reconfigurable Node-Level Resource Management for HPC

Swann Perarnau (Argonne National Laboratory, EUA)
Palestra II

Generating Code for the new IBM Power10: Hardware Matrix Multiply Assist and Pattern Matching in a Compiler

J. Nelson Amaral (University of Alberta, Canadá)
Palestra IV

A Arquitetura RISC-V, suas Implementações e o Estado de seu Software Livre

Carlos E. de Paula (Red Hat, Inc.)
11:30

12:00
12:00

12:30
Almoço Almoço Almoço
12:30

13:00
13:00

13:30
13:30

14:00
Minicurso I

Otimização de Programas Paralelos com uso do OpenACC

Evaldo B. Costa e Gabriel P. Silva (UFRJ)
Minicurso II

Uma introdução ao processamento de fluxos de dados com Apache Flink

Pedro Silva (Hasso Plattner Institute, Alemanha)
Minicurso III

Introdução à Programação com Memória Persistente

Alexandro Baldassin (UNESP) e Emilio Francesquini (UFABC)
Minicurso IV

Programação em GPU no Ambiente Google Colaboratory

Ricardo Ferreira, Michael Canesche e Westerley Carvalho Oliveira (UFV)
Palestra Empresarial IV

Supercomputadores e Computação Quântica – quais as tecnologias que temos disponíveis para criar computadores com alta capacidade de processamento

Genaro Costa (Atos)
14:00

14:30
14:30

15:00
Minicurso V

Ciência Reprodutível para Experimentos em Computação de Alto Desempenho

Pedro Bruel (USP), Lucas Mello Schnorr (UFRGS) e Alfredo Goldman (USP)
15:00

15:30
Palestra Empresarial I

HPC e AI/ML na AWS: clusters rápidos, simples, e baratos

Paulo Aragão
Palestra III

Performance Engineering for HPC: the role of Source-to-Source Compilers and why we need them

João M. P. Cardoso (Universidade do Porto, Portugal)
15:30

16:00
16:00

16:30
Minicurso I

Otimização de Programas Paralelos com uso do OpenACC

Evaldo B. Costa e Gabriel P. Silva (UFRJ)
Minicurso II

Uma introdução ao processamento de fluxos de dados com Apache Flink

Pedro Silva (Hasso Plattner Institute, Alemanha)
Minicurso III

Introdução à Programação com Memória Persistente

Alexandro Baldassin (UNESP) e Emilio Francesquini (UFABC)
Minicurso IV

Programação em GPU no Ambiente Google Colaboratory

Ricardo Ferreira, Michael Canesche e Westerley Carvalho Oliveira (UFV)
16:30

17:00
Cerimônia de Encerramento e Premiação
17:00

17:30
17:30

18:00
18:00

18:30
18:30

19:00
Reunião CRAD/SP
19:00

19:30

Programação Detalhada

Palestra Amazon AWS: HPC e AI/ML na AWS: clusters rápidos, simples, e baratos

Aprenda a criar clusters efêmeros, de alta performance e baixo custo, para executar aplicações MPI e Python. Além de conhecer as diversas tecnologias disponíveis na AWS, vamos criar um cluster de forma automática para rodar uma aplicação MPI, usando uma rede de baixa latência, enquanto treinamos um modelo de linguagem natural usando múltiplas GPUs.

Bio:

Paulo Aragão é um Arquiteto de Soluções que trabalha há mais de 20 anos com clientes Enterprise. Com ampla experiência em Computação de Alta Performance (HPC), atualmente dedica seus dias a ajudar clientes a inovarem através do uso de serviços de IA e ML na nuvem AWS. Apaixonado por música e mergulho, você pode encontra-lo em vídeos de covers musicais no Youtube ou no fundo do mar. No seu tempo livre, gosta de ler livros, jogar World of Warcraft, e cozinhar para os amigos.

Palestra SDC: GPUs, HPC, A.I. — Densidade e opções

Nos últimos anos a Inteligência Artificial vem se tornando uma presença comum em nossas vidas: desde os frustrantes e limitados chatbots até experiências encantadoras que elevam a interação homem-máquina a um nível totalmente novo, com isso cada vez mais o uso massivo das GPUs, falaremos sobre o alto custo das GPUs, densidade e as opções atuais de mercado.

Bio:

Guilherme Friol é especialista em computação com anos de experiência em ambientes computacionais de alta demanda, virtualização e HPC. Atua como consultor em arquitetura e otimização de sistemas de alto desempenho. Desenvolveu projetos relevantes junto a grandes instituições de pesquisa e notórios nomes da computação nacional em machine learning e redes neurais. Entre os projetos estão: Predição de Inibidores de Protease de Cisteína para Agentes Tripanocidas e Câncer (USP); Simulação de controle de veículo espacial e orientação de órbita (LAC-INPE); Pesquisa sobre plasmas astrofísicos e turbulências espaciais (ITA); Pesquisa em Astrofísica e física molecular (UNIVAP), entre outros.

Palestra LexisNexis Risk Solutions: HPCC Systems: últimos avanços e oportunidades para uso e pesquisa em Big Data

Hugo Watanuki e Artur Baruchi

O uso de computação distribuída para a obtenção de alto desempenho no processamento e análise de quantidades massivas de dados representa uma solução tecnológica de alto valor agregado para as organizações baseadas em dados. A plataforma de código aberto HPCC Systems fornece uma solução compreensiva para esse fim, proporcionando a empresas e universidades acesso facilitado a uma ampla gama de ferramentas para engenharia e ciência de dados em um ambiente de computação distribuída. O objetivo desta palestra é apresentar aos participantes os últimos avanços tecnológicos da plataforma HPCC Systems e suas respectivas oportunidades para fins comerciais e acadêmicos.

Bios:

Hugo Watanuki é engenheiro de suporte na LexisNexis Risk Solutions e doutorando em engenharia de produção na Escola Politécnica da USP. Possui experiência com sistemas HPC para engenharia avançada e análise de dados.

Artur Baruchi é consultor na LexisNexis Risk Solutions e doutor em engenharia da computação pela Escola Politécnica da USP. Possui experiência em Administração de Sistemas de Alta Disponibilidade e Programação.

Palestra Atos: Supercomputadores e Computação Quântica – quais as tecnologias que temos disponíveis para criar computadores com alta capacidade de processamento

Genaro Costa

O desenho de um supercomputador deve tomar em conta diversos aspectos, como arquitetura do processador, topologia e tecnologia da rede de alto desempenho, refrigeração e consumo energético, dentre outros. A composição das máquinas mais rápidas do mundo (TOP500) vem mudando com a adoção de novas tecnologias, como aceleradores e arquiteturas hibridas. Nessa palestra serão apresentados aspectos importantes no desenho de supercomputadores e produtos atualmente disponíveis para sua construção assim como a abordagem da Atos para a Computação Quântica.

Bio:

Genaro Costa, PhD, PMP. Atua como HPC Senior Expert / Gerente de Projetos na Atos Bull, coordenando o Atos R&D Labs no Senai CIMATEC. Graduado em Ciência da Computação pela UCSal, mestre e doutor em Informática pela Universitat Autónoma de Barcelona (UAB). Tem interesse de pesquisa em Computação de Alto Desempenho, Machine Learning, Big Data, Performance Models, Computer Vision, Quantum Computing e Prescriptive Analytics.


Palestra I: Memory, Power, and Reconfigurable Node-Level Resource Management for HPC

Swann Perarnau (Argonne National Laboratory)

Several major HPC facilities have publicly announced that their exascale-class systems will be heterogeneous, featuring multiple accelerator devices linked to multicore processors serving as hosts. These complex node topologies and the increasingly complex scientific workloads targeting these systems have made node-level resource management an important challenge for the performance of the overall production platform, and is of major interest to the system software community. As usual, node-level system software must also compose with sometimes competing interests, from scientific users, to programming model design, runtimes, and system-level resource management policies.

This presentation will provide an overview of the challenge of node-level resource management at exascale, focusing on two critical resources (memory and power), and discuss the work done within the Argo team of the Exascale Computing Project towards building a more adaptable system software stack able to arbitrate between the many stakeholders involved.

Bio:

Swann Perarnau is an Assistant Computer Scientist at Argonne National Laboratory. He is currently the technical lead for the Argonne side of ECP Argo, focusing on resource management for heterogeneous architectures. Swann has also acted as a memory management expert across several U.S. Department of Energy efforts, including CORAL2, Pathforward, and SciDAC RAPIDS (1&2).

Palestra II: Generating Code for the new IBM Power10: Hardware Matrix Multiply Assist and Pattern Matching in a Compiler (and the Story of an Alberta/Unicamp/IBM Collaboration)

J. Nelson Amaral (University of Alberta, Canadá)

To support both Artificial Intelligence and High-Performance Computing workloads, the new IBM POWER10 processor introduces a hardware computing unit called the Matrix Multiply Assist (MMA). This talk describes a collaboration between the University of Alberta, the University of Campinas, and IBM to make the performance improvement enabled by MMA accessible to both HPC and AI workloads. We explore two ways to do so: integrating MMA into highly specialized linear-algebra libraries; and creating a compilation path that is aware of MMA and capable of using it effectively. Once MMA is properly integrated into a library, a performant solution is for an application to invoke the library to execute a numerical computation, such as matrix multiplication. However, could an application that contains a matrix-multiplication operation natively benefit from the library performance boost? Also, how can a compiler recognize that a segment of code is performing a matrix multiplication and thus generate the appropriate MMA instructions? The answer to both questions is to use efficient and robust pattern recognition in the compiler internal representation. This talk describes how we developed a much more robust pattern recognition methodology in the LLVM compilation system. It also discuss the implementation of a layered approach for efficient matrix multiplication, which were until now only available in numerical libraries, into an LLVM-based compiler-only software path. Making an efficient compiler-only path available is important for situations when invoking a function from a library is not an option.

Bio:

J. Nelson Amaral, a Computing Science professor at the University of Alberta with a Ph.D. from The University of Texas at Austin, has published in optimizing compilers and high-performance computing. Scientific community service includes general chair for the 23rd International Conference on Parallel Architectures and Compilation Techniques in 2014, for the International Conference on Performance Engineering in 2020, and for the International Conference on Parallel Processing in 2020. Accolades include ACM Distinguished Engineer, IBM Faculty Fellow, IBM Faculty Awards, IBM CAS “Team of the Year”, awards for excellence in teaching, the University of Alberta Graduate-Student Association Award for Excellence in Graduate Student Supervision, an University of Alberta Award for Outstanding Mentorship in Undergraduate Research & Creative Activities, and a recent University of Alberta 2020 COVID-19 Remote Teaching Award.

Palestra III: Performance Engineering for HPC: the role of Source-to-Source Compilers and why we need them

João M. P. Cardoso (Universidade do Porto, Portugal)

High-Performance Computing systems have become heterogeneous. In such systems, multicore CPUs coexist with hardware accelerators (such as GPUs and FPGAs). Although these systems can provide higher performance, their programming is more complex, prone to errors, requires longer development cycles and experts, especially when stringent performance figures need to be achieved. In this talk I will present some of the main challenges and current research avenues to mitigate development and help software programmers to take advantage of some of the heterogenous resources present in the HPC systems. I will both consider HPC in embedded computing and in supercomputing and will focus the talk on the role of source-to-source compilers as first citizen tools to help and automate important performance engineering tasks.

Bio:

João M. P. Cardoso is a Full Professor at the Department of Informatics Engineering, Faculty of Engineering of the University of Porto, Porto, Portugal, and a research member of INESC TEC. Before, he was with the IST/UTL (2006-2008), a senior researcher at INESC-ID (2001-2009), and with the University of Algarve (1993-2006). In 2001/2002, he worked for PACT XPP Technologies, Inc., Munich, Germany. He served as Program Committee member and has been involved in the organization of many Int’l Conferences. He has (co-)authored over 250 scientific publications (incl. books, journal/conference papers and patents). He has actively participated in research projects: as technical manager of the H2020 FET-HPC project ANTAREX, as co-scientific coordinator of the FP7 EU-funded project REFLECT (2010-2012), and as coordinator of national funded projects. He is a senior member of IEEE and ACM. His research interests include compiler techniques, reconfigurable computing, FPGAs, high-level synthesis, high-performance computing, and performance engineering.

Palestra IV: A Arquitetura RISC-V, suas Implementações e o Estado de seu Software Livre

Carlos E. de Paula (Red Hat, Inc.)

A arquitetura RISC-V vem para abrir a última camada do Open Source, o hardware. Nessa palestra vamos falar sobre a arquitetura aberta RISC-V, suas implementações atuais em hardware e o suporte das aplicações a essa arquitetura. Linux, containers e sistemas operacionais embarcados já estão disponíveis e em uso por diversos grupos e sua evolução se dá de forma rápida no meio acadêmico e na indústria.

Bio:

Carlos Eduardo trabalha para a Red Hat como Arquiteto de Cloud desenhando soluções de cloud para clientes e os ajudando na jornada para o mundo de containers. Escreve sobre Kubernetes e Containers em arquitetura alternativas como ARM e RISC-V construindo clusters multi-arquitetura e é palestrante em eventos como RISC-V Summit, QCon Brasil e RISC-V Workshop. Anteriormente trabalhou na Ericsson e Telecom Italia Brasil com Openstack, virtualização e infra-estrutura.


Minicurso I: Otimização de Programas Paralelos com uso do OpenACC

Sala 1

Evaldo B. Costa e Gabriel P. Silva (UFRJ)

Material suplementar: código-fonte utilizado no curso e slides

Este minicurso tem por objetivo apresentar técnicas de otimização de programas paralelos com uso de diretivas do OpenACC através de ferramentas que executem de uma análise completa de desempenho do código para identificação de regiões paralelizáveis e quais métodos podem ser aplicados. O OpenACC é um modelo de programação para computação paralela que pode ser executado em diversos tipos de arquiteturas: multicore, manycore e aceleradores. Assim, neste minicurso são avaliados os efeitos dos componentes de hardware como número de processadores, hierarquia de memória e aceleradores sobre o desempenho de programas paralelos. Ressaltam-se as modificações que devem ser feitas no código para explorar com vantagem as características dos recursos computacionais, avaliando os seus respectivos impactos no desempenho de um programa.

Minicurso II: Uma introdução ao processamento de fluxos de dados com Apache Flink

Sala 2

Pedro Silva (Hasso Plattner Institute, Alemanha)

A proposta do minicurso é de apresentar os principais fundamentos teóricos relacionados ao processamento de fluxos de dados e permitir aos participantes um primeiro contato com o sistema de processamento de fluxos de dados Apache Flink, que atualmente é uma das principais ferramentas para esse fim. Utilizando dados provenientes de casos de utilização industriais (e.g., medidores de energia inteligentes, táxis conectados e sismógrafos), os participantes serão familiarizados com a arquitetura, restrições e principais características de aplicações de processamento de fluxo utilizando o Apache Flink como exemplo de implementação.

Minicurso III: Introdução à Programação com Memória Persistente

Sala 1

Alexandro Baldassin (UNESP) e Emilio Francesquini (UFABC)

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 várias estruturas de dados persistentes.

Minicurso IV: Programação em GPU no Ambiente Google Colaboratory

Sala 2

Ricardo Ferreira, Michael Canesche e Westerley Carvalho Oliveira (UFV)

Este trabalho apresenta um minicurso sobre a programação de GPU no Google Colaboratory (Colab). Tem como objetivo fornecer um material introdutório para o ensino e pesquisa com GPU no ambiente Colab, democratizando e desmistificando o acesso às GPUs. O Colab disponibiliza 4 tipos de GPU (K80, P4, P100 e T4) de forma gratuita e pode ser acessado, inclusive, por celular. Inicialmente, uma introdução à programação GPU é apresentada, juntamente com a configuração do Colab. Em seguida, vários exemplos de código são apresentados para ilustrar a execução, os recursos e as técnicas básicas de programação para GPU. Os laboratórios do minicurso também incluem material adicional com exercícios e sugestões de atividades extras.

Minicurso V: Ciência Reprodutível para Experimentos em Computação de Alto Desempenho

Sala 1

Pedro Bruel (USP), Lucas Mello Schnorr (UFRGS) e Alfredo Goldman (USP)

Material suplementar: site do minicurso, Github e slides

Neste minicurso apresentaremos uma introdução à Ciência Reprodutível, orientada por discussões sobre os problemas comumente enfrentados na ciência experimental, e por apresentações de possíveis soluções que promovam a reprodutibilidade no contexto de experimentos computacionais.


Sessão Técnica I — Artigos de Pós-Graduação

Quinta-feira, 6 de maio de 2021, às 9h30

Sessão Técnica II — Artigos de Iniciação Científica

Sexta-feira, 7 de maio de 2021, às 8h30

Sessão Técnica III — Artigos de Iniciação Científica

Sábado, 8 de maio de 2021, às 8h30