FluidX3D 3.7 – fasciculus dynamicae fluidorum computationalis methodum Boltzmannianam reticulatam (LBM) et OpenCL utens. Propositum tamquam fasciculus CFD altae efficaciae et memoriae efficax disponitur, capax currendi in GPU et CPU a variis fabricatoribus per OpenCL.
Mutatio principalis in versione 3.7 est optimizatio nuclei reddendi isosuperficiei Q-criterion (graphics_q()), qui ad structuras vorticales in fluxu visualizandas adhibetur. In implementatione priori, nucleus exemplar grave 32 velocitatum tridimensionalium ex memoria video pro singulis cellulis reticuli imposuerat. Nunc, grex operarius filorum 8x8x8 blocum velocitatum 11x11x11 in 16 KB memoriae localis L12 imponit, post quod fila vicina haec data iterum utuntur. Secundum auctorem, hoc numerum onerationum VRAM circiter duodecies reducit — ad 2,6 velocitates per cellulam — et nucleum a modo memoriae vincto ad modum computationis vinctum transit.
Lucra practica a specificis apparatibus pendent. In recentioribus GPU cum celatione provecta, manualis optimizatio memoriae localis parvum vel nullum augmentum vel etiam levem decrementum in frequentia imaginum (frame rate) afferre potest. In quibusdam GPU vetustioribus, auctor accelerationem usque ad duplum notavit, praesertim conspicuam in modo graphico interactivo FluidX3D. Exempli gratia, in probationibus editis, NVIDIA Titan Xp a 7 ad 13 fps acceleravit, Intel UHD 770 ab 8 ad 14 fps in uno modo, et Intel Arc A750 a 22 ad 26 fps.
Reversio automatica ad priorem implementationem pro vetustioribus GPU integratis praebetur: nonnullae harum machinarum greges operandi 512 filorum non sustinent aut minus quam 16 KB memoriae localis L1 habent. In his casibus, FluidX3D versionem nuclei antiquiorem uti perget, compatibilitatem servans.
Haec versio etiam condiciones reddendi VR simplificatas includit, explicationem cyclorum in rasterizatione inactivam ad "spaghetti" in exitu assembly reducendum, micro-optimizationem ad convert_triangle/_interpolated() additam, et errorem in adaptatore OpenCL correctum cum nomen nuclei et magnitudo gregis laboris vacua sunt.
FluidX3D includit redditorem tridimensionalem interactivum integratum qui tibi permittit campos velocitatis, lineas lineares, isosuperficies criterii Q, et segmenta directe per calculationes inspicere, sine necessitate exportandi ad instrumentum post-processus separatum. FluidumX3D Propositum etiam affirmat se superficies liberas, convectionem thermalem, exemplar turbulentiae Smagorinsky-Lilly, vestigationem particularum, exportationem VTK, et auxilium multi-GPU sustinere.
Statum licentiae separatim notandum est: fons programmatis FluidX3D apertus est et in GitHub praesto est, tamen... licentia proiecti Non est liber sensu stricto OSI/FSF. Usum ad investigationem publicam, educationem, et usus personales permittit, sed usum commercialem et militarem, necnon institutionem exemplorum intellegentiae artificialis utens codice fonte, prohibet.
Source: linux.org.ru
