FluidX3D 3.7 â pakett arvutuslikuks hĂŒdrodĂŒnaamikaks, mis kasutab Boltzmanni vĂ”rrandite (LBM) ja OpenCL meetodit. Projekt positsioneeritakse kui kĂ”rgtasemeline ja mĂ€luefektiivne CFD paket, mis suudab töötada erinevate tootjate GPU-de ja CPU-dega OpenCL-i kaudu.
Versiooni 3.7 peamine muudatus on Q-kriteeriumi isopinna renderdamise tuuma optimeerimine (graphics_q()), mida kasutatakse vortikaalsete struktuuride visualiseerimiseks voos. Eelmises teostuses laadis tuum videomĂ€lust raske 32 kolmemÔÔtmelise kiirusmustri iga ruutmeetri jaoks. NĂŒĂŒd laadib 8Ă8Ă8 lĂ”imede töögrupp 11Ă11Ă11 kiirusest 16 KB esmaklassilise kohaliku mĂ€lu plokki, mille jĂ€rel kĂ”rvalised lĂ”imede jagavad need andmed. Autori hinnangul vĂ€hendab see VRAM-ist laadimiste arvu umbes 12 korda â 2,6 kiiruseni ruutmeetri kohta â ja viib tuuma reĆŸiimi, mis on piiratud mitte mĂ€lu lĂ€bilaskevĂ”ime, vaid arvutuste poolest.
Praktiline kasu sĂ”ltub konkreetsest riistvarast. Uutel GPU-del, millel on arenenud puhvri sĂŒsteem, vĂ”ib kohandamine kohaliku mĂ€lu optimeerimise osas peaaegu mitte pakkuda kasvu vĂ”i isegi veidi vĂ€hendada kaadrisagedust. Osade vanade GPU-de puhul on autor tĂ€heldanud kahe korda kiiruskasvu, mis on eriti mĂ€rkimisvÀÀrne FluidX3D interaktiivses graafikareĆŸiimis. NĂ€iteks avaldatud testides kiirus tĂ”usis NVIDIA Titan Xp-lt 7 kaadrilt/s 13 kaadrini/s, Intel UHD 770-lt 8 kaadrilt/s 14 kaadrini/s ĂŒhes reĆŸiimis, ja Intel Arc A750-lt 22 kaadrilt/s 26 kaadrini/s.
Vanade integreeritud GPU-de jaoks on ette nĂ€htud automaatne tagasipöördumine varasema teostuse juurde: osa sellistest seadmetest ei toeta 512 lĂ”ime suuruseid töögruppe vĂ”i on vĂ€hem kui 16 KB L1 kohaliku mĂ€lu. Nendes juhtudel jĂ€tkab FluidX3D vana tuumaversiooni kasutamist, sĂ€ilitades ĂŒhilduvuse.
Ka selles versioonis on lihtsustatud VR-renderdamise tingimusi, keelatud tsĂŒklite lahti tĂ”mbamine rastereerimisel «spagetide» vĂ€hendamiseks assamblee vĂ€ljundis, lisatud mikro-optimeerimine funktsioonis convert_triangle/_interpolated(), ja OpenCL-adapteris on parandatud veateavituste vĂ€ljund, kui tuuma nimi ja töögrupi suurus on tĂŒhjad.
FluidX3D sisaldab sisseehitatud interaktiivset 3D-renderdamist, mis vÔimaldab kiiresti vaadata kiirusvÀlju, voolujooni, Q-kriteeriumi isopindasid ja lÔikeid otse arvutamise ajal, ilma et oleks vajalik eksportimine eraldi töötlemistööriista. FluidX3D Projektis on samuti vÀlja toodud vabapinna toetamine, soojuskonvektsioon, Smagorinsky-Lilly turbulentse mudel, osakeste jÀlgimine, VTK eksportimine ning mitme GPU kasutamine.
Erakordselt pakub tÀhelepanu ka litsentsi staatus: FluidX3D lÀhtekood on avatud ja saadaval GitHubis, kuid projekti litsents ei ole OSI/FSF mÔttes rangelt vabaks. See lubab kasutada avalikes teadusuuringutes, hariduses ja isiklikel eesmÀrkidel, aga keelab kaubandusliku ja sÔjalise kasutamise, samuti AI mudelite koolitamise lÀhtekoodil.
Allikas: linux.org.ru
