Transcript
Page 1: PYTHON  ILE PARALEL PROGRAMLAMA

PYTHON ILE PARALEL PROGRAMLAMA

ORÇUN ULUTAŞ

Page 2: PYTHON  ILE PARALEL PROGRAMLAMA

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

Page 3: PYTHON  ILE PARALEL PROGRAMLAMA

YER ALDIĞI PROJELER• Belender, GIMP, Inkscape

• Linux dağıtımları

• Django Framework

• Apache

• Bittorrnet

• Google, Yahoo, Facebook

• GERN, NASA

Page 4: PYTHON  ILE PARALEL PROGRAMLAMA

Python Syntax

Page 5: PYTHON  ILE PARALEL PROGRAMLAMA

Python Syntax

Page 6: PYTHON  ILE PARALEL PROGRAMLAMA

PRALLEL LIBRARIES

• MPI4PY

• pyMPI

• Python PROCESS

• MULTI PROCESSING

• Python Parallel

Page 7: PYTHON  ILE PARALEL PROGRAMLAMA

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)

Page 8: PYTHON  ILE PARALEL PROGRAMLAMA

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)

Page 9: PYTHON  ILE PARALEL PROGRAMLAMA

MPIimport mpi

if mpi.rank == 0:

print "size=",mpi.size

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

Page 10: PYTHON  ILE PARALEL PROGRAMLAMA

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.

Page 11: PYTHON  ILE PARALEL PROGRAMLAMA

PPROCESS

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

Page 12: PYTHON  ILE PARALEL PROGRAMLAMA

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

Page 13: PYTHON  ILE PARALEL PROGRAMLAMA

MULTI PROCESSING

p = multiprocessing.Pool()

po = p.map_async(fn, args)

result = po.get()

Page 14: PYTHON  ILE PARALEL PROGRAMLAMA

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')

Page 15: PYTHON  ILE PARALEL PROGRAMLAMA

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

Page 16: PYTHON  ILE PARALEL PROGRAMLAMA

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