FluidX3D v3.7

FluidX3D 3.7 – pakket voor computationale hydrodynamica, dat gebruik maakt van de methode van Boltzmann-gelijksoortige netwerken (LBM) en OpenCL. Het project wordt gepositioneerd als een krachtige en geheugenbesparende CFD-pakket dat zowel op GPU's als CPU's van verschillende fabrikanten kan draaien via OpenCL.

De belangrijkste wijziging in versie 3.7 is de optimalisatie van de renderkernel voor het visualiseren van isovlakken volgens de Q-criteria (graphics_q()), die worden gebruikt voor de visualisatie van wervelstructuren in de stroom. In de vorige implementatie laadde de kernel een zware template van 32 driedimensionale snelheden uit het videogeheugen voor elke cel in het raster. Nu laadt een werkgroeppool van threads van 8Ɨ8Ɨ8 een blok van 11Ɨ11Ɨ11 snelheden in 16 KB lokale L1-geheugen, waarna aangrenzende threads deze gegevens hergebruiken. Volgens de auteur vermindert dit het aantal laadsessies uit VRAM met ongeveer 12 keer — tot 2,6 snelheden per cel — en brengt de kernel over van een capaciteit beperkende modus naar een rekencapaciteit beperkende modus.

De praktische winst hangt af van de specifieke hardware. Op nieuwe GPU's met een geavanceerd cache-systeem kan handmatige optimalisatie van lokaal geheugen bijna geen winst opleveren of zelfs de frame rate iets verlagen. Bij sommige oudere GPU’s heeft de auteur versnellingen tot twee keer genoteerd, wat vooral merkbaar is in de interactieve grafische modus van FluidX3D. In gepubliceerd testen versneld de NVIDIA Titan Xp van 7 naar 13 frames/s, de Intel UHD 770 van 8 naar 14 frames/s in ƩƩn van de modi, en de Intel Arc A750 van 22 naar 26 frames/s.

Voor oudere geĆÆntegreerde GPU's is er een automatische terugval naar de vorige implementatie: sommige van deze apparaten ondersteunen geen werkgroepen van 512 threads of hebben minder dan 16 KB lokale L1-geheugen. In deze gevallen blijft FluidX3D de oude versie van de kernel gebruiken, waardoor compatibiliteit behouden blijft.

Ook in deze versie zijn de voorwaarden voor VR-rendering vereenvoudigd, is het ontvouwen van lussen in rasterisatie uitgeschakeld om "spaghetti" in de assembleruitvoer te verminderen, is er een micro-optimalisatie toegevoegd in convert_triangle/_interpolated(), en is de foutuitvoer in de OpenCL-adapter gecorrigeerd bij een lege naam van de kernel en werkgroepgrootte.

FluidX3D bevat een ingebouwde interactieve 3D-renderer waarmee je snelheidsvelden, stroomlijnen, isoppervlakken van de Q-criteria en snedes kunt bekijken tijdens de berekening, zonder dat er een aparte post-processing tool nodig is. FluidX3D Het project claimt ook ondersteuning voor vrije oppervlakken, thermische convectie, het Smagorinsky-Lilly turbulentiemodel, deeltjestracking, VTK-export en meerdere GPU-compatibiliteit.


Bijzonder te vermelden is de licentiestatus: de broncode van FluidX3D is open en beschikbaar op GitHub, maar de licentie van het project is niet vrij in de strikte zin van OSI/FSF. Het staat gebruik toe voor publiek onderzoek, onderwijs en persoonlijke doeleinden, maar verbiedt commercieel en militair gebruik, evenals het trainen van AI-modellen op de broncode.

Bron: linux.org.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster