FluidX3D v3.7

FluidX3D 3.7 – pakotne skaitliskajai hidrodinamikai, kas izmanto Boltzmanna režģu vienādojumu metodi (LBM) un OpenCL. Projekts tiek pozicionēts kā augstas veiktspējas un atmiņas ekonomisks CFD pakotne, kas spēj darboties uz dažādu ražotāju GPU un CPU caur OpenCL.

Galvenais uzlabojums versijā 3.7 ir izopavirsmu Q-kriterija (graphics_q()) attēlošanas serdes optimizācija, kas tiek izmantota vortiku struktūru vizualizācijā plūsmā. Iepriekšējā īstenojumā serde ielādēja no video atmiņas smagu 32 trīsdimensiju ātrumu veidni katrai tīkla šūnai. Tagad darba grupas pavedienu izmērs ir 8×8×8, kas ielādē 11×11×11 ātrumu bloku 16 KB pirmajā līmeņa lokālās atmiņas, pēc kura blakus esošie pavedieni atkārtoti izmanto šos datus. Autora novērtējums liecina, ka tas samazina ielādes skaitu no VRAM aptuveni 12 reizes — līdz 2,6 ātrumiem uz šūnu — un pārnes serdi no režīma, ko ierobežo atmiņas caurlaidība, uz režīmu, ko ierobežo aprēķini.

Praktiskā ieguvuma apjoms ir atkarīgs no konkrētā aprīkojuma. Uz jauniem GPU ar izstrādātu kešatmiņas sistēmu manuāla lokālās atmiņas optimizācija var nepievienot tik lielu ieguvumu vai pat nedaudz samazināt kadru biežumu. Uz dažiem veciem GPU autors ir reģistrējis paātrinājumu līdz divreiz, kas ir īpaši pamanāms interaktīvā grafiskajā režīmā FluidX3D. Piemēram, publicētajos testos NVIDIA Titan Xp paātrinājās no 7 līdz 13 kadriem/s, Intel UHD 770 — no 8 līdz 14 kadriem/s kādā no režīmiem, bet Intel Arc A750 — no 22 līdz 26 kadriem/s.

Veciem iebūvētiem GPU ir paredzēta automātiska atkāpšanās uz iepriekšējo īstenojumu: daļa no šādām ierīcēm neatbalsta darba grupas, kas sastāv no 512 pavedieniem, vai tām ir mazāk par 16 KB L1 lokālās atmiņas. Šādos gadījumos FluidX3D turpinās izmantot veco varianta serdi, saglabājot saderību.

Šajā versijā ir arī vienkāršoti apstākļi VR attēlošanai, izslēgta ciklu izvēršana rastērizācijā, lai samazinātu "spageti" assemblera izvadei, pievienota mikrooptimizācija convert_triangle/_interpolated(), un OpenCL adapterī ir labota kļūdas izvadīšana, ja serdes nosaukums ir tukšs un darba grupas izmērs.

FluidX3D ietver interaktīvu 3D renderētāju, kas ļauj apskatīt ātruma laukus, straumju līnijas, izopārvienības Q-kritērijam un šķēles tieši aprēķinu laikā, bez obligātas eksportēšanas uz atsevišķu pēcapstrādes rīku. FluidX3D Projektā arī ir paziņots par atbalstu brīvajai virsmai, siltuma konvekcijai, Smagorinsky-Lilly turbulences modeļiem, daļiņu izsekošanai, VTK eksportam un vairāku GPU darbību.


Atsevišķi jāpiebilst par licencēšanas statusu: FluidX3D avota kods ir atvērts un pieejams GitHub, tomēr projekta licence nav brīva stingrā OSI/FSF nozīmē. Tā atļauj izmantošanu publiskajos pētījumos, izglītībā un personiskajām vajadzībām, bet aizliedz komerciālu un militāru izmantošanu, kā arī AI modeļu apmācību, balstoties uz avota kodu.

Avots: linux.org.ru

Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster