FluidX3D v3.7

FluidX3D 3.7 – en beregningsbasert fluiddynamikkpakke som bruker gitter-Boltzmann-metoden (LBM) og OpenCL. Prosjektet er posisjonert som en høytytende og minneeffektiv CFD-pakke som kan kjøres på GPU-er og CPU-er fra forskjellige produsenter via OpenCL.

Hovedendringen i versjon 3.7 er optimaliseringen av Q-kriteriets isosurface-renderingskjerne (graphics_q()), som brukes til å visualisere virvelstrukturer i flyten. I den forrige implementeringen lastet kjernen inn en tung mal med 32 tredimensjonale hastigheter fra videominnet for hver gridcelle. Nå laster en 8x8x8-trådarbeidsgruppe en 11x11x11-hastighetsblokk inn i 16 KB lokalt L1-minne, hvoretter nabotråder gjenbruker disse dataene. Ifølge forfatteren reduserer dette antall VRAM-innlastinger med omtrent 12 ganger – til 2,6 hastigheter per celle – og går over i kjernen fra en minnebundet til en beregningsbundet modus.

Praktiske gevinster avhenger av spesifikk maskinvare. På nyere GPU-er med avansert mellomlagring kan manuell lokal minneoptimalisering gi liten eller ingen gevinst, eller til og med en liten reduksjon i bildefrekvens. På noen eldre GPU-er registrerte forfatteren en hastighetsøkning på opptil dobbelt så mye, spesielt merkbart i den interaktive grafikkmodusen FluidX3D. For eksempel, i publiserte tester, akselererte NVIDIA Titan Xp fra 7 til 13 fps, Intel UHD 770 fra 8 til 14 fps i én modus, og Intel Arc A750 fra 22 til 26 fps.

En automatisk tilbakeføring til den forrige implementeringen tilbys for eldre integrerte GPU-er: noen av disse enhetene støtter ikke 512-tråders arbeidsgrupper eller har mindre enn 16 KB lokalt L1-minne. I disse tilfellene vil FluidX3D fortsette å bruke den eldre kjerneversjonen, og opprettholde kompatibiliteten.

Denne versjonen inkluderer også forenklede VR-gjengivelsesbetingelser, deaktivert løkkeutrulling i rasterisering for å redusere "spaghetti" i assembly-utdata, lagt til mikrooptimalisering for convert_triangle/_interpolated(), og rettet en feil i OpenCL-adapteren når kjernenavnet og arbeidsgruppestørrelsen er tomme.

FluidX3D inkluderer en innebygd interaktiv 3D-renderer som lar deg se hastighetsfelt, strømlinjer, Q-kriterium-isosurfacer og skiver direkte under beregninger, uten å måtte eksportere til et separat etterbehandlingsverktøy. FluidX3D Prosjektet hevder også å støtte frie overflater, termisk konveksjon, Smagorinsky-Lilly-turbulensmodellen, partikkelsporing, VTK-eksport og støtte for flere GPU-er.


Det er verdt å merke seg lisensstatusen separat: kildekoden til FluidX3D er åpen og tilgjengelig på GitHub. prosjektlisens Det er ikke gratis i OSI/FSFs strenge forstand. Det tillater bruk til offentlig forskning, utdanning og personlige formål, men forbyr kommersiell og militær bruk, samt trening av AI-modeller ved hjelp av kildekoden.

Kilde: linux.org.ru

Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Kjøp pålitelig webhotell med DDoS-beskyttelse, VPS VDS-servere | ProHoster