Informações da Disciplina

 Preparar para impressão 

Júpiter - Sistema de Gestão Acadêmica da Pró-Reitoria de Graduação


Instituto de Astronomia, Geofísica e Ciências Atmosféricas
 
Astronomia
 
Disciplina: AGA0511 - Métodos Computacionais em Astronomia
Computational Methods in Astronomy

Créditos Aula: 4
Créditos Trabalho: 0
Carga Horária Total: 60 h
Tipo: Semestral
Ativação: 01/01/2022 Desativação:

Objetivos
Disciplina destinada aos alunos do Bacharelado em Astronomia. Os alunos do Bacharelado em Física também poderão cursar. O objetivo é fornecer ao aluno uma introdução aos métodos computacionais de uso corrente em Astronomia, com aplicações à solução de problemas. Em anos recentes houve grandes avanços em tecnologias da computação, com a disponibilização de clusters computacionais massivamente paralelos e de baixo custo e o surgimento de novas tecnologias, tais como GPUs. Esta disciplina visa introduzir as técnicas mais utilizadas em computação de alto desempenho, ensinando ao aluno como tirar melhor proveito dos recursos computacionais disponíveis.
 
 
 
Docente(s) Responsável(eis)
141126 - Alex Cavalieri Carciofi
 
Programa Resumido
1. Como um computador funciona: CPU, memória e ponto flutuante. 
2. Vetorização: SSE (Streaming SIMD Extensions). 
3. Conceitos de processamento paralelo: SIMD (Single Instruction Multiple Data) versus MIMD (Multiple Instructions Multiple Data). 
4. Indrodução ao code profiling (análise de rendimento de código)
5. Introdução ao OpenMP
6. Introdução ao MPI
7. Introdução às GPUs (CUDA, OpenACC)
8. Introdução à vetorização
 
 
 
Programa
O curso aborda tópicos avançados de computação que visam capacitar o aluno a fazer uso das mais recentes tecnologias utilizadas em computação científica. Os três primeiros tópicos abaixo são tópicos teóricos que abordam conceitos fundamentais como o funcionamento de um computador e de um cluster de computadores. Os últimos quatro tópicos abordam as diferentes ferramentas de paralelização e otimização de código disponíveis, e serão desenvolvidos através de aulas práticas e teóricas. O curso baseia-se no método PBL (problem-based learning). Ao longo do semestre o aluno trabalhará em um problema específico e ao final apresentará seus resultados na forma de um Trabalho de Conclusão da Disciplina (TCD).

1. Como um computador funciona: CPU, memória e ponto flutuante. 
2. Vetorização: SSE (Streaming SIMD Extensions). 
3. Conceitos de processamento paralelo: SIMD (Single Instruction Multiple Data) versus MIMD (Multiple Instructions Multiple Data). 
4. Indrodução ao code profiling (análise de rendimento de código)
5. Introdução ao OpenMP
6. Introdução ao MPI
7. Introdução às GPUs (CUDA, OpenACC)
8. Introdução à vetorização
 
 
 
Avaliação
     
Método
Aulas teóricas e práticas, com aplicações em problemas de Astronomia.
Critério
Avaliação baseada em exercícios práticos de programação, no desenvolvimento do TCD e em apresentação de seminários.
Norma de Recuperação
Esta disciplina não possui segunda avaliação.
 
Bibliografia
     
- Culler, D. E., Pal Singh, J., 1998, Parallel Computer Architeture, A Hardware/Sofware Approach, Morgan Kaufmann (1st edition)
- H. F. Jordan, G. Alaghband, 2002, Fundamentals of Parallel Processing, Prentice Hall
- J. Sanders, 2010, CUDA by Example: An Introduction to General-Purpose GPU Programming, Addison-Wesley Professional (1st Edition)
 

Clique para consultar os requisitos para AGA0511

Clique para consultar o oferecimento para AGA0511

Créditos | Fale conosco
© 1999 - 2024 - Superintendência de Tecnologia da Informação/USP