- Apple iPhone 15 Pro Max - Attack on Titan
- Poco F5 - pokolian jó ajánlat
- Xiaomi 15 Ultra - kamera, telefon
- Azonnali mobilos kérdések órája
- Nothing Phone (3a) és (3a) Pro - az ügyes meg sasszemű
- A Samsung gyártja az első 2 nm-es Qualcomm lapkát?
- Garmin Forerunner 970 - fogd a pénzt, és fuss!
- Apple Watch Ultra - első nekifutás
- Egyszerre legnagyobb és legkisebb is a Garmin Venu X1
- Xiaomi 14T - nem baj, hogy nem Pro
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.
-
BadGe
aktív tag
Gyönyörű firma vagyok, de TI sem panaszkodhatok. Mi a fenére kell az a sok proci ha senki nem használja? Bár a témával nem elsősorban ez volt a célom de a magok használatára algoritmusok szintjén alkalmas az úgynevezett OpenMP
természetesen el kell olvasnotok, és ha nem lenne egyértelmű akkor itt egy egyszerű példa:
#include <omp.h>
...
#pragma omp parallel for
for ( i = 0 ; i < ndxHeader; i++ )
{
NormalizeLine2( i, treshold, mincount );
}a fenti kód N x gyorsabblesz ha több proc-ot haszál a géped. A feladat szétosztása hatékonyabban történik mintha az oprendszer thread kezelő rutinjait használnánk. kicsit izés...
a példa nagyon egyszerűnek tűnhet, de kb ez volt az első ami tényelg működött. pl egy sima tömb feltöltés adatokkal nem igazán ad meggyőző eredményt. aztán pl nem lehet kiugrani a ciklusból, szóval minél egyszerűbb a végrehajtás annál jobb.
működés: a ciklusból a háttér rendszer annyi kis ciklust készít amennyi procod van és ezeket külön-külön elindítgatja. pl egy 1000000 ciklus esetén (szándékosan nagy a szám) lesz pl 4 ciklusod: 0..249999, 250000..499999 stb...
persze ennél kifinomultabb a dolog és bizonyos szinten szabályozható is.
stb.
de igazából engem egy platform független thread kezelő környezet érdekelne...
-
BadGe
aktív tag
Üdv. programozó vagyok. és öreg. és már 2 napja nem ittam
(nem bélám, nem félredugásról beszélek...)
a címben javasolt beszélgetős témakör a legkevésbé sem triviális több szálas program végrehajtásról szól.... aki ért hozzá valószinűleg tudja miről beszélek.. akár csinálta (és szeretettel látjuk a javaslatait) akár csinálná (és akkor pedig a kérdéseinek örülük nagyon).
A témakör nagyon tág...
rögtön vitaindítónak egy saját sete-suta tapasztalat:
akkor érdemes valamit többszálúvá tenni ha a feldolgozás ideje emberi érzékszervekkel is mérhető.... (tizedmásodperces nagyságrend) viszont pl teljes mérékben érthetetlen számomra, hogy pl egy frame based játékban hogyan használhatunk több magot... oké megy +1 a fizikának.. és a többi?
ge.
<<< majd postolgatok, de mivel egyfelől ritkán hasznos a téma, másfelől nem is értek hozzá igazán, így nem igérem hogy ez önmagában érdekes "thread"-et eredményez majd. America needs YOU! >>>
Aktív témák
Hirdetés
- Kerékpárosok, bringások ide!
- Linux kezdőknek
- Windows 98/ME kérdések és válaszok
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- AMD Catalyst™ driverek topikja
- Milyen belső merevlemezt vegyek?
- Kertészet, mezőgazdaság topik
- Xbox Series X|S
- További aktív témák...
- Csere-Beszámítás! Custom vizes számítógép játékra! I7 12700KF / RTX 3090 / 32GB DDR5 / 1TB SSD
- Sigma 150-600mm f/5-6.3 DG OS HSM C ( Canon ) -Újszerű-
- Dell Latitude 7410 Strapabíró Ütésálló Profi Ultrabook Laptop 14" -80% i7-10610U 16/512 FHD IPS MATT
- Új MSI KATANA 15 Gamer Tervező Laptop 15,6" -35% i7-13620H 10Mag 16/1TB RTX 4060 8GB FHD 144Hz
- HP Omen - 27" IPS - UHD 4K - 144Hz 1ms - NVIDIA G-Sync - FreeSync - HDR 400 - USB-C - KVM Switch
- BESZÁMÍTÁS! HP ZBook 15 G6 munkaállomás - i7 9850H 16GB DDR4 RAM 512GB SSD Quadro T2000 4GB WIN10
- Telefon felvásárlás!! iPhone X/iPhone Xs/iPhone XR/iPhone Xs Max
- AKCIÓ! Dell Alienware M17 R3 Gamer notebook - i7 10750H 16GB DDR4 1TB SSD RTX 2070 8GB WIN10
- Dell USB-C, Thunderbolt 3, TB3, TB4 dokkolók (K20A) WD19TB/ WD19TBS/ WD22TB4, (K16A) TB16/ TB18DC
- Bomba ár HP X360 11 G5 - Intel 4020 I 4GB I 128GB SSD I 11,6" HD Touch I Cam I W11 I Garancia!
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest