uma jornada alem das estrelas
DESCRIPTION
Minha apresentacao no Python Brasi[7]TRANSCRIPT
![Page 1: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/1.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Uma Jornada Alem das Estrelas: Quando Dr.Spock Conheceu o Python e o Design de alto
nıvel
Eduardo S. Pereiraemail: [email protected]/[email protected]
blog:http://gravywave.blogspot.com/twitter: duducosmos
21/outubro/2010
Uma Jornada Alem das Estrelas
![Page 2: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/2.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
1 Introducao
2 Design de Alto Nıvel
3 Fim
Uma Jornada Alem das Estrelas
![Page 3: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/3.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
O que Computacao Cientıfica?
Computacao Cientıfica sobre...
Construo de modelos matematicos;
Desenvolvimento de tecnicas para solucoes numericas;
Analisar e resolver problemas cientıficos;
...usando computador.
Uma Jornada Alem das Estrelas
![Page 4: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/4.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
O que Computacao Cientıfica?
Computacao Cientıfica sobre...
Construo de modelos matematicos;
Desenvolvimento de tecnicas para solucoes numericas;
Analisar e resolver problemas cientıficos;
...usando computador.
Uma Jornada Alem das Estrelas
![Page 5: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/5.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
O que Computacao Cientıfica?
Computacao Cientıfica sobre...
Construo de modelos matematicos;
Desenvolvimento de tecnicas para solucoes numericas;
Analisar e resolver problemas cientıficos;
...usando computador.
Uma Jornada Alem das Estrelas
![Page 6: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/6.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
O que Computacao Cientıfica?
Computacao Cientıfica sobre...
Construo de modelos matematicos;
Desenvolvimento de tecnicas para solucoes numericas;
Analisar e resolver problemas cientıficos;
...usando computador.
Uma Jornada Alem das Estrelas
![Page 7: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/7.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Comparacao de desempenho
http://www.scipy.org/PerformancePython/
Uma comparacao entre NumPy, Pyrex, Psyco, Fortran (77and 90) e C++ para resolver a equacao de Laplace. Artigooriginalmente escrito por Prabhu Ramachandran.
Uma Jornada Alem das Estrelas
![Page 8: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/8.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Comparacao de desempenho
http://www.scipy.org/PerformancePython/
Uma Jornada Alem das Estrelas
![Page 9: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/9.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Running Time
Regra do 80 - 20
20% do codigo consome 80% do tempo de calculo;
Maquinas cada vez mais potentes, em termo de poder decalculo;
Dificuldade de encontrar mao de obra especializada;
O QUE FAZER?
Uma Jornada Alem das Estrelas
![Page 10: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/10.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Running Time
Regra do 80 - 20
20% do codigo consome 80% do tempo de calculo;
Maquinas cada vez mais potentes, em termo de poder decalculo;
Dificuldade de encontrar mao de obra especializada;
O QUE FAZER?
Uma Jornada Alem das Estrelas
![Page 11: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/11.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Running Time
Regra do 80 - 20
20% do codigo consome 80% do tempo de calculo;
Maquinas cada vez mais potentes, em termo de poder decalculo;
Dificuldade de encontrar mao de obra especializada;
O QUE FAZER?
Uma Jornada Alem das Estrelas
![Page 12: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/12.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Running Time
Regra do 80 - 20
20% do codigo consome 80% do tempo de calculo;
Maquinas cada vez mais potentes, em termo de poder decalculo;
Dificuldade de encontrar mao de obra especializada;
O QUE FAZER?
Uma Jornada Alem das Estrelas
![Page 13: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/13.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Planejando antes de programar
Gerando codigo esqueleto a partir do diagrama de classes
Figura: cosmo.dia, an example of class diagram for the basiccharacteristics of a cosmological model.
Uma Jornada Alem das Estrelas
![Page 14: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/14.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Planejando antes de programar
Gerando codigo esqueleto a partir do diagrama de classes
comando dia2code cosmo.dia -t Python
Uma Jornada Alem das Estrelas
![Page 15: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/15.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Planejando antes de programar
class cosmo:””” C l a s s cosmo”””# A t t r i b u t e s :self.omegam = 0.27 # ( r e a l )self.omegab = 0.04 # ( r e a l )self.omegal = 0.73 # ( r e a l )self.h = 0.73 # ( r e a l )
Uma Jornada Alem das Estrelas
![Page 16: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/16.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Planejando antes de programar
def age(self , z):””” f u n c t i o n age
s e l f :z : r e a l
r e t u r n s r e a l”””return None # s h o u l d r a i s e
# No t I m p l em e n t e dE rr o r ( )
Uma Jornada Alem das Estrelas
![Page 17: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/17.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Planejando antes de programar
def ascale(self , z):””” f u n c t i o n a s c a l e
s e l f :z : r e a l
r e t u r n s r e a l”””return None # s h o u l d r a i s e
# No t I m p l em e n t e dE rr o r ( )
Uma Jornada Alem das Estrelas
![Page 18: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/18.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Planejando antes de programar
def rhom(self , z):””” f u n c t i o n rhom
s e l f :z : r e a l
r e t u r n s”””return None # s h o u l d r a i s e
# No t I m p l e me n t e dE rr o r ( )
Uma Jornada Alem das Estrelas
![Page 19: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/19.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Planejando antes de programar
def __init__(self , omegam = 0.27,\omegab = 0.24,\omegal = 0.73, h = 0.73):
””” f u n c t i o n i n i t
s e l f :omegam : r e a lomegab : r e a lomegal : r e a lh : r e a l
r e t u r n s”””return None # s h o u l d r a i s e
# No t I m p l em e n t e dE rr o r ( )
Uma Jornada Alem das Estrelas
![Page 20: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/20.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Quando um velho bruxo aprende ofidioglossia
O FORTRAN - FORmula TRANslator- ainda vive.comum escutar que python lento por ser interpretado, logo nouso...
Para solucionar esse problema, usa-se uma linguagemcompilada somente na parte critica;
Faz-se uma funo ou subrotina em Fortran;
Compilar e encapsular usando f2py - Integrada com numpy;
O import ocorre normalmente;
Uma Jornada Alem das Estrelas
![Page 21: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/21.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Quando um velho bruxo aprende ofidioglossia
O FORTRAN - FORmula TRANslator- ainda vive.comum escutar que python lento por ser interpretado, logo nouso...
Para solucionar esse problema, usa-se uma linguagemcompilada somente na parte critica;
Faz-se uma funo ou subrotina em Fortran;
Compilar e encapsular usando f2py - Integrada com numpy;
O import ocorre normalmente;
Uma Jornada Alem das Estrelas
![Page 22: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/22.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Quando um velho bruxo aprende ofidioglossia
O FORTRAN - FORmula TRANslator- ainda vive.comum escutar que python lento por ser interpretado, logo nouso...
Para solucionar esse problema, usa-se uma linguagemcompilada somente na parte critica;
Faz-se uma funo ou subrotina em Fortran;
Compilar e encapsular usando f2py - Integrada com numpy;
O import ocorre normalmente;
Uma Jornada Alem das Estrelas
![Page 23: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/23.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Quando um velho bruxo aprende ofidioglossia
O FORTRAN - FORmula TRANslator- ainda vive.comum escutar que python lento por ser interpretado, logo nouso...
Para solucionar esse problema, usa-se uma linguagemcompilada somente na parte critica;
Faz-se uma funo ou subrotina em Fortran;
Compilar e encapsular usando f2py - Integrada com numpy;
O import ocorre normalmente;
Uma Jornada Alem das Estrelas
![Page 24: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/24.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Quando um velho bruxo aprende ofidioglossia
O FORTRAN - FORmula TRANslator- ainda vive.comum escutar que python lento por ser interpretado, logo nouso...
Para solucionar esse problema, usa-se uma linguagemcompilada somente na parte critica;
Faz-se uma funo ou subrotina em Fortran;
Compilar e encapsular usando f2py - Integrada com numpy;
O import ocorre normalmente;
Uma Jornada Alem das Estrelas
![Page 25: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/25.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
oi
C FILE hiword.fsubroutine hiword(a,b)real*8 a,b
cf2py intent(in) acf2py intent(out) b
b = a*awrite(6,*) ’b = ’,b,’, a = ’,areturnend
$ f2py -c hiword.f -m hiword
Uma Jornada Alem das Estrelas
![Page 26: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/26.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
oi
import hiword
print hiword.__doc__#>> T h i s module ’ h iword ’ i s#>> auto−g e n e r a t e d w i t h f 2 p y ( v e r s i o n : 2 ) .#>>F u n c t i o n s :#>> b = hiword ( a )hiword.hiword(5)#>> b =25.000000000000000 , a = 5.0000000000000000#>>25.0
Uma Jornada Alem das Estrelas
![Page 27: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/27.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Maquinas Multicore
otimizacao de calculos
O uso de multiprocessing para otimizacao de calculos emmaquinas multicore.
Uma Jornada Alem das Estrelas
![Page 28: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/28.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Maquinas Multicore
otimizacao de calculos
f (x) =∫ x f
a(x)g(x,k)dk, (1)
Uma Jornada Alem das Estrelas
![Page 29: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/29.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Maquinas Multicore
otimizacao de calculos
g(x,k) nao e separavel;
[x0,x f ]
Uma Jornada Alem das Estrelas
![Page 30: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/30.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Maquinas Multicore
otimizacao de calculos
Figura: ppvector, a Python module for construction of parallel scientificcode in a multi-core machine.
https://[email protected]/duducosmos/ppvector.git
Uma Jornada Alem das Estrelas
![Page 31: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/31.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Maquinas Multicore
import mul t i p rocess ing as mpgfrom ppvector import ppvectorfrom sc ipy . i n t e g r a t e import romberg
np=10000; zmax=20.0; de l t az =zmax / npg= mpg. Array ( ’ d ’ , [ 0 for i in range ( np ) ] )#o d indica precisao sduplaz= mpg. Array ( ’ d ’ , [ zmax−i ∗de l t az for i in range ( np ) ] )#Defini−se a funcao que ira calcu lar os pontos do# vetor In t e em paralelo#k e o ponto do vetor onde se i n i c i a o calculo#E e o tamanho do subin terva lo do vetor a ser calculado#n e o numero do processo
Uma Jornada Alem das Estrelas
![Page 32: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/32.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Maquinas Multicore
def f ( x ) :return x∗∗2.0
def fun ( k ,E, n ) :pr in t ’ Esse e o processo : ’ , nk2=k+Eg [ k : k2 ] = ( romberg ( f , z [ i ] , 2 0 . 0 ) \
for i in range ( k , k2 +1) )
C1= ppvector ( np , fun ) #Cria−se uma i n s t a c i aC1. runProcess ( ) #Ativa o metodo que calcula em paralelo .
Uma Jornada Alem das Estrelas
![Page 33: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/33.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Pacotes essenciais
Numpy, Scipy, Matplotlib, Scientific Python, MayaVi
Numpy : Trabalhar com algebra matricial;
Scipy : diversos metodos de integracao, Otimizacao, Solucaode Equacoes Diferencias;
Matplotlib : Gerar Graficos 2D e 3D simples;
Scientific Python: Permite trabalhar com vetores de forca eprogramacao em Paralelo usando metodo BSP - EvitaDeadLock;
MayaVi : Graficos 3D sofisticados.
Uma Jornada Alem das Estrelas
![Page 34: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/34.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Pacotes essenciais
Numpy, Scipy, Matplotlib, Scientific Python, MayaVi
Numpy : Trabalhar com algebra matricial;
Scipy : diversos metodos de integracao, Otimizacao, Solucaode Equacoes Diferencias;
Matplotlib : Gerar Graficos 2D e 3D simples;
Scientific Python: Permite trabalhar com vetores de forca eprogramacao em Paralelo usando metodo BSP - EvitaDeadLock;
MayaVi : Graficos 3D sofisticados.
Uma Jornada Alem das Estrelas
![Page 35: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/35.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Pacotes essenciais
Numpy, Scipy, Matplotlib, Scientific Python, MayaVi
Numpy : Trabalhar com algebra matricial;
Scipy : diversos metodos de integracao, Otimizacao, Solucaode Equacoes Diferencias;
Matplotlib : Gerar Graficos 2D e 3D simples;
Scientific Python: Permite trabalhar com vetores de forca eprogramacao em Paralelo usando metodo BSP - EvitaDeadLock;
MayaVi : Graficos 3D sofisticados.
Uma Jornada Alem das Estrelas
![Page 36: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/36.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Pacotes essenciais
Numpy, Scipy, Matplotlib, Scientific Python, MayaVi
Numpy : Trabalhar com algebra matricial;
Scipy : diversos metodos de integracao, Otimizacao, Solucaode Equacoes Diferencias;
Matplotlib : Gerar Graficos 2D e 3D simples;
Scientific Python: Permite trabalhar com vetores de forca eprogramacao em Paralelo usando metodo BSP - EvitaDeadLock;
MayaVi : Graficos 3D sofisticados.
Uma Jornada Alem das Estrelas
![Page 37: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/37.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Pacotes essenciais
Numpy, Scipy, Matplotlib, Scientific Python, MayaVi
Numpy : Trabalhar com algebra matricial;
Scipy : diversos metodos de integracao, Otimizacao, Solucaode Equacoes Diferencias;
Matplotlib : Gerar Graficos 2D e 3D simples;
Scientific Python: Permite trabalhar com vetores de forca eprogramacao em Paralelo usando metodo BSP - EvitaDeadLock;
MayaVi : Graficos 3D sofisticados.
Uma Jornada Alem das Estrelas
![Page 38: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/38.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Escrevendo Matrizes no Banco de Dados -UsandoDAL Web2Py
#Usando o DAL do web2py :from gluon import DALfrom numpy import ar rayfrom cSt r ing IO import St r ing IOimport sc ipy . i o as i o
db=DAL( ’ s q l i t e : / / temporaio . db ’ )db . d e f i n e t a b l e ( ’ dados ’ ,\
F i e l d ( ’ Parametro ’ ) ,\F i e l d ( ’ Mat r i z ’ ) )
x=ar ray ( [ [ 1 , 2 , 3 ] , [ 5 , 6 , 7 ] , [ 8 , 9 , 0 ] ] )ou tput=St r ing IO ( )
Uma Jornada Alem das Estrelas
![Page 39: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/39.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Escrevendo Matrizes no Banco de Dados -UsandoDAL Web2Py
#Incerindo matriz e i d e n t i f i c a d o r# da mesma no banco de dados .
i o . mmwrite ( output , x ,\comment= ’ i sso e um tes te ’ ,\f i e l d = ’ r e a l ’ )
db . dados . i n s e r t ( Parametro= ’ Pr ime i ra ’ ,\Mat r i z=output . getva lue ( ) )
db . commit ( )output . c lose ( ) #Limpa o bu f f e r
Uma Jornada Alem das Estrelas
![Page 40: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/40.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Escrevendo Matrizes no Banco de Dados -UsandoDAL Web2Py
#Usando o DAL do web2py :from gluon import DALfrom numpy import ar rayfrom cSt r ing IO import St r ing IOimport sc ipy . i o as i o
#Selecionando matriz de um banco de dados .MM = db ( db . dados . Parametro== ’ Pr ime i ra ’ ) . s e l e c t ( ) [ 0 ]
T3=MM. Mat r i z
Inpu t=St r ing IO ( T3 )X4= i o . mmread( Inpu t )Inpu t . c lose ( ) #Limpa o Buf fer
Uma Jornada Alem das Estrelas
![Page 41: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/41.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
Graviton Perturbation
Uma Jornada Alem das Estrelas
![Page 42: Uma Jornada Alem das Estrelas](https://reader034.vdocuments.mx/reader034/viewer/2022042700/559afae21a28ab37038b4618/html5/thumbnails/42.jpg)
Uma JornadaAlem dasEstrelas
Sumrio
IntroducaoComputacaocientıfica
Desempenho
Design de AltoNıvelPrincpio de Pareto
Programao Orientadaa Objetos
PYTHON comFORTRAN
Multiprocessing
Dando Carga para asBaterias
Simulando o Universona Web
Fim
FIM
Grato
MUITO OBRIGADO
Uma Jornada Alem das Estrelas