2024. május 19., vasárnap

Modell-iskola

Adott napon: 
Keresés:
#247
A mai publikus programok alkalmatlanok a többprocesszoros mûködésre, hiszen pl. évek óta vannak kétmagos CPU-k, mégis csak 1-2 éve kezdik el rendesen kihasználni õket, de pl az egyik legnagyobb publikus szegmens, a játékipar kb sehol nem áll ebben.

A szerverek persze már profitálnak ezekbõl, nem véletlen hogy a Sun Niagara processzorok ( Link ) már ennyire elõreszaladtak pl az Intelhez képest.

Az, hogy egy feladat mennyire párhuzamosítható... ez valóban érdekes kérdés, ám legtöbbször nem maga az elérendõ cél, hanem a megvalósítás a korlátja a dolognak. Az egymásra épülõ eredmények ugyanis pl egy fát alkotnak, annak pedig az ágait azért szét lehet osztani többé-kevésbé.

Másrészt a párhuzamosítás a fordító dolga is lehet, hiszen egy száz lépéses ciklust lehetséges (nyilván a ciklus belsõ tartalmának erre alkalmasnak kell lennie) 10 magon 10-10 lépésben lefuttatni; de erre a fordítónak kell rájönnie.


Természetesen ahhoz, hogy mondjuk a Windows vagy a Linux ne egy AMD-n, hanem egy Gef GTX-en fusson, alapvetõ átalakítások kellenek, de igaziból nincs rá szükség, azok a terület viszont, ahol ez értelmes, szvsz 3-4-5 éven belül át fognak állni.
#245
Az a bizonyos összefûzés lassít be nagyon... Ez olyan, mintha egy kispolskikra optimalizált városban küzdene az ember kamionokkal vidám. A párhuzamos programozással nem mondtam újat, nem erre akartam utalni - inkább arra, hogy csak jól szétszedhetõ feladatoknál alkalmazható. Egy videónál egy effektet lefuttatni, vagy hasonlókhoz túl sok dolog nem kell, pixelenként párhuzamosítjuk. De egy egymástól döntõ módon függõ rácsfelbontásra megoldani mindezt? Persze sokmindent nem tudok, csak már próbálkoztam két szálra bontani egy programot, de annyi minden problémát felvet az illetõ lépés, hogy egy egyszerû esetben is pontos tervezés, tudás és rutin ... kellene.
Egyébként célom, hogy valaha életemben numerikus idõjárási modelleket fogok programozni, de ennek elérése érdekében több okból a meteorológia helyett az informatikát választottam. Jó lenne, ha jobban értenék hozzá majd sok-sok év múlva nevet
Amúgy nem véletlen, hogy ma még "csak" a sokprocesszoros erõmûvek jelentik a csúcsot, és nem a videokártyás módszerek.
#244
Azért a párhuzamos programozás elég régi dolog, vannak látványos alkalmazásai is, pl a a legenda szerint a Terminátor 2-ben a T1000-es minden pixeljét egy-egy kb C64 képességû processzor számolta, ezért kaptak Oscart, már ha igaz a mese...

Nem egyszerû valóban a párhuzamos programozás, de nem is megoldhatatlan dolog, pláne egy ilyen horderejû kérdés esetén.

A 256 bites ábrázolással nincs semmi gond, a decimal pl 16 byte hosszú, ami pont 256 bit: Link . ASM szinten "csak" össze kell fûzni 2-4 regisztert és kész... vidám
#243
Az oroszok elég jól törnek jelszavakat az Nvidia kártyákkal. Ha van legalább annyi utasításuk, mint egy jobb RISC processzornak (sztem van), akkor nem olyan sok akadálya lehet a másféle mûkõdésre programozásnak, legfeljebb nem 20-23szor, csak 15-ször lesz gyorsabb, mint egy rendes CPU vidám vidám
#242
A WRF-et már tesztelgetik ezzel (NVIDIA 8800 GTX):
Link

Egyébként a WRF-ben éppen ez a jó hogy jól dokumentált, átlátható, nyílt forráskódú, moduláris (ezért is van (ARW/NMM) dinamikai "modulja"), így viszonylag hamar felszínre kerülnek a hibák és a megoldások. Ráadásul a fejlesztõk elég nyitottak a felhasználók véleményére, tapasztalataira. Lassan 9 éve fejlesztik, a legtöbb helyen még csak most kezdik operatívan használgatni, szóval alakul mint púpos gyerek a.. laza
#241
Ezen mondjuk segíteni lehetne egy közös open source platform létrehozásával.
Ha megfelelõen moduláris mindenki hozzátehetné azt amihez a legjobban ért.

Mondjuk teljesítményben lehet gyengébb lenne, mint egy agyon optimalizált, viszont átláthatatlan rendszer.
#240
Nem röhögök, ugyanis tisztában vagyok vele, hogy a csúcs videokártyák már 1 teraflop* számítási kapacitás környékén járnak.
Csak az a kérdés, hogy ez a célhardver mennyire alkalmazható "univárzális" célokra. Vagy a GPU-ra is le tudjuk e programozni amit egy cpu-val kiszámoltatnánk.



*(ha valaki nem tudná mit jelent ez)
1 teraflop = 10^12 lebegõpontos számítás / másodperc.
#239
Csak párhuzamosan programozni - na az még finomabb dolog (és inkább csak aprócska részletekre bontható feladatoknál villant a videókártya - játékok pixelei, videókonvertálás, renderelés, stb. - ahogy mondani szokták, a "jól párhuzamosítható feladatok").
Ettõl függetlenül a tipikus hibákat nem szabad szubjektíven megítélni (melegebb felé kevésbé téved - milliónyi pontosító kérdés merül fel egyetlen kijelentés miatt).
Továbbá 256 bites számábrázolás jelenleg lehetetlen, de ez a processzoraink és tárolóink felépítésébõl adódik (már a decimális pontosság is hatalmas sebesség-visszaesést eredményezett tesztjeimben, mint a double pontosságú).
A fejlõdés ezen a területen szerintem marad állandó, kizárt, hogy ne legyen késõbb még finomabb felbontású globális léptékû modell, pontosabb eredményekkel és kevesebb hibával. Egyetemen furcsa volt olyan gráfelméleti tételt tanulni, amit épp a szomszéd épületbeli (ELTE) professzor bizonyított be nemrég, 2006-ban... Szóval a matematika nem ért véget még, és gondolom a pontosság és pontosítás terén sem.
Bár a videókártyákat átnevezhetjük "fizikai számlálóegység"-gé, még ha nem is ugyanaz, korrektebb...
#238
Szerintem annyira bonyolult, hogy még egy hétköznapi fizikus-matematikus-programozómatematikus sem látja át, csak az, aki fejlesztette vagy évek óta ezzel foglalkozik.

Arra, hogy mi laikusok átlássuk pedig semmi esély.
#237
"de ugye sokan sokáig nézegetjük pl a GFS kimeneteket és azokon bizony látszik, hogy mindig ugyanazokat a hibákat követi el, gyakran egyfelé téved (jelesül szinte mindig hidegebbet ad, mint ami lesz, érzetre a meleg felé kevésbé téved). "

Én ilyen tendenciát nem látok benne, ez az érzet szerintem csak a szujektivitásból adódik, hiszen a legtöbb "nézegetõ"-nek az tetszik, ha esemény van, és a legtöbb esemény lehûléshez tartozik. Emiatt, ha esemény marad el, mert nem lesz annyira hideg -2 fok helyett +2, azt jobban érzékeljük, mintha egy felmelegedéskor 25 helyett csak 21 realizálódik.

"Persze meg kéne nézni, így van-e, "

Igen, ez lenne a megoldás...

"de a kimeneti eredményében sem az iterációs fejlesztés, sem a mesterséges intelligencia alkalmazása nem látszik. "

Nekünk nem látszik, a vele foglalkozóknak, lehet, hogy látszik.
#236
Jaja ... meg az oroszok után menve, pl nem processzorokkal, hanem videokártyákkal (nemröhög!!!) számoltatni, amit kell, ma ugyanis azok a párhuzamosítás ászai.
#235
Biztos nem egyszerû, de ugye sokan sokáig nézegetjük pl a GFS kimeneteket és azokon bizony látszik, hogy mindig ugyanazokat a hibákat követi el, gyakran egyfelé téved (jelesül szinte mindig hidegebbet ad, mint ami lesz, érzetre a meleg felé kevésbé téved). Persze meg kéne nézni, így van-e, de a kimeneti eredményében sem az iterációs fejlesztés, sem a mesterséges intelligencia alkalmazása nem látszik. Érdekelne hogy miért ...
#234
"Lehet, de mit értesz kellõ számítási kapacitáson."

pl ha van elég kapacitás lehet növelni a számábrázolási ponotsságot. Nem 32 vagy 64 biten ábrázolsz egy lebegõpontos számot, hanem pl 256-on, így csökken a hiba.
#233
Lehet, de mit értesz kellõ számítási kapacitáson.

Egy 3 dimenziós rácson a szükséges számítási igény a finomítással köbösen emelkedik, a hiba - minél kisebb számokkal dolgozunk, annál nagyobb lesz (lebegõpontos osztásnál ugye kis számmal, ha osztunk, a hiba óriási méretûre duzzad), úgyhogy nem hinném, hogy annyira egyszerû lenne ezt kiszámolni, vagy annyira egyértelmû lenne, hogy ha finomítjuk a felbontást, akkor attól reálisabb eredményt szolgáltat a modell.

Sõt, szerintem a pontosságnak konkrét nem akármilyen kicsi felbontásnál létezik maximuma, attól kisebb vagy nagyobb felbontásra romlik a pontosság.

Arról van szó, hogy egy komplikált modell, amiben a számok és egyenletek széles skálája található meg, egy adott paraméter megváltoztatása rendkívül bonyolult módon jelenik meg a végeredményben, elõfordulhat, hogy egyes kimenõ adatok pontosabbak lesznek, mások viszont pontatlanok.

Tudósok ezrei foglalkoznak ezzel a problémával, ha ennyire egyszerû lenne, mint ahogy írod, nem hiszem, hogy sokáig kapnák a fizetésüket.
#232
Milyen kezdeti adatok vannak itt, amiket nem lehet pontosan mérni? Vagy az van, hogy a hõmérséklet mérésekor pl nem elég a tized, századfokos pontosság?

A numerikus módszer valóban nem teljesen pontos sosem, de kellõ számitási kapacitással bármennyire meg lehet közelíteni a jó eredményt.
#231
Nem, mert ettõl a kezdeti adatok pontossága nem fog jelentõsen nõni, valamint nem csak a kezdeti adatok pontatlansága szolgáltatja a hibát, hanem az a módszer is, amivel a modell numerikusan megoldja a differenciálegyenlet-rendszereket.
#230
... feltéve hogy a mérõállomások számát nem növeled a rácsfelbontással együtt, nem ?

Ha minden rácspontba teszel egy állomást, akkor javulna az eredmény, gondolom.
#229
Ezek a modellek differenciálisak? Azaz pl a GFS 6 óránként a nulláról kezdve újraszámol mindent, vagy "csak" a változásokhoz igazítja a 6 órával azelõtti állapotot?
#228
Azt is érdemes hozzátenni, hogy minél jobban finomítod a rácsfelbontást, a kezdeti hiba annál nagyobbra nõ, ezért egy bizonyos rácstávolság-értéknél kisebb felbontásban nincs is értelme futtatni.

#227
Maradjunk a példánál.

Mit "mond" valójában a modell csapadék-elõrejelzése egy adott gridboxra? Azt, hogy azon "pontban" - lévén, hogy ez a modellben egy pontként fogható fel, amire, vagy amiben az egyenleteket megoldjuk, a fizikai számításokat elvégezzük - lehet-e csapadék, és ha igen mennyi lehet. Nem tér ki arra, hogy az adott dobozban mekkora a valószínûsége, vagy éppen a doboz mekkora részén lehet, nem is lehet elvárni ilyet tõle. Ez olyan lenne, mintha kint a hõmérõ házikóban ott a higanyos hõmérõnk és 25 fokot mutat. Én meg megkérdem, hogy az adott ponton, abban az pár mm-es sugarú környezetben, ahol van a kis gömböcske, hol van pontosan a 25 fok?

Ha mondjuk egy gridbox Baranya megyét fedi le és oda vár teszem azt 1 mm-t, értelmetlen megkérdezni azon kb 50x50 km-es területen, hogy na és az az 1 mm melyik részén fog leesni, vagy mekkora területen.

A mi szemünkben igen az egy terület, de a modell szemében "csak egy pont". Ha valaki mégis kíváncsi, hogy az a kevés csapadék hol valószínûbb azon gridboxon belül, az nézze meg, hogy a nagyobb felbontású - de még hidrosztatikus - modell - amelynek már mondjuk 5-8 km-es a horizontális rácstávolsága - hova értelmezi azt a csapadékot. (Leskálázás)

Ráadásul ez csak a modell csapadék-elõrejelzése. Ha végig gondolja az ember hány más miylen paraméter van még és ezeket hogy "félre" értelmezik... nem csoda, hogy néha jogtalak kritikát kapnak a modellek, illetve az sem csoda, hogy az elõrejelzés - fõleg minél kisebb skálára (térben, idõben) nézzük, végezzük - mennyire nem gyerekjáték.



#223
A GFS operatív futása valahogy úgy van megcsinálva, hogy "picit nedvesebb", mint ami szokott lenni. Ezért van, hogy fõleg télen a legkisebb csapadékesélynél már parametrizál csapadékot. Ennek köszönhetõen idén télen jó párszor verte az ECMWF-et fõleg a kis szállingózó havazásokban, de más helyzetben is. Mivel "nedvesebb" ezért evidens, hogy a hõmérsékletet is alacsonyabbnak kalkulálja. Lehetséges, hogy azért van így kialakítva a modell - mondom csak feltételezés - az amerikai kontinensen elõforduló hatalmas esõzések során lehulló csapadék mennyiségét még jobban megfogják. Egy két verifikációs vizsgálatot láttam és az bizony azt mutatta, hogy ott még a valósághoz képest kicsit alábecsül. No igen, ha egy globális modellbe valahol belenyúlunk nagyon vigyázni kell, hogy mit csinálunk mert lehet hogy valahol javítani tudunk, de cserébe valahol meg ront a helyzeten. Szóval ez egy nagyon finom játékszer és nem hiába van, hogy egyik napról a másikra nem lehet csak új így belenyúlni meg úgy. Mi igaz elmondjuk, hogy áh ebben nem jó, abban nem, ja ezt megfogta.... közben meg valószínûleg több tízen, hanem több százan hónapos, éves kutatásokat folytatva próbálják javítani, még jobbá tenni - néha szinte alig javítva valamit. Mégis azok a pici javulások óriási munka gyümölcsei.

A nagyobb felbontású nem hidrosztatikus modellek - mint a WRF, MM5 - által elõrejelzett dolgokat már más dimenzióban, más szemmel érdemes vizsgálni mint egy globális modell esetén.
Egy ilyen - nevezzük most nowcasting modellnek (NM) - NM-ben például az ember télen megvizsgálja hogy különbözõ szintekre milyen csapadékelem típust ad a modell. Vagy õsszel megnézi, hogy a felszín közelébe - mondjuk 100 m-es szintre - ad-e felhõvíz mennyiséget (cloud liquid water). Ugyanis, ha ad, az azt jelenti, hogy az NM közvetlenül a felszín közelében már adott nedvesség mellett túltelítetté számolja a levegõt és a benne lévõ vízgõz kicsapódik - vagyis ködöt szimulál.

Más. Ugye a globális modell verifikációja nem olyan könnyû, mint azt az ember gondolná. Objektív verifikációnál ugyanis nagyon nagyon szem elõtt kell tartani, hogy az adott elõrejelzett meteorológiai elemet "milyen értelemben" jelzi elõre a modell. Ugye a csapadékot területi átlagban számolja, becsüli. Vagyis egy 50km-es horizontális rácsfelbontású modell esetén egy 50x50 km-es négyzetre (gridbox) számolja ki. Most, ha nyár van és erre a 2500km2-re 5 mm-t számol, de az adott "dobozban" csak egy 10x10kmes területen volt csapadék, de ott 125 mm esett le egy zivatarból, az jó vagy nem?nevet Elsõ gondolatra lehet sokan azt mondanák nem, mert a maradék 2400km2-en nem volt semmi csapi. DE! 100km2-en 125 mm esett, így 2500 km2-re területi átlagban kijön az 5 mmnevet. Jó lehet valaki azt mondja statisztika az amivel mindent ki lehet hozni. Pedig most nem, csak egyszerûen értelmeztem mit is jelez elõre a modell - és innen látszik mi az amit az ember akár "bele is képzelhet", "bele magyarázhat", ha nem a megfelelõ képpen használja, értelmezi a modell outputjait.

Utolsó észlelés

2024-05-19 05:04:57

Szentmártonkáta

10.7 °C

na00

RH: 91 | P: 1012.5

Észlelési napló

Térképek

Radar
map
Aktuális hõmérséklet
map
Aktuális szél
map

Utolsó kép

121425

Hírek, események

Miért nem láttam (még soha) a sarki fényt?

Időjárás-változás | 2024-05-13 08:01

pic
Pár infó az idei év eddigi egyik legizgalmasabb eseményével kapcsolatban.