Portál AbcLinuxu, 2. května 2025 07:13
Skoukl jsem screencast o rozšíření .Netu pro paralelní výpočty. Je to velmi aktuální s ohledem na rozšiřování vícejádrových procesorů. (My pythonisti máme GIL, tak tohle moc řešit nemusíme. )
Nejedná se o nic zázračného. Programátor vytipuje kód, který může běžet paralelně (typicky nějaký for-cyklus), a pak místo for(int i...
napíše Parallel.For(i => ...
a knihovna to rozhodí mezi různá jádra. Je to jednoduché, pokud tam nejsou žádné interakce.
Dost šikovné je to pro LINQ výrazy, které jsou v podstatě deklaravní, takže se paralelizují pěkně a bezpečně. Je to ilustrované na nádherném příkladu - ray-tracer naprogramovaný jako jeden gigantický LINQ dotaz. Je to hezky vidět i na tom videu.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.