python ile paralel programlama

Post on 15-Jan-2016

195 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

PYTHON ILE PARALEL PROGRAMLAMA. ORÇUN ULUTAŞ. PYTHON Nedir ?. Python yorumlanabilir script tabanlı bir dilidir. Çoklu platform desteği Geniş kütüphane desteği Web ve masaüstü uygulamalar geliştirilebilir. YER ALDIĞI PROJELER. Belender, GIMP, Inkscape Linux dağıtımları Django Framework - PowerPoint PPT Presentation

TRANSCRIPT

PYTHON ILE PARALEL PROGRAMLAMA

ORÇUN ULUTAŞ

PYTHON Nedir ?

• Python yorumlanabilir script tabanlı bir dilidir.

• Çoklu platform desteği

• Geniş kütüphane desteği

• Web ve masaüstü uygulamalar geliştirilebilir

YER ALDIĞI PROJELER• Belender, GIMP, Inkscape

• Linux dağıtımları

• Django Framework

• Apache

• Bittorrnet

• Google, Yahoo, Facebook

• GERN, NASA

Python Syntax

Python Syntax

PRALLEL LIBRARIES

• MPI4PY

• pyMPI

• Python PROCESS

• MULTI PROCESSING

• Python Parallel

MPI4PY

from mpi4py import MPI

comm = MPI.COMM_WORLD

rank = comm.Get_rank()

if rank == 0:

data = {'a': 7, 'b': 3.14}

comm.send(data, dest=1, tag=11)

elif rank == 1:

data = comm.recv(source=0, tag=11)

Broadcast

from mpi4py import MPI

comm = MPI.COMM_WORLD

rank = comm.Get_rank()

if rank == 0:

data = {'key1' : [7, 2.72, 2+3j],

'key2' : ( 'abc', 'xyz')}

else:

data = None

data = comm.bcast(data, root=0)

MPIimport mpi

if mpi.rank == 0:

print "size=",mpi.size

print "rank=",mpi.rank,"/size=",mpi.size

root@linuxpc:/home/se364/python# mpirun –np 2 python mpi.py mypi = 3.1454 for rank 0Computed value of pi on 2 processors is 3.1417Using 120000 samples.

PPROCESS

root@linuxpc:/home/se364/python# python process.py 13

root@linuxpc:/home/se364/python# python pyocr.py 6.716026 s for traditional, serial computation.4.041723 s for parallel computation.

MULTI PROCESSING

p = multiprocessing.Pool()

po = p.map_async(fn, args)

result = po.get()

root@linuxpc:/home/se364/python# python mp.py main line('module name:', '__main__')('parent process:', 4436)('process id:', 4815)function f('module name:', '__main__')('parent process:', 4815)('process id:', 4816)('hello', 'bob')

root@linuxpc:/home/se364/python# python mp2.py 3.1415927[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]

PP

root@linuxpc:/home/se364/python# python mp2.py Start at: Mon Dec 16 23:43:35 2013Start doing somethingDo something... ... do something else...1 I'm done2 I'm doneEnd at: Mon Dec 16 23:43:40 2013

top related