Download pdf - Slides tdc 2010

Transcript
Page 1: Slides tdc 2010

SumarioIntroducao

Computacao cientıficaDesvendando o Universo com Python

Python: Uma ferramenta de computacao cientıficapara estudos Astrofısicos

Eduardo S. Pereira

22/agosto/2010

Page 2: Slides tdc 2010

SumarioIntroducao

Computacao cientıficaDesvendando o Universo com Python

1 Introducao

2 Computacao cientıfica

3 Desvendando o Universo com Python

Page 3: Slides tdc 2010

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.

Page 4: Slides tdc 2010

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.

Page 5: Slides tdc 2010

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.

Page 6: Slides tdc 2010

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.

Page 7: Slides tdc 2010

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.

Page 8: Slides tdc 2010

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.

Page 9: Slides tdc 2010

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.

Page 10: Slides tdc 2010

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

Page 11: Slides tdc 2010

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

Page 12: Slides tdc 2010

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

Page 13: Slides tdc 2010

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

Page 14: Slides tdc 2010

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

Page 15: Slides tdc 2010

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;

Page 16: Slides tdc 2010

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;

Page 17: Slides tdc 2010

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;

Page 18: Slides tdc 2010

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;

Page 19: Slides tdc 2010

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;

Page 20: Slides tdc 2010

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

Page 21: Slides tdc 2010

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

Page 22: Slides tdc 2010

SumarioIntroducao

Computacao cientıficaDesvendando o Universo com Python

OGCOSMO: uma ferramenta para estudo de ondasgravitacionais cosmologicas

Page 23: Slides tdc 2010

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.

Page 24: Slides tdc 2010

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.

Page 25: Slides tdc 2010

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.

Page 26: Slides tdc 2010

SumarioIntroducao

Computacao cientıficaDesvendando o Universo com Python

OGCOSMO: uma ferramenta para estudo de ondasgravitacionais cosmologicas

Page 27: Slides tdc 2010

SumarioIntroducao

Computacao cientıficaDesvendando o Universo com Python

OGCOSMO: uma ferramenta para estudo de ondasgravitacionais cosmologicas

Page 28: Slides tdc 2010

SumarioIntroducao

Computacao cientıficaDesvendando o Universo com Python

OGCOSMO: uma ferramenta para estudo de ondasgravitacionais cosmologicas

Page 29: Slides tdc 2010

SumarioIntroducao

Computacao cientıficaDesvendando o Universo com Python

FIM

Grato

MUITO OBRIGADO.