Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

V 1.0 Szabó Zsolt, Óbudai Egyetem, 2011 1 Haladó Programozás Parallel.For()

Hasonló előadás


Az előadások a következő témára: "V 1.0 Szabó Zsolt, Óbudai Egyetem, 2011 1 Haladó Programozás Parallel.For()"— Előadás másolata:

1 V 1.0 Szabó Zsolt, Óbudai Egyetem, 2011 szabo.zsolt@nik.uni-obuda.hu 1 Haladó Programozás Parallel.For()

2 V 1.0 Parallel System.Threading.Tasks névtér Előny: nem kell kézzel párhuzamosítanom, CPU darabszámra optimalizálni A párhuzamosítást (konkrét szálakra bontást, optimalizációt) a keretrendszer végzi Szintaxis: Parallel.For(Min, Max, Action ) Min: az intervallum zárt alsó határa Max: az intervallum felső nyitott határa Action : olyan lambda kifejezés, amelynek bemeneti paramétere int, kimeneti típusa pedig void Szabó Zsolt, Óbudai Egyetem, 2011 szabo.zsolt@nik.uni-obuda.hu 2

3 V 1.0 Parallel.For feladat A és B barátságos számok, ha osztóösszegük kölcsönösen egyenlő a másik számmal Vagyis: „A” osztóösszege (önmagát kihagyva)  B „B” osztóösszege (önmagát kihagyva)  A Feladat: írjuk ki az összes barátságos számot 1 000 000 -ig a lehető leggyorsabban Szabó Zsolt, Óbudai Egyetem, 2011 szabo.zsolt@nik.uni-obuda.hu 3

4 V 1.0 Parallel.For problémák A lambda kifejezésen kívül definiált változók közös elérésűek – ennek megfelelően kell elérni őket (lehetőleg: sehogy, védelemmel, odafigyeléssel) Osztóösszegek meghatározása –Szokványos módszerrel: Ciklus i=2-től Gyök(X)-ig, minden osztót és osztópárt hozzáadok az összeghez  sok osztás –Eratosthenes szita: a 2-t mint osztót hozzá kell adni az osztóösszeghez a következő számoknál: 4, 6, 8, … A 3-t mint osztót a 6, 9, 12 számoknál … etc Oldjuk meg mindkét módszerrel + sima illetve párhuzamos for ciklussal, és mérjük az időket! Szabó Zsolt, Óbudai Egyetem, 2011 szabo.zsolt@nik.uni-obuda.hu 4

5 V 1.0 Szabó Zsolt, Óbudai Egyetem, 2011 szabo.zsolt@nik.uni-obuda.hu 5

6 6


Letölteni ppt "V 1.0 Szabó Zsolt, Óbudai Egyetem, 2011 1 Haladó Programozás Parallel.For()"

Hasonló előadás


Google Hirdetések