Modelos de autómatas celulares sobre unidades de procesamiento gráfico de alta performance / Cellular automata models on high performance graphic processing units

Rinaldi, Pablo R. (2011) Modelos de autómatas celulares sobre unidades de procesamiento gráfico de alta performance / Cellular automata models on high performance graphic processing units. Tesis Doctoral en Ciencias de la Ingeniería, Universidad Nacional de Cuyo, Instituto Balseiro.

[img]
Vista previa
PDF (Tesis)
Español
2371Kb

Resumen en español

Se desarrolló un enfoque novedoso de Fluidodinámica Computacional utilizando Unidades de Procesamiento Gráfico (GPU) como estrategia alternativa a los esquemas clásicos. Al tratarse de un nuevo paradigma paralelo de software-hardware, muchas soluciones clásicas no son aplicables y los algoritmos deben replantearse completamente. Se propusieron estrategias de implementación de simuladores basados en autómatas celulares (AC) utilizando la tecnología Compute Unified Device Architecture (CUDA). Los recursos de la GPU se estudiaron profundamente analizando los diferentes tipos de memorias, evaluando esquemas de almacenamiento de datos y patrones de acceso. Entre otras optimizaciones se buscó la máxima performance con distintos esquemas de división del dominio y configuraciones de ejecución. Los tiempos de cálculo son comparables a los de equipos mucho más costosos, como clusters de servidores, lográndose aceleraciones de hasta dos órdenes de magnitud respecto a códigos equivalentes para CPU. La validación se realizó con escenarios en dos y tres dimensiones mostrando muy buena concordancia con otras simulaciones y mediciones experimentales. También se realizó la búsqueda de parámetros típicos en flujos oscilatorios 3D mostrando que los AC sobre GPU poseen un gran potencial en ingeniería como simuladores de alta performance a muy bajo costo.

Resumen en inglés

A new approach for Computational Fluid Dynamics was developed using Graphic Processing Units (GPU) as an alternative to classical models. Being a new software-hardware parallel paradigm, most typical solutions are no longer useful, and algorithms must be completely rethought. Implementation strategies for cellular-automata based simulators were proposed using Compute Unified Device Architecture (CUDA) technologies. GPU resources were deeply investigated analyzing memory access patterns and data layouts. Maximum performance was sought with several domain division strategies and execution configurations between other optimizations. Calculation times are similar to those reached in high performance equipments or server clusters, with up two orders of magnitude speedup over similar desktop CPU implementations. The model was validated on two and three dimensional scenarios showing good agreement with other simulations and experimental data. An exhaustive parameter sensitivity analysis of a 3D oscillatory case is presented, showing the potential of this technology for low-cost high-performance engineering simulations.

Tipo de objeto:Tesis (Tesis Doctoral en Ciencias de la Ingeniería)
Palabras Clave:Computerized simulation; Simulación computerizada; Graphic processing units; Unidades de procesamiento gráfico; Cellular automata; Autómatas celulares; Lattice Boltzmann methods; Métodos de lattice Boltzmann
Referencias:[01] Cooper N.G. (ed.). Los Alamos Science Number 15. Special Issue Stanislaw Ulam 1909-1984. Los Alamos National Laboratory, New Mexico. 1987. [02] Gardner, M. Mathematical Games: The fantastic combinations of John Conway’s new solitaire game “Life”. Scientific American 223, 120–123, 1970. [03] Wolfram, S. A New Kind of Science [version electrónica]. Champaign, IL: Wolfram Media, 2002, 2010. [2007]. Disponible de: www.wolframscience.com. 1-57955-008-8. [04] Crisci G.M., Rongo R., Di Gregorio S., Spataro W. The simulation model SCIARA: the 1991 and 2001 lava flows at Mount Etna. Journal of Volcanology and Geothermal Research, 3010, 1-15, 2004. [05] Rinaldi P., Dalponte D., Vénere M., Clausse A. Cellular automata algorithm for simulation of surface flows in large plains. Simulation Modeling Practice and Theory, 15, 315-327, 2007. [06] Dalponte, D.D., Rinaldi, P.R., Cazenave, G., Usunoff, E., Varni, M., Vives, L., Vénere, M.J., Clausse, A. A validated fast algorithm for simulation of flooding events in plains. Hydrological Processes, 21, 115-1124, 2007. [07] Wolfram S. Cellular automata fluids 1: Basic theory. Journal of Statistical Physics, 45(3), 475-526, 1986. [08] Chen H., Chen S., Matthaeus, W.H., Recovery of the Navier-Stokes equations using a lattice Boltzmann method. Physical Review, A 45, R5339, 1991. [09] Frisch, U., Hasslacher, B., Pomeau, Y. Lattice-Gas Automata for the Navier-Stokes Equation. Phy. Rev. Lett., 56(14), 1505-1508, 1986. [10] Hardy, J., de Pazzis, O., Pomeau, Y. Molecular Dynamics of a Lattice Gas: transport properties and time correlation functions. Physical Review, A 13, 1949, 1973. [11] Hardy, J., de Pazzis, O., Pomeau, Y. Time Evolution of a Two- Dimensional Model System I: invariant states and time correlation functions. J. Math. Phy., 14, 1746, 1976. [12] Chen S. and Doolen G. D. Lattice Boltzmann Methods for Fluid Flous. Annu. Rev. Fluid Mech., 30, 329, 1998. [13] Hou, S., Zou, Q., Chen, S., Doolen, G., Cogley, A. Simulation of cavity flow by the lattice Boltzmann method. Journal of Computational Physics, 118(2), 329 – 347, 1995. [14] Luo, L.S. Symmetry Breaking of Flow in 2D Symmetric Channels: Simulations by Lattice-Boltzmann Method. International Journal of Modern Physics C, 8(4), 859-867, 1997. [15] Shirani, E., Jafari, S. Application of LBM in Simulation of Flow in Simple Micro- Geometries and Micro Porous Media. The African Physical Review 1(1), 1970-4097, 2007. [16] Artoli, A.M., Abrahamyan, L., Hoekstra, A.G., Accuracy versus Performance in Lattice Boltzmann BGK Simulations of Systolic Flows. Lecture Notes in Computer Science, 3039, 1611-3349, 2004. [17] Pohl, T., Deserno, F., Thurey, N., Rude, U., Lammers, P., Wellein, G., et. al. Performance evaluation of parallel large-scale lattice Boltzmann applications on three supercomputing architectures. En: Proceedings of the 2004 ACM/IEEE conference on Supercomputing (SC ’04, 2004, Washington DC, U.S.A.). IEE Computer Society; Washington DC, U.S.A., ACM/IEEE, 2004. p. 21. [18] Carter, J., Oliker L., Shalf, J. Performance Evaluation of Scientific Applications on Modern Parallel Vector Systems. Lecture Notes in Computer Science, 4395, 1611-3349, 2007. [19] Moore, S.K. Multicore is bad news for supercomputers. Spectrum, IEEE, 45(11), 15, 2008. [20] Pelliccioni, O., Cerrolaza, M., Herrera, M. Lattice Boltzmann dynamic simulation of a mechanical heart valve device. Mathematics and Computers in Simulation, 75(1-2), 1– 4, 2007. [21] He, X., Duckwiler, G., Valentino, D.J. Lattice Boltzmann simulation of cerebral artery hemodynamics. Computers & Fluids, 38(4), 789–796, 2009. [22] Moreland, K., Angel, E. The FFT on a GPU. En: SIGGRAPH/Eurographics Conference On Graphics Hardware, (6, 2003, San Diego, Califonia). Eurographics Association; San Diego, California, U.S.A. Doggett, M., Heidrich, W., Mark, W., Schilling, A., (eds.), 2003, pp. 112–119. [23] NVIDIA. NVIDIA CUDA Compute Unified Device Architecture – Programing Guide. [version electrónica]. 3.1. Santa Clara, CA, U.S.A. NVIDIA Corporation, 2010, 2010. [2010]. Disponible de: http://developer.nvidia.com/object/cuda_3_1_downloads.html. [24] NVIDIA. NVIDIA OpenGL Game of Life Demo. [en linea]. 2001. Disponible de: http://developer.download.nvidia.com/SDK/9.5/Samples/samples.html#GL_GameOfLife [25] Wei X., Wei, L., Mueller K., Kaufman, A.E. The Lattice-Boltzman Method for Simulating Gaseous Phenomena. IEE Transactions on Visualization And Computer Graphics, 10, 164-176, 2004. [26] Harris, M.J., Coombe, G., Scheuermann, T., Lastra, A. Phisically-based visual simulation on graphics hardware. En: Proceedings of SIGGRAPH/Eurographics Workshop on Graphics Hardware, (5, 2002, Saarbrücken, Germany). Eurographycs Association; 2002, pp. 109-118. [27] Li, W., Wei, X., Kaufman, A. Implementing Lattice Boltzmann Computation on Graphics Hardware. The Visual Computer, 19(7-8), 444-456, 2003. [28] NVIDIA. NVIDIA CUDA Home Page. [en línea]. 2008]. Disponible en: http://www.nvidia.com/object/cuda_home_new.html [29] Tölke, J. Implementation of a Lattice Boltzmann kernel using the Compute Unified Architecture Developer by nVIDIA. Computing and Visualization in Science, 13, 29-39, 2008. [30] Vénere, M.J., Clausse, A. A computational environment for water flow along floodplains. International Journal on Computational Fluid Dynamics, 16, 327-330, 2002. [31] Weisstein, Eric W. MathWorld--A Wolfram Web Resource. [en línea]. Wolfram Research, 2010, 2011. Moore Neighborhood. Disponible en: http://mathworld.wolfram.com/MooreNeighborhood.html. [32] Dalponte, D.D., Rinaldi, P.R., Vénere, M.J., Clausse, A. Algoritmos de grafos y autómatas celulares: Aplicación al la simulación de escurrimientos. En: MECOM (VIII, 2005, Buenos Aires, Argentina). Mecánica Computacional, Vol. XXIV; Buenos Aires, Argentina: Larrateguy, A. (ed.), 2005. pp. 19. [33] Rinaldi, P.R., Dalponte, D.D., Vénere, M.J., Clausse, A. Autómatas Celulares sobre Grafos de Nodos Irregulares: Aplicación a la Simulación de Escurrimientos Superficiales en Zonas de Llanura. En: CACIC 2007, (13, 2007, Corrientes, Argentina). Anales. Corrientes, Argentina: Universidad Nacional del Nordeste, 2007, pp 1656-1667. [34] Goldstein, S., (ed.). Modern Developments in Fluid Dynamics. Vol. I. Cap. VII: Flow in pipes and channels and along flat plates. New York: Dover Publications, Inc, 1965. [35] Goodnight, N. CUDA/OpenGL Fluid Simulation. [Versión electrónica]. Santa Clara, CA, U.S.A. NVIDIA Corporation, 2007, 2007. Disponible de: http://new.math.uiuc.edu/MA198-2008/schaber2/fluidsGL.pdf [36] Zhao, Y. Lattice Boltzmann based PDE Solver on the GPU. The Visual Computer, 24(5), 323-333, 2008. [37] Podlozhnyuk, V. Histogram calculation in CUDA. [Versión electrónica]. Santa Clara, CA, U.S.A. NVIDIA Corporation, 2007, 2007. Disponible de: http://developer.download.nvidia.com/compute/cuda/1_1/Website/projects/histogram25 6/doc/histogram.pdf [38] Wellein, G., Zeiser, T., Hager, G., Donath, S. On the single processor performance of simple lattice Boltzmann kernels, Computers & Fluids, 35, 910-919, 2006. [39] Higuera, F.J., Jiménez, J. Boltzmann approach to lattice gas simulations. Europhysics Letters, 9, 663–668, 1989. [40] Higuera, F.J., Succi, S., Benzi, R. Lattice gas dynamics with enhanced collisions. Europhysics Letters, 9, 345–349, 1989. [41] Bhatnagar, P., Gross, E. and Krook, M. A model for collisional processes in gases I: small amplitude processes in charged and neutral one-component system. Physical Review, 94, 511, 1954. [42] Chen, S., Chen, H., Martinez, D. O., Matthaeus, W. H. Lattice Boltzmann model for simulation of magnetohydrodynamics. Physical Review Letters, 67, 3776, 1991. [43] Qian, Y., d’Humie`res, D., Lallemand, P. Recovery of Navier–Stokes equations using a lattice-gas Boltzmann method. Europhysics Letters, 17, 479, 1992. [44] d’Humières, D., Bouzidi, M., Lallemand, P. Thirteen-velocity three-dimensional lattice Boltzmann model. Physical Review E, 63(6), 066702-066729, 2001. [45] Keating, B., Vahala, G., Yepez, J., Soe, M., Vahala, L. Entropic lattice boltzmann representations required to recover navier-stokes flows. Physical Review E, 75(3), 036712-036723, 2007. [46] Geier, M.C. AB Initio Derivation of de Cascaded Lattice Boltzmann Automaton. (Doctorado en Ciencias Aplicadas). University of Freiburg – IMTEK, Facultad de Ciencias Aplicadas, 2006. 165p. [47] Succi, S. The Lattice Boltzmann Equation for Fluid Dynamics and Beyond. Oxford UK: Oxford University Press, 2001. [48] Ziegler, D. P. Boundary conditions for lattice Boltzmann simulations. Journal of Statistical Physics, 71(5), 1171-1177, 1993. [49] Zou, Q. and He, X. On pressure and velocity boundary conditions for the lattice Boltzmann BGK model. Physics of Fluids, 9(6), 1591-1598, 1997. [50] Maier, R. S., Bernard, R. S., Grunau, D. W. Boundary conditions for the lattice Boltzmann method. Physics of Fluids, 8, 1788-1802, 1996. [51] Hecht, M., Harting, J. Implementation of on-site velocity boundary conditions for D3Q19 lattice Boltzmann simulations. Journal of Statistic Mechanics, 2010, 01018, 2010. [52] Artoli, A.M., Hoekstra, A., Sloot, P. Optimizing lattice Boltzmann simulations for unsteady flows. Computers & Fluids, 35(2), 227–240, 2006. [53] Holdych, D. Truncation error analysis of lattice Boltzmann methods. Journal of Computational Physics, 193(2), 595–619, 2004. [54] Junk, M., Kehrwald, D. On the relation between lattice variables and physical quantities in lattice Boltzmann simulations. [en linea]. En: Sitio del departamento de Matemática y Estadística de la Universidad Konstanz.K. 2006. [55] NVIDIA. NVIDIA CUDA Compute Unified Device Architecture – NVIDIA CUDA C Best Practice Guide. [version electrónica]. 3.1. Santa Clara, CA, U.S.A. NVIDIA Corporation, 2010, 2010. [2010]. Disponible de: http://developer.nvidia.com/object/cuda_3_1_downloads.html. [56] White F. M. Mecánica de Fluidos. Edición 1 en español. México: McGraw-Hill, 1988. [57] Lammers, P., Küster U. Recent Performance Results of the Lattice Boltzmann Method. En: Proceedings of the High Performance Computing Center Stuttgart, (2006, Stuttgartm Alemania). High Performance Computing on Vector Systems 2006. Part 2. Berlin, Heidelberg, Alemania: Springer Verlag, 2007. pp. 51-59. [58] Balay, S., Buschelman, K., Gropp, W.D., Kaushik, D., Knepley, M.G., Curfman McInnes, L. et al. PETSc user manual. 3.1. 2009. Argone National Laboratory. Disponible de: http://www.mcs.anl.gov/petsc/petsc-2/documentation/index.html [59] Kuznik, F., Obrecht, C., Rusaouën, G., Roux, J.J. LBM based flow simulation using GPU computing processor. Computers & Mathematics with Applications, 59(7), 2380-2392, 2009. [60] Yang, J.Y., Yang, S.C., Chen, Y.N., Hsu, C.A., Implicit weighted eno schemes for the three-dimensional incompressible navier-stokes equations. Journal of Computational Physics, 146(1), 464–487, 1998. [61] Bailey, P., Myre, J., Walsh, S.D.C., Lilja, D.J. Saar, M.O., Accelerating Lattice Boltzmann Fluid Flow Simulations Using Graphics Processors. En: 2009 International Conference on Parallel Processing, (38, 2009, Vienna, Austria). ICPP-2009; Vienna, Austria: IEEE Computer Society, 2009. pp 550-557. [62] Womersley, J.R. Method for the calculation of velocity, rate of flow and viscous drag in arteries when the pressure gradient is known. The Journal of Physiology, 127, 553–563, 1955. [63] Mazzeo, M.D., Coveney, P.V. HemeLB: A high performance parallel lattice- Boltzmann code for large scale fluid flow in complex geometries. Computer Physics Communications, 178(12), 894-914, 2008. [64] Tendler, J.M., Dodson, S. Fields, S. Le, H. Sinharoy, B. IBM, POWER4 System Microarchitecture. [sitio official]. IBM Server Group, 2001, 2010. Disponile en: http://www.hpcx.ac.uk/.
Materias:Física > Física-modelos matemáticos
Divisiones:Aplicaciones de la energía nuclear > Tecnología de materiales y dispositivos > Mecánica computacional
Código ID:268
Depositado Por:Marisa G. Velazco Aldao
Depositado En:20 May 2011 11:23
Última Modificación:20 May 2011 11:50

Personal del repositorio solamente: página de control del documento