Slides tdc 2010

  • View
    587

  • Download
    0

Embed Size (px)

DESCRIPTION

Está é a apresentação sobre uso de Python em astrofísica no The Developers Conference 2010.

Text of Slides tdc 2010

  • 1. Sumario Introducao Computacao cientca Desvendando o Universo com Python Python: Uma ferramenta de computacao cientca para estudos AstrofsicosEduardo S. Pereira22/agosto/2010

2. Sumario Introducao Computacao cientcaDesvendando o Universo com Python 1 Introducao2 Computacao cientca 3 Desvendando o Universo com Python 3. Sumario Introducao Computacao cientcaDesvendando o Universo com Python IntroducaoPor que Python? Portabilidade; Sintaxe clara; Orientada a objetos; Interface exvel com linguagens compiladas como C e FORTRAN; Open Source; Vasta biblioteca cientca (e de uso geral) : scipy, numpy, scientic python, matplotlib... Facilidade em paralelizar codigos seja em rede ou em maquinas com multiprocessadores. 4. Sumario Introducao Computacao cientcaDesvendando o Universo com Python IntroducaoPor que Python? Portabilidade; Sintaxe clara; Orientada a objetos; Interface exvel com linguagens compiladas como C e FORTRAN; Open Source; Vasta biblioteca cientca (e de uso geral) : scipy, numpy, scientic python, matplotlib... Facilidade em paralelizar codigos seja em rede ou em maquinas com multiprocessadores. 5. Sumario Introducao Computacao cientcaDesvendando o Universo com Python IntroducaoPor que Python? Portabilidade; Sintaxe clara; Orientada a objetos; Interface exvel com linguagens compiladas como C e FORTRAN; Open Source; Vasta biblioteca cientca (e de uso geral) : scipy, numpy, scientic python, matplotlib... Facilidade em paralelizar codigos seja em rede ou em maquinas com multiprocessadores. 6. Sumario Introducao Computacao cientcaDesvendando o Universo com Python IntroducaoPor que Python? Portabilidade; Sintaxe clara; Orientada a objetos; Interface exvel com linguagens compiladas como C e FORTRAN; Open Source; Vasta biblioteca cientca (e de uso geral) : scipy, numpy, scientic python, matplotlib... Facilidade em paralelizar codigos seja em rede ou em maquinas com multiprocessadores. 7. Sumario Introducao Computacao cientcaDesvendando o Universo com Python IntroducaoPor que Python? Portabilidade; Sintaxe clara; Orientada a objetos; Interface exvel com linguagens compiladas como C e FORTRAN; Open Source; Vasta biblioteca cientca (e de uso geral) : scipy, numpy, scientic python, matplotlib... Facilidade em paralelizar codigos seja em rede ou em maquinas com multiprocessadores. 8. Sumario Introducao Computacao cientcaDesvendando o Universo com Python IntroducaoPor que Python? Portabilidade; Sintaxe clara; Orientada a objetos; Interface exvel com linguagens compiladas como C e FORTRAN; Open Source; Vasta biblioteca cientca (e de uso geral) : scipy, numpy, scientic python, matplotlib... Facilidade em paralelizar codigos seja em rede ou em maquinas com multiprocessadores. 9. Sumario Introducao Computacao cientcaDesvendando o Universo com Python IntroducaoPor que Python? Portabilidade; Sintaxe clara; Orientada a objetos; Interface exvel com linguagens compiladas como C e FORTRAN; Open Source; Vasta biblioteca cientca (e de uso geral) : scipy, numpy, scientic python, matplotlib... Facilidade em paralelizar codigos seja em rede ou em maquinas com multiprocessadores. 10. Sumario Introducao Computacao cientca Desvendando o Universo com Python Programacao orientada a objetos e paralelizacaoPOO Escrever codigos realmente reutilizaveis; Facilidade na extensao de projetos usando heranca; Paralelizacao BSP - Bulk Synchronous Parallel model Simples e conveniente modelo de paralelizacao de programas; Passos de comunicacao e computacao se alternam e cada passo envolve um sincronizacao de todos os processos, fazendo impossveis o surgimento de deadlocks. Pacotes importantes Pacotes fundamentais - scipy, numpy, scientic python, matplotlib 11. Sumario Introducao Computacao cientca Desvendando o Universo com Python Programacao orientada a objetos e paralelizacaoPOO Escrever codigos realmente reutilizaveis; Facilidade na extensao de projetos usando heranca; Paralelizacao BSP - Bulk Synchronous Parallel model Simples e conveniente modelo de paralelizacao de programas; Passos de comunicacao e computacao se alternam e cada passo envolve um sincronizacao de todos os processos, fazendo impossveis o surgimento de deadlocks. Pacotes importantes Pacotes fundamentais - scipy, numpy, scientic python, matplotlib 12. Sumario Introducao Computacao cientca Desvendando o Universo com Python Programacao orientada a objetos e paralelizacaoPOO Escrever codigos realmente reutilizaveis; Facilidade na extensao de projetos usando heranca; Paralelizacao BSP - Bulk Synchronous Parallel model Simples e conveniente modelo de paralelizacao de programas; Passos de comunicacao e computacao se alternam e cada passo envolve um sincronizacao de todos os processos, fazendo impossveis o surgimento de deadlocks. Pacotes importantes Pacotes fundamentais - scipy, numpy, scientic python, matplotlib 13. Sumario Introducao Computacao cientca Desvendando o Universo com Python Programacao orientada a objetos e paralelizacaoPOO Escrever codigos realmente reutilizaveis; Facilidade na extensao de projetos usando heranca; Paralelizacao BSP - Bulk Synchronous Parallel model Simples e conveniente modelo de paralelizacao de programas; Passos de comunicacao e computacao se alternam e cada passo envolve um sincronizacao de todos os processos, fazendo impossveis o surgimento de deadlocks. Pacotes importantes Pacotes fundamentais - scipy, numpy, scientic python, matplotlib 14. Sumario Introducao Computacao cientca Desvendando o Universo com Python Programacao orientada a objetos e paralelizacaoPOO Escrever codigos realmente reutilizaveis; Facilidade na extensao de projetos usando heranca; Paralelizacao BSP - Bulk Synchronous Parallel model Simples e conveniente modelo de paralelizacao de programas; Passos de comunicacao e computacao se alternam e cada passo envolve um sincronizacao de todos os processos, fazendo impossveis o surgimento de deadlocks. Pacotes importantes Pacotes fundamentais - scipy, numpy, scientic python, matplotlib 15. Sumario Introducao Computacao cientcaDesvendando o Universo com Python Linguagem dinamica e compilada - Melhor de dois mundosO FORTRAN - FORmula TRANslator- ainda vive. Trabalhos mostram que um codigo em Python tem um tempo de execucao maior que em linguagens compiladas; Para solucionar esse problema, usa-se uma linguagem compilada somente na parte critica; Faz-se uma funcao ou subrotina em Fortran; Compilar e encapsular usando f2py - Integrada com numpy; O import ocorre normalmente; 16. Sumario Introducao Computacao cientcaDesvendando o Universo com Python Linguagem dinamica e compilada - Melhor de dois mundosO FORTRAN - FORmula TRANslator- ainda vive. Trabalhos mostram que um codigo em Python tem um tempo de execucao maior que em linguagens compiladas; Para solucionar esse problema, usa-se uma linguagem compilada somente na parte critica; Faz-se uma funcao ou subrotina em Fortran; Compilar e encapsular usando f2py - Integrada com numpy; O import ocorre normalmente; 17. Sumario Introducao Computacao cientcaDesvendando o Universo com Python Linguagem dinamica e compilada - Melhor de dois mundosO FORTRAN - FORmula TRANslator- ainda vive. Trabalhos mostram que um codigo em Python tem um tempo de execucao maior que em linguagens compiladas; Para solucionar esse problema, usa-se uma linguagem compilada somente na parte critica; Faz-se uma funcao ou subrotina em Fortran; Compilar e encapsular usando f2py - Integrada com numpy; O import ocorre normalmente; 18. Sumario Introducao Computacao cientcaDesvendando o Universo com Python Linguagem dinamica e compilada - Melhor de dois mundosO FORTRAN - FORmula TRANslator- ainda vive. Trabalhos mostram que um codigo em Python tem um tempo de execucao maior que em linguagens compiladas; Para solucionar esse problema, usa-se uma linguagem compilada somente na parte critica; Faz-se uma funcao ou subrotina em Fortran; Compilar e encapsular usando f2py - Integrada com numpy; O import ocorre normalmente; 19. Sumario Introducao Computacao cientcaDesvendando o Universo com Python Linguagem dinamica e compilada - Melhor de dois mundosO FORTRAN - FORmula TRANslator- ainda vive. Trabalhos mostram que um codigo em Python tem um tempo de execucao maior que em linguagens compiladas; Para solucionar esse problema, usa-se uma linguagem compilada somente na parte critica; Faz-se uma funcao ou subrotina em Fortran; Compilar e encapsular usando f2py - Integrada com numpy; O import ocorre normalmente; 20. Sumario Introducao Computacao cientca Desvendando o Universo com Python Linguagem dinamica e compilada - Melhor de dois mundosC FILE oimundo.f subroutine oi(a,b) real*8 a,b cf2py intent(in) a cf2py intent(out) b b = a*a write(6,*) Oi mundo, b = ,b,, a = ,a return end 21. Sumario Introducao Computacao cientca Desvendando o Universo com Python Linguagem dinamica e compilada - Melhor de dois mundos f2py -c -m oimundo oimundo.f> import oimundo > oimundo.oi(5) > Oi mundo, b = 25.0, a = 5.0 22. Sumario Introducao Computacao cientcaDesvendando o Universo com Python OGCOSMO: uma ferramenta para estudo de ondas gravitacionais cosmologicas 23. Sumario Introducao Computacao cientcaDesvendando o Universo com Python OGCOSMO: uma ferramenta para estudo de ondas gravitacionais cosmologicas Ondas Gravitacionais (OG), na teoria da relatividade geral, saoperturbacoes do espaco tempo que se propagam a velocidade da luz;Desenvolvimento de um programa em Python para estudo de formacao de galaxias e estrelas, evolucao de buracos negros.A partir disso avaliar qual seria o sinal produzido, em OG, por estrelas que dao origem a buracos negros e por processo de crescimento e fusao de buracos negros. 24. Sumario Introducao Computacao cientcaDesvendando o Universo com Python OGCOSMO: uma ferramenta para estudo de ondas gravitacionais cosmologicas Ondas Gravitacionais (OG), na teoria da relatividade geral, saoperturbacoes