EVENTO
Escola Supercomputador SDumont
E-mail:
verao@lncc.br
Tipo de evento: Jornada
Arquivo(s): Programação
MINICURSOS------------------------------------------- A escola Supercomputador SDUMONT tem como objetivo a formação de recursos humanos na área de "Computação de Alto Desempenho". Ela tem como foco os usuários do Supercomputador SDumont, porém é aberta à todos os programadores interessados em adquirir conhecimento básico em programação em Computação de Alto Desempenho. Ela tem como foco fornecer aos usuários do supercomputador SDumont o conhecimento básico para executar os seus respectivos programas de forma mais eficiente nos recursos computacionais do SDUmont. Serão ministrados minicursos sobre a utilização de modelos de programação paralela e sobre as ferramentas de perfilagem, que ajudam na identificação dos "gargalos" do código que necessitam ser otimizados. A escola irá oferecer também minicursos introdutórios em programação em computação de alto desempenho entre os dias 13 e 15 de fevereiro. "A CAPES considera importante a participação de estudantes de pós-graduação na Escola Santos Dumont e recursos do PROAP e PROEX, repassados aos PPGs poderão, à critérios das Instituições, ser usados para apoiar esta inciativa". ------------------------------- Os minicursos da Escola podem ser relacionados conforme abaixo, porém, é importante ressaltar que cabe ao usuário a escolha dos minicursos. 1) Módulo Introdutório sobre a programação no SDUMONT: MC01-SD Introdução ao ambiente SDUMONT /SLURM (Roberto Souto/Andre Carneiro/Bruno Fagundes/LNCC) e Ferramentas BULLX-DE: Este minicurso apresenta uma visão geral do ambiente computacional do supercomputador Santos Dumont, mostrando os principais aspectos com relação aos recursos de hardware e de software disponíveis aos usuários. MC03-SD Introdução a E/S Paralela no SDUMONT (Andre Carneiro/Bruno Fagundes/LNCC): Este minicurso apresenta as ferramentas disponíveis no Santos Dumont para o usuário utilizar os recursos de Entrada e Saída de Dados de Alto desempenho do Santos Dumont. Será apresentado a ferramenta DARSHAN e uma introdução biblioteca MPI I/O, que possibilita a utilização do sistema de E/S de dados paralelo do SDumont. 2) Módulo sobre programação em placas Aceleradoras GPU: MC05-SD Introdução à Programação CUDA ( Roberto Souto/LNCC): Este minicurso apresenta a arquitetura das GPUs (Graphics Processing Unit), que foi projetada para efetuar os cálculos em ponto flutuante mais frequentemente realizados em aplicações gráficas. Esta é uma arquitetura bem mais especializada que a presente em CPUs (Central processing unit) , o que faz com que estes programas rodem mais rapidamente nestas plataformas. No MC05 será apresentada a arquitetura de placas gráficas NVIDIA e a conexão destas placas com o computador hospedeiro. Em seguida será apresentado a plataforma de programação CUDA, que é uma extensão do C/C++ processada tanto no computador hospedeiro quanto nas placas gráficas conectadas a este. MC04-SD - Introdução ao OpenCL (Amanda Sabatini/LNCC): Embora tenham princípios em comum, os aceleradores compreendem diferentes arquiteturas computacionais, exigindo-se para o fim de portabilidade de código a programação heterogênea. É nesse contexto que surge a linguagem de programação massivamente paralela denominada OpenCL, contração de Open Computing Language. A OpenCL é uma linguagem de padrão aberto baseada em C/C++, orientada à eficiência e flexibilidade, para programação uniforme e portável de sistemas heterogêneos, isto é, compostos por qualquer combinação de processadores convencionais e dispositivos aceleradores. MC07-SD Introdução á Programação em Aceleradores com Diretivas Pedro Pais Lopes/Exaflop): A programação para utilizar o grande poder de processamento das GPU´s envolve linguagens especializadas, o que demanda profunda modificação do programa e possivelmente redução da sua portabilidade. Padrões de programação baseadas em diretivas, amplamente utilizadas para expor paralelismo em arquitetura de memória central, surgiram ou foram expandidos para permitir expor o paralelismo destes processadores massivamente paralelos. Neste minicurso serão tratados os padrões existentes (OpenACC e OpenMP v4.5), suas principais diretivas, compiladores com suporte a estes padrões e desempenho obtido em aplicações simples em algumas arquiteturas (GPU, CPU multicore e Xeon Phi). 3) Módulo sobre Programação em HPC com Linguagens de Alto Nível : MC13-SD - Python para HPC (Guilherme Gall/ Luiz Gadelha/LNCC): Python é uma linguagem de programação de alto nível para programação de propósito geral lançada ao público em 1991. Possui construções que permitem a criação de programas de pequena à grande escala e possui uma filosofia de design que prioriza principalmente a legibilidade de código. É cada vez mais usada em computação científica e numérica. MC14-SD - R para HPC (Raquel Costa e Guilherme Gall/LNCC): O R é uma linguagem bastante utilizada por cientistas de dados, estatísticos, biológos, epidemiologistas e funciona muito bem em muitas pesquisas, gerando resultados de qualidade em relatórios e artigos científicos. A flexibilidade e facilidade de programar avançando nas análises a partir de funções e pacotes disponíveis são vantagens decisivas na escolha dessa linguagem por pesquisadores. Ao longo dos anos, diversas iniciativas tem sido feitas para melhorar a eficiência e desempenho das aplicações em R. Esse curso tem como proposta apresentar algumas dessas estratégias de paralelismo e melhora na eficiência para ganho de escalabilidade na linguagem R. 4) Módulo sobre Modelo de Programação com Troca de Mensagens no SDumont: MC02-SD Introdução à Programação MPI (Carla Osthoff/LNCC ): O objetivo deste minicurso é ensinar aos programadores que não estão familiarizados com programação paralela as noções básicas para desenvolver e executar programas paralelos de acordo com as normas do padrão MPI. Para isto iremos apresentar durante o curso apenas as rotinas básicas para se trabalhar com o padrão MPI, que é um padrão que vem sendo largamente utilizado para o desenvolvimento de programas paralelos em arquitetura de sistemas distribuídos, tais como clusters e Supercomputadores. MC09-SD -Introdução a Programação MPI com Extensões para E/S (MPI-IO) (Jean Luca Bez- UFRGS):Na Computação de Alto Desempenho (High-Performance Computing), as operações de entrada e saída (I/O) são um gargalo para um número crescente de aplicações, podendo comprometer a escalabilidade. Em ambientes de larga escala, como clusters e supercomputadores, o uso de bibliotecas de alto-nível como MPI-IO permite obter melhor desempenho através de I/O paralelo e de operações coletivas. Estas possibilitam o uso transparente de técnicas de otimização como data sieving e two-phase I/O. Nesse contexto, este minicurso objetiva introduzir conceitos de I/O paralelo e MPI-IO, com um enfoque prático, de forma que os participantes aprendam a utilizar a biblioteca em suas aplicações 5) Módulo sobre Modelo de Programação para Processadores Multicore: MC06-SD Introdução á Programação com OpenMP (Carla Osthoff/LNCC): Este minicurso apresenta uma introdução aos conceitos de processamento paralelo e de programação paralela, em relação padrão de programação em memória compartilhada OpenMP, utilizado em ambientes que possuem vários núcleos de processamento compartilhando o mesmo recurso de memória, tais como os processadores multicore. O padrão OpenMP é constituído por um conjunto de diretivas de compilador, rotinas de biblioteca, e variáveis de ambiente que influenciam o comportamento do tempo de execução. Definido em conjunto por um grupo principal de fornecedores de hardware e de software, o OpenMP é um modelo de programação portável e escalável que proporciona aos programadores uma interface simples e flexível para o desenvolvimento de aplicações paralelas. MC08-SD - Introdução à programação com Xeon (Matheus Serpa - UFRGS): O minicurso objetiva propiciar um maior entendimento sobre os paradigmas de programação paralela e vetorial, de forma que os participantes aprendam a otimizar adequadamente suas aplicações para arquiteturas modernas. Como plataforma de desenvolvimento, serão utilizados os processadores Intel Xeon e Intel Xeon Phi do SDumont. MC12-SD Introdução à Parallel Studio (Frederico Cabral/LNCC): Visão geral do Intel Parallel Studio XE e como está configurado no SDumont, apresentando as melhores práticas na utilização do perfilador e uma visão geral sobre ferramentas para perfilagem. O conjunto de desenvolvimento de software paralelo Intel Parallel Studio XE possibilita simplificar o desenvolvimento, depuração e ajuste de código, ajudando a utilizar o processamento paralelo para aumentar o desempenho do aplicativo. 6) Módulo Introdutório sobre Programação com Deep Learning em HPC: MC10-SD - Introdução à Deep Learning (NVIDIA) MC11-SD - Introdução à utilização de Containers para Deep Learning (NVIDIA) ----------------------------------------- Minicursos Introdutórios sobre programação em HPC entre os dias 13/02 e 15/02: MC01-ISD--Introdução ao Linux para Processamento de Alto Desempenho (Mariano Silva/Micaella Coelho/Mateus Mello): O minicurso apresentara os sistemas *nix especialmente o Linux. O foco será o uso da linha de comando já que normalmente os supercomputadores só permitem o acesso por linha de comando e o uso de vários nós para programas em modo batch. MC02-ISD C para Programação Paralela (Mariano Silva/LNCC): C é uma da das linguagens de programação mais importantes, senão a mais importante. Com este curso pretendemos iniciar o aluno no paradigma da programação paralela na linguagem C. Será mostrado o básico da linguagem e como usá-la em conjunto com MPI (Message Passing Interface). MC03-ISD Fortran para Programação Paralela (Mariano Silva/LNCC): O Fortran tem sido usado por mais de 50 anos para aplicações científicas e há uma grande quantidade de código escrito em Fortran. É uma linguagem de programação muito usada para supercomputação em diversas áreas tais como: astronomia, modelagem numérica de tempo e clima, modelagem hidrológica, dinâmica de fluidos. O curso mostrará os elementos básicos da linguagem Fortran e exemplos de paralelismo com co-array e MPI. -------------------------------------------- Data Início: 18/02/2019Data Fim: 22/02/2019
Data Início: 18/02/2019 Data Fim: 22/02/2019
Coordenadores: Carla Osthoff Ferreira de Barros - Laboratório Nacional de Computação Científica - LNCC - osthoff@lncc.br Roberto Pinto Souto - Laboratório Nacional de Computação Científica - LNCC - rp.souto@gmail.com Luiz Manoel Rocha Gadelha Júnior - German Cancer Research Center - DKFZ - luiz.gadelha@dkfz-heidelberg.de
Instituições Envolvidas: Laboratório Nacional de Computação Científica - LNCC / Brasil Universidade Federal do Rio Grande do Sul
Local: Laboratório Nacional de Computação Científica
Endereço: Av. Getúlio Vargas, 333
Telefone: 24 22336150
Contato: Roberta Machado - mroberta@lncc.br
Apoio Financeiro: ATOS
Palestrante: Giacomo Victor Mc Evoy Valenzano - Laboratório Nacional de Computação Científica - Bull Atos
Secretaria: Roberta Machado - LNCC -