python ile paralel programlama

16
PYTHON ILE PARALEL PROGRAMLAMA ORÇUN ULUTAŞ

Upload: ion

Post on 15-Jan-2016

194 views

Category:

Documents


0 download

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

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