FluidX3D v3.7

FluidX3D 3.7 – pakett arvutuslikuks hüdrodünaaikaks, mis kasutab Boltzmanni võrrandite (LBM) meetodit ja OpenCL-i. Projekt positsioneerib ennast kui kõrge jõudlusega ja mälu ökonoomset CFD-paketti, mis suudab töötada erinevate tootjate GPU-de ja CPU-dega OpenCL-i kaudu.

Versiooni 3.7 peamine muudatus oli Q-kriteeriumi isopindade joonistamise tuuma optimeerimine (graphics_q()), mida kasutatakse voolu keerisstruktuuride visualiseerimiseks. Varasemal rakendusel laadis tuum videomälust 32 kolmemõõtmelise kiirusmalli iga ruudustiku rakenduse jaoks. Nüüd laadib 8×8×8 lõime töötav rühm 16 KB esimest taseme lokaalset mälu, 11×11×11 kiirusest ploki, mille järel naaberliinid kordavad neid andmeid. Autori hinnangul vähendab see VRAM-i laadimiste arvu umbes 12 korda — 2,6 kiiruseni rakenduse kohta — ja viib tuuma mälu läbilaskevõimsusega piiratud režiimist arvutustega piiratud režiimi.

Praktiline kasu sõltub konkreetsest riistvarast. Uute GPU-dega, millel on arenenud vahemälu süsteem, võib kohaliku mälutöötluse käsitsi optimeerimine anda peaaegu nulli kasu või isegi vähendada kaadrisagedust. Osadel vanematel GPU-del on autor täheldanud kahekordset kiiruskasvu, mis on eriti märgatav interaktiivses graafilises režiimis FluidX3D. Näiteks avaldatud testides kiirus suurenes NVIDIA Titan Xp puhul 7 kaadrist/s 13 kaadrini/s, Intel UHD 770 puhul 8 kaadrist/s 14 kaadrini/s ühes režiimis ja Intel Arc A750 puhul 22 kaadrist/s 26 kaadrini/s.

Vanade sisseehitatud GPU-de puhul on automaatne tagasivalik eelneva versiooni kasutamiseks: osa neist seadmetest ei toeta 512 lõime suuruseid gruppe või omavad vähem kui 16 KB L1 lokaalmälu. Nendes olukordades jätkab FluidX3D vana südamiku variandi kasutamist, säilitades ühilduvuse.

Samas versioonis on ka VR-renderdamise tingimused lihtsustatud, tsüklite avamine rasterdamises on keelatud, et vähendada 'spagetti' assembleri väljundis, vähendatud on mikrooptimeerimist funktsioonis convert_triangle/_interpolated(), ning OpenCL-adapteris on parandatud veateade tühja südamiku nime ja töögrupi suuruse puhul.

FluidX3D sisaldab sisseehitatud interaktiivset 3D-renderda, mis võimaldab vaadata kiirusvälju, vooluahelikke, Q-kriteeriumi isopindasid ja lõikeid otse arvutuse ajal, ilma et oleks vaja eksportida eraldi töötlustootesse. FluidX3D Projektis on samuti kuulutatud toetust vabadele pindadele, soojusülekandele, Smagorinsky-Lilly turbulentsimudelitele, osakeste jälgimisele, VTK eksportimisele ja mitme GPU kasutamisele.


Eraldi tasub märkida litsentsi staatust: FluidX3D lähtekood on avatud ja saadaval GitHubis, kuid projekti litsents ei ole OSI/FSF range tähenduses tasuta. See lubab kasutamist avalikeks teadusuuringuteks, hariduseks ja isiklike eesmärkide jaoks, kuid keelab kaubanduslikud ja sõjalised rakendused, samuti tehisintellekti mudelite koolitamise lähtekoodil.

Allikas: linux.org.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster