- •1 Обозначения и сокращения
- •Введение
- •3 Обзор существующих работ
- •4 Постановка задачи
- •5 Метод решения
- •5.1 Расщепление
- •5.2 Адвекция
- •5.3 Проекция
- •6 Выбор метода выполнения этапа проекции
- •7 Полный многосеточный метод
- •8 Реализация этапа проекции
- •8.1 Входные данные
- •8.2 Сглаживатель
- •8.3 Расчёт невязки
- •8.4 Расчёт нормы невязки
- •8.5 Операторы огрубления и пролонгации
- •8.6 Взаимодействие между несколькими gpu
- •8.7 Результаты тестирования и валидации
- •9 Результаты
- •10 Список литературы
9 Результаты
Было разработано программное средство осуществляющее моделирование потоков дыма для систем компьютерной графики, позволяющее задействовать несколько графических ускорителей для наиболее ресурсоемкой части вычислений.
В частности, с помощью технологии Nvidia CUDA был реализован многосеточный решатель, осуществляющий этап проекции решения системы уравнений Навье-Стокса, в отличие от аналогов не ограниченный размером памяти лишь одного ускорителя, а эффективно задействующий все доступные системе устройства.
Полученный решатель был интегрирован в систему, реализующую полный цикл решения системы Навье-Стокса, позволяющую загружать данные о геометрии объектов, расположенных в моделируемой сцене, и выгружать данные о геометрии полученного дыма, что дало возможность встроить его в существующую систему рендеринга и получить итоговое изображение.
10 Список литературы
Lee V. W., Kim C., Chhugani J., Deisher M., Kim D., Nguyen A.D., Satish N., Smelyanskiy M., Chennupaty S., Hammarlund P., Singhal R. and Dubey P. Debunking the 100X GPU vs. CPU Myth: An Evaluation of Throughput Computing on CPU and GPU // Proceedings of the 37th annual international symposium on Computer architecture. Saint-Malo, France: 2010
Gardner G. Y. Visual Simulation of Clouds, Computer Graphics // SIGGRAPH 85 Conference Proceedings. 1985. P. 297–384.
Reeves W. Particle Systems - A Technique for Modeling a Class of Fuzzy Objects // ACM Transactions on Graphics. 1983. 2. 2. P. 91-108.
Dong W., Zhang X., Zhang C. Smoke Simulation Based on Particle System in Virtual Environments // International Conference on Multimedia Communications. 2010.
Foster N., Metaxas D. Realistic Animation of Liquids, Graphical Models and Image Processing // Graphical Models and Image Processing archive. 1996. 58(5), P. 471–483.
Stam J. Stable Fluids // SIGGRAPH 99 Conference Proceedings, Annual Conference Series, 1999. P. 121–128.
He S., Wong H., Pang W., Wong U. Real-time smoke simulation with improved turbulence by spatial adaptive vorticity confinement // Computer Animation & Virtual Worlds, Volume 22, Issue 2-3, 2011. P. 107–114.
Pfaff T., Thuerey N., Cohen J., Tariq S., Gross M. Scalable Fluid Simulation using Anisotropic Turbulence Particles // Proceedings of ACM SIGGRAPH Asia (Seoul, Korea, December 15-18, 2010), ACM Transactions on Graphics, vol. 29, no. 5, P. 174:1-174:8.
Fedkiw, R., Stam J., Jensen H. Visual Simulation of Smoke // In Proceedings of SIGGRAPH 2001, 2001. P. 15–22.
Harris M. Fast Fluid Dynamics Simulation on the GPU // GPU Gems: Programming Techniques
Fernando R. Tips and Tricks for Real-Time Graphics. Addison-Wesley, 2004, P. 637–665.
Crane K., Llamas I., Tariq S. Real-Time Simulation and Rendering of 3D Fluids // GPU Gems 3, Addison-Wesley, 2007. P. 633–675
Якобовский М. В. Введение в параллельные методы решения задач – М.: Издательство Московского университета, 2013.
Деммель Дж. Вычислительная линейная алгебра. Теория и приложения – М.: Мир, 2001
Мартыненко С.И. Многосеточная технология – М.: ФИЗМАТЛИТ, 2015
Данилкин Е.А. Распараллеливание явных и неявных разностных схем, эффективность параллельных и последовательных программ – Томск, 2014
Bridson R. Fluid Simulation for Computer Graphics - A K Peters, Ltd, 2008
Briggs W. L. , Henson V. E., McCormick S. F. A Multigrid tutorial , Second Edition // Society for Industrial and Applied Mathematics Philadelphia, PA, USA
Strang G. - Mathematical Methods for Engineers II, Spring - MIT (OpenCourseWare: Massachusetts Institute of Technology), 2006
Sakharnykh N. High-Performance Geometric Multi-Grid with GPU Acceleration [HTML] (https://devblogs.nvidia.com/parallelforall/high-performance-geometric-multi-grid-gpu-acceleration/)
C Nvidia - NVIDIA CUDA Toolkit Documentation [HTML] (http://docs.nvidia.com/cuda/)
Konstantinidis E., Cotronis Y. Accelerating the red/black SOR method using GPUs with CUDA // 9th International Conference on Parallel Processing and Applied Mathematics, 2011
McAdams A., Sifakis E., Teran J. A parallel multigrid Poisson solver for fluids simulation on large grids // ACM SIGGRAPH Symposium on Computer Animation, 2010
Gomez Y., Hincapi J., Osorio J., Vargas J. Semi-Lagrangian Implementation Method using GPU - Sirius HPC , UTP
Liu Y., Shi K., Deng H., Wu E. A Multi-GPU Based Semi-Lagrangian Fluid Solver // Proceedings of the 10th International Conference on Virtual Reality Continuum and Its Applications in Industry, 2011. P. 321-326
Zaspel P., Griebel M. Solving Incompressible Two-Phase Flows on Multi-GPU Clusters – 2011
Zaspel P., Griebel M. A multi-GPU accelerated solver for the three-dimensional two-phase incompressible Navier-Stokes equations - 2011
