FluidX3D 3.7 â paket pĂ«r dinamikĂ« lĂ«ngoreNumĂ«rimi, duke pĂ«rdorur metodat e ekuacioneve tĂ« Boltzmannit (LBM) dhe OpenCL. Projekti pozicionohet si njĂ« paketĂ« CFD me performancĂ« tĂ« lartĂ« dhe efektivitet tĂ« lartĂ« nĂ« pĂ«rdorimin e memorie, e cila mund tĂ« funksionojĂ« nĂ« GPU dhe CPU tĂ« prodhuesve tĂ« ndryshĂ«m pĂ«rmes OpenCL.
Ndryshimi kryesor nĂ« versionin 3.7 ishte optimizimi i bĂ«rthamĂ«s pĂ«r rendering tĂ« izopĂ«rfaqes sĂ« kriterit Q (graphics_q()), e cila pĂ«rdoret pĂ«r visualizimin e strukturave vortex nĂ« rrjedhĂ«. NĂ« implementimin e vjetĂ«r, bĂ«rthama ngarkonte nga memorja grafike njĂ« model tĂ« rĂ«ndĂ« prej 32 shpejtĂ«sish tre-dimensionale pĂ«r çdo qelizĂ« tĂ« rrjetit. Tani, grupi i punĂ«s i rrjedhave me madhĂ«si 8Ă8Ă8 ngarkon njĂ« bllok prej 11Ă11Ă11 shpejtĂ«sish nĂ« 16 KB memorjeje lokale tĂ« nivelit tĂ« parĂ«, pas sĂ« cilĂ«s rrjedhat fqinje ripĂ«rdorin kĂ«to tĂ« dhĂ«na. Sipas autorit, kjo redukton numrin e ngarkimeve nga VRAM rreth 12 herĂ« â nĂ« 2.6 shpejtĂ«si pĂ«r qeli â dhe e kalon bĂ«rthamĂ«n nga njĂ« modalitet tĂ« kufizuar nga kapaciteti i memories nĂ« njĂ« modalitet tĂ« kufizuar nga llogaritjet.
Fitimi praktik varet nga pajisjet specifike. Në GPU të reja me sistem të zhvilluar të cache, optimizimi manual i memories lokale mund të mos sjellë pothuajse ndonjë rritje ose madje të zvogëlojë pak sa frekuencën e kuadrove. Në një pjesë të vjetër të GPU-ve, autori regjistroi përshpejtimin deri në dy herë, çka është veçanërisht e dukshme në modalitetin ndëraktiv grafik të FluidX3D. Për shembull, në testet e publikuara, NVIDIA Titan Xp u përshpejtua nga 7 në 13 kuadro/s, Intel UHD 770 nga 8 në 14 kuadro/s në një nga modalitetet, dhe Intel Arc A750 nga 22 në 26 kuadro/s.
Për GPU-të e vjetra të integruara, është parashikuar një rënien automatik në implementimin e vjetër: disa nga këto pajisje nuk mbështesin grupet e punës me madhësi 512 rrjedhsh ose kanë më pak se 16 KB memorie lokale L1. Në këto raste, FluidX3D do të vazhdojë të përdorë versionin e vjetër të bërthamës, duke ruajtur kompatibilitetin.
Po ashtu, në këtë version janë simplifikuar kushtet për rendering VR, është çaktivizuar shndërrimi i cikleve në rasterizim për të zvogëluar «spageti» në daljen e assemblerit, është shtuar mikrooptimizimi në convert_triangle/_interpolated(), dhe në adapterin OpenCL është korrigjuar dalja e gabimit për emrin bosh të bërthamës dhe madhësinë e grupit të punës.
FluidX3D përfshin një renderer interaktiv 3D të integruar, i cili lejon të shihni fushat e shpejtësisë, linjat e rrjedhjes, izoprafshet e Q-kriterit dhe prerjet direkt gjatë llogaritjes, pa pasur nevojë për eksport në një mjet të veçantë të pastrimit. FluidX3D Projekti gjithashtu përfshin mbështetje për sipërfaqe të lira, konvekcioni termik, modelin e turbulencës Smagorinsky-Lilly, ndjekjen e grimcave, eksportin VTK dhe punën me shumë GPU.
ĂshtĂ« e rĂ«ndĂ«sishme tĂ« theksohet statusi i licencĂ«s: kodi burimor i FluidX3D Ă«shtĂ« i hapur dhe i aksesueshĂ«m nĂ« GitHub, megjithatĂ« licenca e projektit nuk Ă«shtĂ« e lirĂ« nĂ« kuptimin e ngushtĂ« tĂ« OSI/FSF. Ajo lejon pĂ«rdorimin pĂ«r hulumtime publike, arsim dhe qĂ«llime personale, por ndalon aplikimin komercial dhe ushtarak, si dhe trajnimin e modeleve tĂ« IA-s mbi kodin burimor.
Burimi: linux.org.ru
