FluidX3D v3.7

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

Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS 🔥 Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS - ProHoster