Hirdetés
-
Az üzleti szférának szól a SmartThings Pro
ma A kütyüket összefogó megoldásból irodák, üzletek és hotelek is profitálhatnak.
-
Spyra: nagynyomású, akkus, automata vízipuska
lo Type-C port, egy töltéssel 2200 lövés, több, mint 2 kg-os súly, automata víz felszívás... Start the epic! :)
-
Újabb államok perelik az Apple-t, mert sok pénzt szed ki a vevőkből
it Négy újabb amerikai állam csatlakozott az USA Apple ellen indított, monopolellenes peréhez.
Aktív témák
-
BadGe
aktív tag
fuck multithreading. 54 sec vs 2 sec, és nem 2 processzortól gyorsult 27szeresre a végrehajtás. (mióta két maggal gazdálkodok, a nyers erő bedőlése után mindíg rájövök, hogy dualcore nélkül is lehet gyorsítani).
vegyük ki a képletből hogy esetleg szar kóder vagyok. elvégre ha valami tud 27x gyorsabb lenni akkor elég szar lehetett az alap, de nem, az eset egyáltalán nem nyilvánvaló:
két egymásba ágyazott ciklus, kb 53000x53000 lefutással. (önállóan ez kb 2,5 mp valami kamu tevékenységgel)
a neheze természetesen a ciklusmagokon belül kezdődik, itt durva poligon/poligon tartalmazás vizsgálatok következnek ami poligononként sokezer pont esetén tényleg nem piskóta. Ez kb magyarázza is az 54 mp-es végrehajtást, végülis kivárható. (oké, durvább esetben volt ez 14 perc is, de azt most nem tudtam mérni, a lényeg hogy a lassúságot megmagyaráztam a feladat számításigényével (tényleg az))
az OMP kapcsán viszont elég gyorsan kiderül ha valami nem túl hatékony:
esetembem kis varázslás után elkezdett mindkét mag dolgozni, fasza, 50 helyett 100% proc terhelés, nézzük a futásidőt: 54 sec. basszameg.
ezután a ciklust annyira levágdostam hogy a végén már csak a két egymásba ágyazott 53000-es ciklus futott, szintén 54 másodpercig. pedig a durva poligonos műveleteket még el sem kezdte... (fent már írtam , hogy a nyers ciklus csak 2,5mp-ig futott volna)
kiderült, hogy az adatstruktúrák miatt kb 167GB adatot mozgatok (tulajdonképpen sima tömb[x].val tömb[y].val műveletek). 167 GB már sok szerintem a DDR-nek. nem számoltam nagyon pontosan utána. Maga a tömb 3,5 megás vagyis nem túl cache barát...
megoldás: szétdobáltam a végrehajtást egy 4x4 (később 6x6)-os mátrixba így egyszerre csak kisebb területek kevesebb (cache barát) adatmennyiségét kell feldolgoznom, egyébként pontosanugyanúgy mint eddig.
eszméletlen.
ezek után akkor most nekifoghatnék ismét egy kis többszálasításnak, de egyelőre minek most gyorsult 27x-re a program. a maradék 2-őt elteszem jövőre, hátha még akkor is tart a válság és már csak izomból gyorsíthatok
ge.
tehát tanulság: a cache csodákra képes. (a lefutás szám is csökkent, de mint írtam pusztán a ciklus végrehajtások önmagukban nem lettek volna ennyire lassúak, ha nem kell várakozniuk a memóriából becsordogáló adatokra).
ez azért fontos kérdés, mert mert a processzorok és a memóriák nem 27x gyorsabbak, nem lehet a végtelenségig szarul megírt programokkal újabb hardverekre várni.
persze ha nem lett volna a duplamag akkor még mindíg azt hinném, hogy a poligonok miatt lassú a végrehajtás.
Aktív témák
- Garanciás Ryzen 5900x eladó
- Dell Latitude E6330, 13,3" HD Kijelző, I5-3320M, 4GB DDR3, 320GB HDD, WIN 10, Számla, Garancia
- Dell Latitude E6420, 14" HD+ Kijelző, I5-2540M, 4GB DDR3, 250GB HDD, Nvidia VGA, WIN 10, Számla, Gar
- be quiet! PURE POWER 11 tápegység I 600W I Félmoduláris I 80 PLUS Gold
- HP EliteBook 850 G7 Intel Core i7-10610U, 32GB RAM, 512GB NVMe SSD