O livro dos minicursos do WSCAD 2022 está disponível neste link.


Minicurso 1: Quarta-feira (19/10) das 08h00 às 11h30Sala: CC I
OneAPI: Uma Abordagem para a Computação Heterogênea Centrada no Desenvolvedor

Autores: Ricardo Menotti (UFSCAR), Tiago Oliveira (SENAI CIMATEC)

Resumo: Na computação heterogênea as aplicações são projetadas para que sua execução seja compartilhada entre diferentes arquiteturas. Em geral, parte dela é implementada para executar em um host e parte é dividida em  kerlnels para serem submetidos para um ou mais aceleradores. OneAPI é um padrão aberto para a aceleração de computação que adota uma abordagem single-source, na qual todo o código da aplicação pode ser especificado uniformemente usando a  linguagem C++, independente de executar no host ou em aceleradores. Neste minicurso, veremos como aplicações podem ser paralelizadas, implementadas e validadas usando apenas uma CPU multicore como host, incluindo o algoritmo de ordenação paralela Bitonic Sort. Posteriormente, os mesmos códigos serão gradativamente alterados para usarem aceleradores diversos (GPU integrada, GPU discreta e FPGA) no ambiente Intel® DevCloud. Para tal, serão apresentados os diferentes modelos de execução de cada arquitetura alvo, a forma geral de programação paralela nesta abordagem e as nuances na programação que favorecem cada modelo de execução.

Informações Técnicas: Curso de nível básico. O curso requer apenas um computador com acesso à Internet.

Apresentadores


Ricardo Menotti

Tiago Oliveira

Minicurso 2: Quarta-feira (19/10) das 08h00 às 11h30Sala: CC III
Inteligência Artificial e Função como Serviço: Provisionando Aplicações com o AWS Lambda

Autores: Sayonara S. Araújo (UFC), Victória T. Oliveira (UFC), Francisco R. P. da Ponte (UFC), Wendley S. da Silva (UFC), Dario Vieira (EFREI), Miguel Franklin de Castro (UFC), Emanuel Bezerra Rodrigues (UFC)

Resumo: Os dados podem ser um recurso muito valioso para as empresas, visto que eles auxiliam na tomada de decisão, análise de desempenho e na resolução de problemas. Estima-se que em média 2,5 quintilhões de bytes são gerados diariamente. Para que sejamos capazes de extrair informações úteis dessa grande quantidade de dados, o uso de uma tecnologia como a Inteligência Artificial (AI) é indispensável. Empresas como a Amazon Web Services (AWS), que prestam serviços de Computação em Nuvem, permitem a implantação facilitada de soluções de AI capazes de tirar proveito desse imenso volume de dados. Para isso, pode-se utilizar, por exemplo, o AWS Lambda, uma das principais ferramenta do chamado serviço de computação sem servidor. Dentro desse contexto, iremos ministrar este minicurso que introduz os conceitos de Função como Serviço (FaaS), englobando o uso de AWS Lambda para provisionar aplicações de AI.

Informações Técnicas: Curso de nível intermediário. O curso requer apenas um computador com Linux e acesso à Internet e uma conta na AWS, que pode ser criada de forma gratuita em
https://aws.amazon.com/pt/free/.

Apresentadores


Francisco da Ponte

Sayonara Araújo

Minicurso 3: Quarta-feira (19/10) das 14h30 às 16h00Sala: CC III
Processamento e Análise de Big Data com HPCC Systems

Autor: Mauro Marques (LexisNexis Risk Solutions) e Alysson Rogerio Oliveira (LexisNexis Risk Solutions)

Resumo: Ao longo do minicurso os participantes serão apresentados aos conceitos essenciais de processamento e análise de dados em quantidades massivas, assim como terão a oportunidade de aplicar os conhecimentos adquiridos em um ambiente de treinamento disponibilizado em sala de aula.

Informações Técnicas: Curso de nível básico. O curso requer apenas um computador com acesso à Internet e uma conta no Github.

Apresentadores


Mauro Marques

Alysson Oliveira

Minicurso 4: Quinta-feira (20/10) das 08h00 às 11h30Sala: CC I
Coisas para Fazer antes de Pensar em Paralelizar um Código

Autores: Alfredo Goldman (USP), Sarita Bruschi (USP), Vitor Terra (USP)

Resumo: Nesse minicurso, veremos algumas coisas práticas que devem ser feitas para melhorar o desempenho de algum código antes de se pensar em paralelização. Por exemplo, em uma máquina com 32 núcleos, o ganho potencial de aceleração de um programa sequencial com threads pode ser próximo a 32 vezes. Por outro lado, ao usar uma linguagem adequada, ter boas estruturas de dados e usar o cache da forma correta, os ganhos podem ser bem maiores. Para isso, este minicurso revisa conceitos essenciais para a avaliação e comparação de programas, incluindo exemplos e demonstrações ao vivo de como aplicá-los. Dividido em duas partes, a primeira parte aborda os aspectos gerais enquanto a segunda foca na análise individual de um programa. Parte do curso foi inspirada no Computer Language Benchmarks Game.

Informações Técnicas: Curso de nível básico. O curso requer apenas um computador com Docker instalado e acesso à Internet e uma conta no Github.

Apresentadora


Sarita Bruschi

Minicurso 5: Quinta-feira (20/10) das 08h00 às 11h30Sala: CC III | Sexta-feira (21/10) das 10h30 às 15h00Sala: CC III
NVIDIA DLI Fundamentals of Accelerated Computing with CUDA C/C++

Autor: Arthur Lorenzon (UFRGS), Eduardo Camilo Inacio (UniSENAI)

Resumo: Este workshop ensina as ferramentas e técnicas fundamentais para acelerar aplicações escritas em linguagens C/C++ para execução em arquiteturas massivamente paralelas com CUDA. A plataforma de computação CUDA oferece uma maneira para acelerar aplicações e códigos. Com CUDA, desenvolvedores são capazes de acelerar dramaticamente a computação de aplicações em arquiteturas GPU (graphic processing unit). O curso não exige nenhum conhecimento prévio em CUDA, mas requer alguns conhecimentos básicos em C/C++, como por exemplo, tipos de variáveis, laços de repetição, declarações condicionais, funções e manipulação de vetores. O workshop tem os seguintes objetivos de aprendizagem para os participantes: (I) escrever código paralelo para ser executado na GPU; (II) Expor e expressar paralelismo no nível de dados e instruções em aplicações C/C++ usando CUDA; (III) Utilizar o CUDA-managed memory e otimizar a migração de memória usando prefetching assíncrono; (IV) Usar streams (fluxo de instruções) concorrentes para paralelismo no nível de instruções; e (V) escrever aplicações aceleradas para GPU em CUDA C/C++, ou refatorar aplicações existentes que só executam na CPU, usando uma abordagem orientada por perfil. Ao final do workshop, os participantes terão acesso a recursos adicionais para acelerar novas aplicações na GPU por conta própria. Além disto, após realizar o teste final com sucesso, os participantes irão receber um certificado da NVIDIA DLI, para reconhecer sua competência no assunto e apoiar o crescimento da carreira profissional.

Informações Técnicas: Curso de nível básico. O curso requer apenas um computador com acesso à Internet. Não há necessidade de ter GPU no computador, pois todo o curso é ministrado no ambiente da NVIDIA.

Apresentador


Eduardo Camilo Inacio

Minicurso 6: Quinta-feira (20/10) das 14h30 às 16h00Sala: CC I
Da Montagem aos Exames de Ancestralidade: Uma visão de HPC sobre Desafios para Bioinformática

Autores: Mariana Carmin (UFPR), Cláudio Torres Júnior (UFPR), Marco Antonio Zanata Alves (UFPR), André Ricardo Abed Grégio (UFPR)

Resumo: A bioinformática está cada vez mais presente no cotidiano da população, desde os exames de paternidade até os que indicam qual é a ancestralidade observada em seu DNA. É inegável a importância desta área, visto que torna possível diversas análises como por exemplo a verificação da suscetibilidade a certas doenças e a identificação de amostras na ciência forense e além de diversas outras. Apesar do seu crescente uso os problemas solucionados com técnicas de bioinformática ainda são limitados pelo tempo de processamento e capacidade de armazenamento das memórias, já que os algoritmos utilizados são complexos, muitas vezes de ordens quadráticas ou cúbicas, e podem utilizar grandes volumes de dados. Desta forma, se faz necessário um correto entendimento do funcionamento básico e quais são as limitações e principais desafios dentro destes problemas biológicos. Como contribuição este curso pretende fornecer uma visão introdutória do processo de obtenção até a análise de dados biológicos, mostrando os principais algoritmos e banco de dados em cada etapa. Além disso, uma discussão sobre as formas de paralelização destes algoritmos e os principais desafios que ainda carecem de uma solução. Esperamos que os participantes saiam do curso com uma visão introdutória da área de bioinformática e como a computação de alto desempenho auxilia no desenvolvimento de ferramentas mais eficientes e como futuras pesquisas podem ser aplicadas a problemas desta área.

Informações Técnicas: Curso de nível intermediário. É desejável (não obrigatório) ter um computador e acesso à Internet.

Apresentadores


Mariana Carmin

Cláudio Torres Jr.

Minicurso 7: Sexta-feira (21/10) das 10h30 às 15h00Sala: CC I
Ferramentas para Configuração e Gerenciamento de Cluster de Alto Desempenho em Nuvem Pública

Autores: Albino A. Aveleda (UFRJ), Alvaro L.G.A. Coutinho (UFRJ)

Resumo: O presente minicurso propõe compartilhar algumas dessas melhores práticas adotadas pelo NACAD-COPPE/UFRJ para a implantação de um cluster de Alto Desempenho usando uma Nuvem Pública. Este trabalho foca no uso de ferramentas para implantar e gerenciar clusters de Computação de Alto Desempenho (HPC) na Nuvem AWS. O cluster de HPC na nuvem tem uma estrutura semelhante que a maioria dos clusters tradicionais, isto é, uma instância fazendo o papel de master node (com sistema de fila para receber solicitações de jobs e outras configurações) e as demais instâncias atuando com compute node, que são nós de processamento alocadas de acordo com a demanda ou de acordo com o que foi definido na configuração. Essas ferramentas permitem usufruir dos recursos e das melhores características da nuvem, como por exemplo, o auto scaling, permitindo assim que o cluster aumente e diminua automaticamente o número de instâncias computacionais, ajustando de forma elástica a carga de trabalho do cluster.

Informações Técnicas: Curso de nível intermediário/avançado. O curso requer apenas um computador com acesso à Internet e uma conta na AWS, que pode ser criada de forma gratuita em
https://aws.amazon.com/pt/free/.

Apresentador


Albino A. Aveleda