SumarioIntroducao
Computacao cientıficaDesvendando o Universo com Python
Python: Uma ferramenta de computacao cientıficapara estudos Astrofısicos
Eduardo S. Pereira
22/agosto/2010
SumarioIntroducao
Computacao cientıficaDesvendando o Universo com Python
1 Introducao
2 Computacao cientıfica
3 Desvendando o Universo com Python
SumarioIntroducao
Computacao cientıficaDesvendando o Universo com Python
Introducao
Por que Python?
Portabilidade;
Sintaxe clara;
Orientada a objetos;
Interface flexıvel com linguagens compiladas como C eFORTRAN;
Open Source;
Vasta biblioteca cientıfica (e de uso geral) : scipy, numpy,scientific python, matplotlib...
Facilidade em paralelizar codigos seja em rede ou em maquinascom multiprocessadores.
SumarioIntroducao
Computacao cientıficaDesvendando o Universo com Python
Introducao
Por que Python?
Portabilidade;
Sintaxe clara;
Orientada a objetos;
Interface flexıvel com linguagens compiladas como C eFORTRAN;
Open Source;
Vasta biblioteca cientıfica (e de uso geral) : scipy, numpy,scientific python, matplotlib...
Facilidade em paralelizar codigos seja em rede ou em maquinascom multiprocessadores.
SumarioIntroducao
Computacao cientıficaDesvendando o Universo com Python
Introducao
Por que Python?
Portabilidade;
Sintaxe clara;
Orientada a objetos;
Interface flexıvel com linguagens compiladas como C eFORTRAN;
Open Source;
Vasta biblioteca cientıfica (e de uso geral) : scipy, numpy,scientific python, matplotlib...
Facilidade em paralelizar codigos seja em rede ou em maquinascom multiprocessadores.
SumarioIntroducao
Computacao cientıficaDesvendando o Universo com Python
Introducao
Por que Python?
Portabilidade;
Sintaxe clara;
Orientada a objetos;
Interface flexıvel com linguagens compiladas como C eFORTRAN;
Open Source;
Vasta biblioteca cientıfica (e de uso geral) : scipy, numpy,scientific python, matplotlib...
Facilidade em paralelizar codigos seja em rede ou em maquinascom multiprocessadores.
SumarioIntroducao
Computacao cientıficaDesvendando o Universo com Python
Introducao
Por que Python?
Portabilidade;
Sintaxe clara;
Orientada a objetos;
Interface flexıvel com linguagens compiladas como C eFORTRAN;
Open Source;
Vasta biblioteca cientıfica (e de uso geral) : scipy, numpy,scientific python, matplotlib...
Facilidade em paralelizar codigos seja em rede ou em maquinascom multiprocessadores.
SumarioIntroducao
Computacao cientıficaDesvendando o Universo com Python
Introducao
Por que Python?
Portabilidade;
Sintaxe clara;
Orientada a objetos;
Interface flexıvel com linguagens compiladas como C eFORTRAN;
Open Source;
Vasta biblioteca cientıfica (e de uso geral) : scipy, numpy,scientific python, matplotlib...
Facilidade em paralelizar codigos seja em rede ou em maquinascom multiprocessadores.
SumarioIntroducao
Computacao cientıficaDesvendando o Universo com Python
Introducao
Por que Python?
Portabilidade;
Sintaxe clara;
Orientada a objetos;
Interface flexıvel com linguagens compiladas como C eFORTRAN;
Open Source;
Vasta biblioteca cientıfica (e de uso geral) : scipy, numpy,scientific python, matplotlib...
Facilidade em paralelizar codigos seja em rede ou em maquinascom multiprocessadores.
SumarioIntroducao
Computacao cientıficaDesvendando o Universo com Python
Programacao orientada a objetos e paralelizacao
POO
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 cadapasso envolve um sincronizacao de todos os processos, fazendoimpossıveis o surgimento de deadlocks.
Pacotes importantes
Pacotes fundamentais - scipy, numpy, scientific python, matplotlib
SumarioIntroducao
Computacao cientıficaDesvendando o Universo com Python
Programacao orientada a objetos e paralelizacao
POO
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 cadapasso envolve um sincronizacao de todos os processos, fazendoimpossıveis o surgimento de deadlocks.
Pacotes importantes
Pacotes fundamentais - scipy, numpy, scientific python, matplotlib
SumarioIntroducao
Computacao cientıficaDesvendando o Universo com Python
Programacao orientada a objetos e paralelizacao
POO
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 cadapasso envolve um sincronizacao de todos os processos, fazendoimpossıveis o surgimento de deadlocks.
Pacotes importantes
Pacotes fundamentais - scipy, numpy, scientific python, matplotlib
SumarioIntroducao
Computacao cientıficaDesvendando o Universo com Python
Programacao orientada a objetos e paralelizacao
POO
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 cadapasso envolve um sincronizacao de todos os processos, fazendoimpossıveis o surgimento de deadlocks.
Pacotes importantes
Pacotes fundamentais - scipy, numpy, scientific python, matplotlib
SumarioIntroducao
Computacao cientıficaDesvendando o Universo com Python
Programacao orientada a objetos e paralelizacao
POO
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 cadapasso envolve um sincronizacao de todos os processos, fazendoimpossıveis o surgimento de deadlocks.
Pacotes importantes
Pacotes fundamentais - scipy, numpy, scientific python, matplotlib
SumarioIntroducao
Computacao cientıficaDesvendando o Universo com Python
Linguagem dinamica e compilada - Melhor de dois mundos
O FORTRAN - FORmula TRANslator- ainda vive.
Trabalhos mostram que um codigo em Python tem um tempo deexecucao maior que em linguagens compiladas;
Para solucionar esse problema, usa-se uma linguagemcompilada somente na parte critica;
Faz-se uma funcao ou subrotina em Fortran;
Compilar e encapsular usando f2py - Integrada com numpy;
O import ocorre normalmente;
SumarioIntroducao
Computacao cientıficaDesvendando o Universo com Python
Linguagem dinamica e compilada - Melhor de dois mundos
O FORTRAN - FORmula TRANslator- ainda vive.
Trabalhos mostram que um codigo em Python tem um tempo deexecucao maior que em linguagens compiladas;
Para solucionar esse problema, usa-se uma linguagemcompilada somente na parte critica;
Faz-se uma funcao ou subrotina em Fortran;
Compilar e encapsular usando f2py - Integrada com numpy;
O import ocorre normalmente;
SumarioIntroducao
Computacao cientıficaDesvendando o Universo com Python
Linguagem dinamica e compilada - Melhor de dois mundos
O FORTRAN - FORmula TRANslator- ainda vive.
Trabalhos mostram que um codigo em Python tem um tempo deexecucao maior que em linguagens compiladas;
Para solucionar esse problema, usa-se uma linguagemcompilada somente na parte critica;
Faz-se uma funcao ou subrotina em Fortran;
Compilar e encapsular usando f2py - Integrada com numpy;
O import ocorre normalmente;
SumarioIntroducao
Computacao cientıficaDesvendando o Universo com Python
Linguagem dinamica e compilada - Melhor de dois mundos
O FORTRAN - FORmula TRANslator- ainda vive.
Trabalhos mostram que um codigo em Python tem um tempo deexecucao maior que em linguagens compiladas;
Para solucionar esse problema, usa-se uma linguagemcompilada somente na parte critica;
Faz-se uma funcao ou subrotina em Fortran;
Compilar e encapsular usando f2py - Integrada com numpy;
O import ocorre normalmente;
SumarioIntroducao
Computacao cientıficaDesvendando o Universo com Python
Linguagem dinamica e compilada - Melhor de dois mundos
O FORTRAN - FORmula TRANslator- ainda vive.
Trabalhos mostram que um codigo em Python tem um tempo deexecucao maior que em linguagens compiladas;
Para solucionar esse problema, usa-se uma linguagemcompilada somente na parte critica;
Faz-se uma funcao ou subrotina em Fortran;
Compilar e encapsular usando f2py - Integrada com numpy;
O import ocorre normalmente;
SumarioIntroducao
Computacao cientıficaDesvendando o Universo com Python
Linguagem dinamica e compilada - Melhor de dois mundos
C FILE oimundo.fsubroutine oi(a,b)real*8 a,b
cf2py intent(in) acf2py intent(out) b
b = a*awrite(6,*) ’Oi mundo, b = ’,b,’, a = ’,areturnend
SumarioIntroducao
Computacao cientıficaDesvendando 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
SumarioIntroducao
Computacao cientıficaDesvendando o Universo com Python
OGCOSMO: uma ferramenta para estudo de ondasgravitacionais cosmologicas
SumarioIntroducao
Computacao cientıficaDesvendando o Universo com Python
OGCOSMO: uma ferramenta para estudo de ondasgravitacionais cosmologicas
Ondas Gravitacionais (OG), na teoria da relatividade geral, saoperturbacoes do espaco tempo que se propagam a velocidadeda luz;
Desenvolvimento de um programa em Python para estudo deformacao de galaxias e estrelas, evolucao de buracos negros.
A partir disso avaliar qual seria o sinal produzido, em OG, porestrelas que dao origem a buracos negros e por processo decrescimento e fusao de buracos negros.
SumarioIntroducao
Computacao cientıficaDesvendando o Universo com Python
OGCOSMO: uma ferramenta para estudo de ondasgravitacionais cosmologicas
Ondas Gravitacionais (OG), na teoria da relatividade geral, saoperturbacoes do espaco tempo que se propagam a velocidadeda luz;
Desenvolvimento de um programa em Python para estudo deformacao de galaxias e estrelas, evolucao de buracos negros.
A partir disso avaliar qual seria o sinal produzido, em OG, porestrelas que dao origem a buracos negros e por processo decrescimento e fusao de buracos negros.
SumarioIntroducao
Computacao cientıficaDesvendando o Universo com Python
OGCOSMO: uma ferramenta para estudo de ondasgravitacionais cosmologicas
Ondas Gravitacionais (OG), na teoria da relatividade geral, saoperturbacoes do espaco tempo que se propagam a velocidadeda luz;
Desenvolvimento de um programa em Python para estudo deformacao de galaxias e estrelas, evolucao de buracos negros.
A partir disso avaliar qual seria o sinal produzido, em OG, porestrelas que dao origem a buracos negros e por processo decrescimento e fusao de buracos negros.
SumarioIntroducao
Computacao cientıficaDesvendando o Universo com Python
OGCOSMO: uma ferramenta para estudo de ondasgravitacionais cosmologicas
SumarioIntroducao
Computacao cientıficaDesvendando o Universo com Python
OGCOSMO: uma ferramenta para estudo de ondasgravitacionais cosmologicas
SumarioIntroducao
Computacao cientıficaDesvendando o Universo com Python
OGCOSMO: uma ferramenta para estudo de ondasgravitacionais cosmologicas
SumarioIntroducao
Computacao cientıficaDesvendando o Universo com Python
FIM
Grato
MUITO OBRIGADO.