FluidX3D 3.7 β ΠΏΠ°ΠΊΠ΅Ρ Π΄Π»Ρ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ Π³ΠΈΠ΄ΡΠΎΠ΄ΠΈΠ½Π°ΠΌΠΈΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ΅ΡΡΡΠΎΡΠ½ΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠΉ ΠΠΎΠ»ΡΡΠΌΠ°Π½Π° (LBM) ΠΈ OpenCL. ΠΡΠΎΠ΅ΠΊΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π²ΡΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΈ ΡΠΊΠΎΠ½ΠΎΠΌΠ½ΡΠΉ ΠΏΠΎ ΠΏΠ°ΠΌΡΡΠΈ CFD-ΠΏΠ°ΠΊΠ΅Ρ, ΡΠΏΠΎΡΠΎΠ±Π½ΡΠΉ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° GPU ΠΈ CPU ΡΠ°Π·Π½ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ ΡΠ΅ΡΠ΅Π· OpenCL.
ΠΠ»Π°Π²Π½ΡΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ Π²Π΅ΡΡΠΈΠΈ 3.7 ΡΡΠ°Π»Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΡΠ΄ΡΠ° ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΈΠ·ΠΎΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ Q-ΠΊΡΠΈΡΠ΅ΡΠΈΡ (graphics_q()), ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ Π΄Π»Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π²ΠΈΡ ΡΠ΅Π²ΡΡ ΡΡΡΡΠΊΡΡΡ Π² ΠΏΠΎΡΠΎΠΊΠ΅. Π ΠΏΡΠ΅ΠΆΠ½Π΅ΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΄ΡΠΎ Π·Π°Π³ΡΡΠΆΠ°Π»ΠΎ ΠΈΠ· Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΡΡΠΈ ΡΡΠΆΡΠ»ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ ΠΈΠ· 32 ΡΡΡΡ ΠΌΠ΅ΡΠ½ΡΡ ΡΠΊΠΎΡΠΎΡΡΠ΅ΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ΅ΠΉΠΊΠΈ ΡΠ΅ΡΠΊΠΈ. Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°Π±ΠΎΡΠ°Ρ Π³ΡΡΠΏΠΏΠ° ΠΏΠΎΡΠΎΠΊΠΎΠ² ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 8Γ8Γ8 Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π±Π»ΠΎΠΊ 11Γ11Γ11 ΡΠΊΠΎΡΠΎΡΡΠ΅ΠΉ Π² 16 ΠΠ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΡΠΎΡΠ΅Π΄Π½ΠΈΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅. ΠΠΎ ΠΎΡΠ΅Π½ΠΊΠ΅ Π°Π²ΡΠΎΡΠ°, ΡΡΠΎ ΡΠΎΠΊΡΠ°ΡΠ°Π΅Ρ ΡΠΈΡΠ»ΠΎ Π·Π°Π³ΡΡΠ·ΠΎΠΊ ΠΈΠ· VRAM ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π² 12 ΡΠ°Π· β Π΄ΠΎ 2,6 ΡΠΊΠΎΡΠΎΡΡΠ΅ΠΉ Π½Π° ΡΡΠ΅ΠΉΠΊΡ β ΠΈ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΠΈΡ ΡΠ΄ΡΠΎ ΠΈΠ· ΡΠ΅ΠΆΠΈΠΌΠ°, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΡ ΠΏΠ°ΠΌΡΡΠΈ, Π² ΡΠ΅ΠΆΠΈΠΌ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΉ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡΠΌΠΈ.
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π²ΡΠΈΠ³ΡΡΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ. ΠΠ° Π½ΠΎΠ²ΡΡ GPU Ρ ΡΠ°Π·Π²ΠΈΡΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ½Π°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠΈ Π½Π΅ Π΄Π°ΡΡ ΠΏΡΠΈΡΠΎΡΡΠ° ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ½ΠΈΠ·ΠΈΡΡ ΡΠ°ΡΡΠΎΡΡ ΠΊΠ°Π΄ΡΠΎΠ². ΠΠ° ΡΠ°ΡΡΠΈ ΡΡΠ°ΡΡΡ GPU Π°Π²ΡΠΎΡ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π» ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎ Π΄Π²ΡΡ ΡΠ°Π·, ΡΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π·Π°ΠΌΠ΅ΡΠ½ΠΎ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ FluidX3D. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΡ ΡΠ΅ΡΡΠ°Ρ NVIDIA Titan Xp ΡΡΠΊΠΎΡΠΈΠ»Π°ΡΡ Ρ 7 Π΄ΠΎ 13 ΠΊΠ°Π΄ΡΠΎΠ²/Ρ, Intel UHD 770 β Ρ 8 Π΄ΠΎ 14 ΠΊΠ°Π΄ΡΠΎΠ²/Ρ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΠ΅ΠΆΠΈΠΌΠΎΠ², Π° Intel Arc A750 β Ρ 22 Π΄ΠΎ 26 ΠΊΠ°Π΄ΡΠΎΠ²/Ρ.
ΠΠ»Ρ ΡΡΠ°ΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ GPU ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΡΠΊΠ°Ρ Π½Π° ΠΏΡΠ΅ΠΆΠ½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ: ΡΠ°ΡΡΡ ΡΠ°ΠΊΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ² Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°Π±ΠΎΡΠΈΠ΅ Π³ΡΡΠΏΠΏΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 512 ΠΏΠΎΡΠΎΠΊΠΎΠ² ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ΅Π½Π΅Π΅ 16 ΠΠ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ L1. Π ΡΡΠΈΡ ΡΠ»ΡΡΠ°ΡΡ FluidX3D ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ°ΡΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠ΄ΡΠ°, ΡΠΎΡ ΡΠ°Π½ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ.
Π’Π°ΠΊΠΆΠ΅ Π² ΡΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΠΏΡΠΎΡΠ΅Π½Ρ ΡΡΠ»ΠΎΠ²ΠΈΡ Π΄Π»Ρ VR-ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ, ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΎ ΡΠ°Π·Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΊΠ»ΠΎΠ² Π² ΡΠ°ΡΡΠ΅ΡΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΡ Β«ΡΠΏΠ°Π³Π΅ΡΡΠΈΒ» Π² Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΠΎΠΌ Π²ΡΠ²ΠΎΠ΄Π΅, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΌΠΈΠΊΡΠΎΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π² convert_triangle/_interpolated(), Π° Π² Π°Π΄Π°ΠΏΡΠ΅ΡΠ΅ OpenCL ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ Π²ΡΠ²ΠΎΠ΄ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈ ΠΏΡΡΡΠΎΠΌ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ΄ΡΠ° ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π³ΡΡΠΏΠΏΡ.
FluidX3D Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΡΠΉ 3D-ΡΠ΅Π½Π΄Π΅ΡΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΏΠΎΠ»Ρ ΡΠΊΠΎΡΠΎΡΡΠΈ, Π»ΠΈΠ½ΠΈΠΈ ΡΠΎΠΊΠ°, ΠΈΠ·ΠΎΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ Q-ΠΊΡΠΈΡΠ΅ΡΠΈΡ ΠΈ ΡΡΠ΅Π·Ρ ΠΏΡΡΠΌΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΡΠ°ΡΡΡΡΠ°, Π±Π΅Π· ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΊΡΠΏΠΎΡΡΠ° Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΏΠΎΡΡΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ. FluidX3D Π ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π·Π°ΡΠ²Π»Π΅Π½Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ, ΡΠ΅ΠΏΠ»ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½Π²Π΅ΠΊΡΠΈΠΈ, ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΡΡΠ±ΡΠ»Π΅Π½ΡΠ½ΠΎΡΡΠΈ Smagorinsky-Lilly, ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΡΠ°ΡΡΠΈΡ, ΡΠΊΡΠΏΠΎΡΡΠ° VTK ΠΈ ΡΠ°Π±ΠΎΡΡ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ GPU.
ΠΡΠ΄Π΅Π»ΡΠ½ΠΎ ΡΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΠΎΠ½Π½ΡΠΉ ΡΡΠ°ΡΡΡ: ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ FluidX3D ΠΎΡΠΊΡΡΡ ΠΈ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π½Π° GitHub, ΠΎΠ΄Π½Π°ΠΊΠΎ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ Π² ΡΡΡΠΎΠ³ΠΎΠΌ ΡΠΌΡΡΠ»Π΅ OSI/FSF. ΠΠ½Π° ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π»Ρ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΉ, ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π»ΠΈΡΠ½ΡΡ ΡΠ΅Π»Π΅ΠΉ, Π½ΠΎ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅Ρ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΎΠ΅ ΠΈ Π²ΠΎΠ΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΠΠ-ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π½Π° ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅.
Iturria: linux.org.ru
