CINXE.COM
INFORMATION TECHNOLOGY IN INDUSTRY
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>INFORMATION TECHNOLOGY IN INDUSTRY</title> <link rel="icon" type="image/ico" href="https://it-in-industry.com/index_files/icon.gif"/> <meta name="description" content="IT in Industry is an open access international journal publishing original papers in all areas of IT in industry." /> <meta name="keywords" content="Journal;IT;information technology;computer;health;engineering;mathematics" /> <meta name="generator" content="Open Journal Systems 2.3.7.0" /> <link rel="stylesheet" href="index_files/pkp.css" type="text/css" /> <link rel="stylesheet" href="index_files/common.css" type="text/css" /> <link rel="stylesheet" href="index_files/commons.css" type="text/css" /> <!-- Base Jquery --> <script type="text/javascript" src="https://www.google.com/jsapi"></script> <script type="text/javascript"> // Provide a local fallback if the CDN cannot be reached if (typeof google == 'undefined') { document.write(unescape("%3Cscript src='http://www.it-in-industry.org/lib/pkp/js/lib/jquery/jquery.min.js' type='text/javascript'%3E%3C/script%3E")); document.write(unescape("%3Cscript src='http://www.it-in-industry.org/lib/pkp/js/lib/jquery/plugins/jqueryUi.min.js' type='text/javascript'%3E%3C/script%3E")); } else { google.load("jquery", "1.4.2"); google.load("jqueryui", "1.8.1"); } </script> <link rel="stylesheet" href="index_files/sidebar.css" type="text/css" /> <link rel="stylesheet" href="index_files/leftSidebar.css" type="text/css" /> <link rel="stylesheet" href="index_files/rightSidebar.css" type="text/css" /> <link rel="stylesheet" href="index_files/bothSidebars.css" type="text/css" /> <link rel="stylesheet" href="index_files/journalStyleSheet.css" type="text/css" /> <script type="text/javascript" src="index_files/general.js"></script> <script type="text/javascript" src="index_files/tag-it.js"></script> <!-- Add javascript required for font sizer --> <script type="text/javascript" src="index_files/jquery.cookie.js"></script> <script type="text/javascript" src="index_files/fontController.js" ></script> <script type="text/javascript"> $(function(){ fontSize("#sizer", "body", 9, 16, 32, ""); // Initialize the font sizer }); </script> <script type="text/javascript"> // initialise plugins $(function(){ }); </script> </head> <body> <div id="container"> <div id="header"> <div id="headerTitle"> <h1> <img src="index_files/homeHeaderTitleImage_en_US.jpg" width="1080" height="161" alt="Page Header" /> </h1> </div> </div> <div id="body"> <div id="sidebar"> <div id="leftSidebar"> <div class="block" id="custom"> <p><a href="http://www.it-in-industry.com/index.html" target="_self"> <img src="index_files/icon_home.jpg" alt="Home" width="154" height="120" /></a></p> </div> <div class="block" id="custom"> <p><a href="http://www.it-in-industry.com/papers.html" target="_self"> <img src="index_files/icon_call_for_papers.jpg" alt="Call for Papers" width="120" height="120" /></a></p> </div> <div class="block" id="custom"> <p><a href="http://www.it-in-industry.com/editors.html" target="_self"> <img src="index_files/icon_call_for_editors.jpg" alt="Call for Editors" width="120" height="120" /></a></p> </div> <div class="block" id="custom"> <p><a href="http://www.it-in-industry.com/reviewers.html" target="_self"> <img src="index_files/icon_call_for_reviewers.jpg" alt="Call for Reviewers" width="120" height="120" /></a></p> </div> <div class="block" id="custom"> <p><a href="http://www.it-in-industry.com/contact.html" target="_blank"> <img src="index_files/icon_contact_us.jpg" alt="Contact Us" width="120" height="120" /></a></p> </div> </div> <div id="rightSidebar"> <div class="block" id="custom"> <p><a href="http://www.latrobe.edu.au" target="_blank"> <img src="index_files/LTU_Logo.gif" alt="La Trobe University" width="115" height="35" /></a></p> </div> <div class="block" id="sidebarNavigation"> <span class="blockTitle">Journal Content</span> <span class="blockSubtitle">Search</span> <form method="post" action="http://www.it-in-industry.com/advancedResults.html"> <table> <tr> <td><input type="text" id="query" name="query" size="15" maxlength="255" value="" class="textField" /></td> </tr> <tr> <td><select name="searchField" size="1" class="selectMenu"> <option label="All" value="">All</option> <option label="Authors" value="1">Authors</option> <option label="Title" value="2">Title</option> <option label="Abstract" value="4">Abstract</option> <option label="Index terms" value="120">Index terms</option> <option label="Full Text" value="128">Full Text</option> </select></td> </tr> <tr> <td><input type="submit" value="Search" class="button" /></td> </tr> </table> </form> <br /> <span class="blockSubtitle">Browse</span> <ul> <li><a href="http://www.it-in-industry.com/archive.html">By Issue</a></li> <li><a href="http://www.it-in-industry.com/byauthors.html">By Author</a></li> <li><a href="http://www.it-in-industry.com/titles.html">By Title</a></li> </ul> </div> <div class="block" id="sidebarInformation"> <span class="blockTitle">Information</span> <ul> <li><a href="http://www.it-in-industry.com/readers.html">For Readers</a></li> <li><a href="http://www.it-in-industry.com/authors.html">For Authors</a></li> <li><a href="http://www.it-in-industry.com/librarians.html">For Librarians</a></li> </ul> </div> <div class="block" id="custom"> <p><a href="http://www.it-in-industry.com/submissions.html" target="_self"> <img src="index_files/icon_paper_submission.jpg" alt="Paper Submission" width="120" height="120" /></a></p> </div> <div class="block" id="custom"> <p><a href="http://www.it-in-industry.com/editorialPolicies.html#custom-4" target="_self"> <img src="index_files/icon_special_issues.jpg" alt="Special Issues" width="120" height="120" /></a></p> </div> </div> </div> <div id="main"> <div id="navbar"> <ul class="menu"> <li id="home"><a href="http://www.it-in-industry.com/index.html">Home</a></li> <li id="about"><a href="http://www.it-in-industry.com/about.html">About</a></li> <li id="login"><a href="http://www.it-in-industry.com/login.html">Log In</a></li> <li id="register"><a href="http://www.it-in-industry.com/register.html">Register</a></li> <li id="announcements"><a href="http://www.it-in-industry.com/announcement.html">Announcements</a></li> </ul> </div> <div id="breadcrumb"> <a href="http://www.it-in-industry.com/index.html">Home</a> > <a href="vol5.html" target="_parent">Vol 2 (2014)</a> > <a href="22.html" class="current" target="_parent">Joselli</a> </div> <div id="content"> <div id="topBar"> </div> <div id="articleTitle"><h3>A New Architecture for Games and Simulations Using GPUs</h3></div> <div id="authorString"><em>Mark Joselli, Cristina Nader Vasconcelos, Esteban Clua</em></div> <br /> <div id="articleAbstract"> <h4>Abstract</h4> <br /> <div>Multi-thread architectures are the current trends for both PCs (multi-core CPUs and GPUs) and game consoles such as the Microsoft Xbox 360 and Sony Playstation 3. GPUs (Graphics Processing Units) have evolved into extremely powerful and flexible processors, allowing its use for processing different data. This advantage can be used in game development to optimize the game loop. As reported in the literature, GPGPUs have been used in processing some steps of the game loop, while most of the game logic is still processed by the CPU. This proposal differs by presenting an architecture designed to process practically the entire game loop using the GPU. Two test cases, a crowd simulation and a 2D game shooter prototype called GpuWars, are presented to illustrate the proposed architecture.</div> <br /> </div> <div id="articleSubject"> <h4>Keywords</h4> <br /> <div>Digital Games; Game Architecture, GPGPU, Game Physics, Game AI, Flocking Boids</div> <br /> </div> <div id="articleCitations"> <h4>References</h4> <br /> <div> <p>A. Anderson, W. G. III, and P. Schroder, "Quantum monte carlo on graphical processing units," Computer Physics Communications, vol. 177, no. 3, pp. 298-306, 2007.</p> <p>I. Rudomin, E. Millan, and B. Hernandez, "Fragment shaders for agent animation using finite state machines," Simulation Modelling Practice and Theory, vol. 13, no. 8, pp. 741-751, 2005.</p> <p>C. Muller, M. Strengert, and T. Ertl, "Adaptive load balancing for raycasting of non-uniformly bricked volumes," Parallel Computing, vol. 33, no. 6, pp. 406-419, 2007.</p> <p>J. Krueger, "A GPU framework for interactive simulation and rendering of fluid effects," 2008. [Online]. Available: http://www.sci.utah.edu/publications/krueger08/GPU_framework.pdf</p> <p>Intel, "Intel multi-core technology," 2009. [Online]. Avalible: http://www.intel.com/multi-core/</p> <p>nVidia, "Technical brief: nVidia GeForce 8800 GPU architecture overview," 2006. [Online]. Available: http://www.nvidia.com/page/8800_tech_briefs.html</p> <p>__, "nVidia CUDA compute unified device architecture," Programming Guide, 2008.</p> <p>__, "nVidia GeForce 9800 GX2 specification," 2009. [Online]. Avalible: http://www.nvidia.com/object/product_geforce_9800_gx2_us.html</p> <p>__, "nVidia CUDA compute unified device architecture documentation version 2.2," 2009. [Online]. Avalible: http://developer.nvidia.com/object/cuda.html</p> <p>AMD, "AMD stream computing," 2008. [Online]. Avalible: http://ati.amd.com/technology/streamcomputing/firestream-sdk-whitepaper.pdf</p> <p>J. D. Owens, D. Leubke, N. Govindaraju, M. Harris, J. Krger, A. E. Lefohn, and T. J. Purcell, "A survey of general-purpose computation on graphics hardware," Computer Graphics Forum, vol. 26, no. 1, pp. 80-113, 2007.</p> <p>K. Group, "OpenCL - the open standard for parallel programming of heterogeneous systems," 2009. [Online]. Avalible: http://www.khronos.org/opencl/</p> <p>B. Kadlec, H. Tufo, and G. Dorn, "Knowledge-assisted visualization and segmentation of geologic features using implicit surfaces," IEEE Computer Graphics and Applications, vol. PP, no. 99, Preprint, 2009.</p> <p>P. Muyan-Ozcelik, J. D. Owens, J. Xia, and S. S. Samant, "Fast deformable registration on the GPU: a CUDA implementation of demons," in Proceedings of the 1st technical session on UnConventional High Performance Computing (UCHPC) in conjunction with the 6th International Conference on Computational Science and Its Applications (ICCSA), M. Gavrilova, O. Gervasi, A. Lagan, Y. Mun, and A. Iglesias, Eds., ICCSA 2008. Los Alamitos, California: IEEE Computer Society, 2008, pp. 223-233.</p> <p>TunaCode, "CUVIlib: CUDA vision and imaging library," 2010. [Online]. Avalible: http://www.cuvilib.com/</p> <p>nVidia, "CUDA zone," 2010. [Online]. Avalible: http://www.nvidia.com/object/ cuda_home_new.html</p> <p>M. Harris, "gpgpu.org," 2010. [Online]. Avalible: http://www.gpgpu.org, 2010.</p> <p>S. Green, "GPGPU physics," Siggraph07 GPGPU Tutorial, The 34th International Conference and Exhibition on Computer Graphics and Interactive Techniques, San Diego, California, USA, August 2007.</p> <p>Havok, "Havok physics," 2009. [Online]. Avalible: http://www.havok.com/content/view/17/30/</p> <p>L. Seiler, D. Carmean, E. Sprangle, T. Forsyth, M. Abrash, P. Dubey, S. Junkins, A. Lake, J. Sugerman, R. Cavin, R. Espasa, E. Grochowski, T. Juan, and P. Hanrahan, "Larrabee: A many-core x86 architecture for visual computing," ACM Transactions on Graphics, vol. 27, no. 3, 2008.</p> <p>nVidia, "nVidia physx," 2009. [Online]. Avalible: http://www.nvidia.com/object/nvidia_ physx.html</p> <p>M. Harris, "CUDA fluid simulation in nVidia physx," SIGGRAPH Asia 2009: Beyond Programmable Shading course, The 2nd ACM SIGGRAPH Conference and Exhibition in Asia, Yokohama, Japan, 2009.</p> <p>E. Coumans, "Bullet physics library," 2009. [Online]. Available: http://www.bulletphysics.com</p> <p>M. Joselli, E. Clua, A. Montenegro, A. Conci, and P. Pagliosa, "A new physics engine with automatic process distribution between CPU-GPU," in Proceedings of the 2008 ACM SIGGRAPH Symposium on Video games, 2008, pp. 149-156.</p> <p>P. Kipfer, M. Segal, and R. Westermann, "Uberflow: a GPU-based particle engine," in Proceedings of the ACM SIGGRAPH Conference on Graphics Hardware, 2004, pp. 115-122.</p> <p>J. Georgii, F. Echtler, and R. Westermann, "Interactive simulation of deformable bodies on GPU," in Proceedings of Simulation and Visualization, 2005, pp. 247-258.</p> <p>J. R. da Silva Junior, E. W. G. Clua, A. Montenegro, M. Lage, M. de Andrade Dreux, M. Joselli, P. A. Pagliosa, and C. L. Kuryla, "A heterogeneous system based on GPU and multi-core CPU for real-time fluid and rigid body simulation," International Journal of Compu- tational Fluid Dynamics, vol. 26, no. 3, pp. 193-204, 2012.</p> <p>J. R. da Silva Junior, M. Joselli, M. Zamith, M. Lage, E. Clua, and E. Soluri, "An architecture for real time fluid simulation using multiple GPUs," in Proceedings of SBGames, SBC, 2012.</p> <p>K. N. Govindaraju, S. Redon, M. C. Lin, and D. Manocha, "CULLIDE: interactive collision detection between complex models in large environments using graphics hardware," in Proceedings of the ACM SIGGRAPH Conference on Graphics Hardware, 2003, pp. 25-32.</p> <p>J. Shopf, J. Barczak, C. Oat, and N. Tatarchuk, "March of the Froblins: simulation and rendering massive crowds of intelligent and detailed creatures on GPU," ACM SIGGRAPH 2008: Advances in Real-Time Rendering in 3D Graphics and Games Course, New York, NY, USA, 2008, pp. 52-101.</p> <p>E. Passos, M. Joselli, M. Zamith, J. Rocha, A. Montenegro, E. Clua, A. Conci, and B. Feijo ́, "Supermassive crowd simulation on GPU based on emergent behavior," in Proceedings of the VII Brazilian Symposium on Computer Games and Digital Entertainment, 2008, pp. 81-86.</p> <p>E. B. Passos, M. Joselli, M. Zamith, E. W. G. Clua, A. Montenegro, A. Conci, and B. Feijo, "A bidimensional data structure and spatial optimization for supermassive crowd simulation on GPU," Computers in Entertainment (CIE), vol. 7, no. 4, p. 60, 2009.</p> <p>M. Joselli, E. B. Passos, M. Zamith, E. Clua, A. Montenegro, and B. Feijo, "A neighborhood grid data structure for massive 3d crowd simulation on GPU," in Proceedings, Brazilian Symposium on Games and Digital Entertainment, pp. 121-131, 2009.</p> <p>M. Joselli, E. B. Passos, J. R. S. Junior, M. Zamith, E. Clua, and E. Soluri, "A flocking boids simulation and optimization structure for mobile multicore architectures," in Proceedings of SBGames, 2012, pp. 83-92.</p> <p>A. R. Silva, W. S. Lages, and L. Chaimowicz, "Improving boids algorithm in GPU using estimated self occlusion," in Proceedings of SBGames '08 - VII Brazilian Symposium on Computer Games and Digital Entertainment, 2008, pp. 41-46.</p> <p>R. D. Chiara, U. Erra, V. Scarano, and M. Tatafiore, "Massive simulation using GPU of a distributed behavioral model of a flock with obstacle avoidance," in Proceedings of Vision, Modeling, and Visualization (VMV), 2004, pp. 233-240.</p> <p>J. van den Berg, S. Patil, J. Sewall, D. Manocha, and M. Lin, "Interactive
navigation of multiple agents in crowded environments," in Proceedings of the 2008 Symposium on Interactive 3D graphics and games (I3D '08), ACM, New York, USA, 2008, pp. 139-147.</p> <p>X. Jin, C. C. L. Wang, S. Huang, and J. Xu, "Interactive control of real-time crowd navigation in virtual environment," in Proceedings of the 2007 ACM Symposium on Virtual reality software and technology (VRST '07), ACM, New York, NY, USA, 2007, pp. 109-112.</p> <p>nVidia, "Skinned instancing," 2008. [Online]. Avalible: http://developer.download.nvidia.com/SDK/10/direct3d/Source/SkinnedInstancing/doc/SkinnedInstancingWhitePaper.pdf</p> <p>R. G. North, "Grand theft auto IV, rockstar games," 2008. [Online]. Avalible: http://www.rockstargames.com/IV/</p> <p>M. Joselli, M. Zamith, L. Valente, E. W. G. Clua, A. Montenegro, A. Conci, B. Feijo ́, M. Dornellas, R. Leal, and C. Pozzer, "Automatic dynamic task distribution between CPU and GPU for real-time systems," in IEEE Proceedings of the 11th International Conference on Computational Science and Engineering, 2008, pp. 48-55.</p> <p>M. Zamith, M. Joselli, L. Valente, E. Clua, A. Montenegro, R. C. P. Leal-Toledo, and B. Feijo, "A game loop architecture with automatic distribution of tasks and load balancing between processors," in Proceedings of SBGames 2009, pp. 5-8.</p> <p>M. Joselli, M. Zamith, L. Valente, E. W. G. Clua, A. Montenegro, A. Conci, and P. Feijo ́, Pagliosa, "An adaptative game loop architecture with automatic distribution of tasks between CPU and GPU," in Proceedings of the VII Brazilian Symposium on Computer Games and Digital Entertainment, 2009, pp. 115-120.</p> <p>M. Joselli, M. Zamith, L. Valente, E. W. G. Clua, A. Montenegro, R. Leal-Toledo, B. Feijo ́, and P. Pagliosa, "An architeture with automatic load balancing for real-time simulation and visualization systems," JCIS - Journal of Computational Interdisciplinary Sciences, Vol. 1, No. 3, pp. 207-224, 2010.</p> <p>M. Joselli, M. Zamith, E. W. G. Clua, A. Montenegro, R. C. P. Leal-Toledo, L. Valente, and B. Feijo ́, "An architecture with automatic load balancing and distribution for digital games," in Proceedings of 2010 Brazilian Symposium on Games and Digital Entertainment (SBGAMES), IEEE, 2010, pp. 59-70.</p> <p>V. Monkkonen, "Multithreaded game engine architectures," 2006. [Online]. Available: http://www.gamasutra.com/features/20060906/monkkonen_01.shtml</p> <p>M. Joselli and E. Clua, "GpuWars: design and implementation of a GPGPU game," in Proceedings of 2009 VIII Brazilian Symposium on Games and Digital Entertainment (SBGAMES), IEEE, 2009, pp. 132-140.</p> <p>M. Joselli, J. Ricardo da Silva, M. Zamith, E. Clua, M. Pelegrino, and E. Mendonca, "Techniques for designing GPGPU games," in Proceedings of Games Innovation Conference (IGIC), 2012, pp. 1-5.</p> <p>V. Podlozhnyuk, "Parallel mersenne twister," 2007. [Online]. Avalible: http://developer.download.nvidia.com/compute/cuda/sdk/website/projects/MersenneTwister/doc/MersenneTwister.pdf</p> <p>nVidia, "CUDA particles," 2008. [Online]. Avalible: http://developer.download.nvidia.com/compute/cuda/1_1/Website/projects/ particles/doc/particles.pdf</p> <p>Microsoft, "Advanced particles," SIGGRAPH 2007: Real-Time Rendering in 3D Graphics and Games course, ACM, 2007.</p> <p>M. Joselli, J. R. S. Junior, M. Zamith, E. Clua, and E. Soluri, "A novel data structure for particle system simulation based on GPU with the use of neighborhood grids," Proceedings of the GPU Computing Developer Forum 2012 (CSBC 2012 workshop), SBC, 2012.</p> <p>P. Sarkar, "A brief history of cellular automata," ACM Computing Surveys, vol. 32, no. 1, pp. 80-107, 2000.</p> <p>K. E. Batcher, "Sorting networks and their applications," in Proceedings of the Spring Joint Computer Conference (AFIPS '68), New York, NY, USA, April 30-May 2, 1968, ACM, pp. 307-314.</p> <p>G. E. Blelloch, C. G. Plaxton, C. E. Leiserson, S. J. Smith, B. M. Maggs, and M. Zagha, "An experimental analysis of parallel sorting algorithms," Theory of Computing Systems, vol. 31, no. 2, pp. 135-167, 1998.</p> <p>nVidia, "Bitonic sort demo," Tech Report, 2007. [Online]. Available: http://www.nvidia.com/content/cudazone/cuda_sdk/Data-Parallel_Algorithms.html#bitonic</p> <p>D. H. Eberly, Game Physics. San Francisco, CA: Morgan Kaufmann Publishers, 2004.
</p> <p>D. M. Bourg and G. Seemann, AI for Game Developers. Sebastopol, CA: O'Reilly Media, 2004.</p> <p>E. Dybsand, "A finite state machine class," in Game Programming Gems, M. Deloura, Eds. Hingham, MA: Charles River Media, 2000, pp. 237-248.</p> <p>J. R. Rankin and S. S. Vargas, "FPS extensions modelling ESGs," in Proceedings of the 2009 Second International Conferences on Advances in Computer-Human Interactions (ACHI '09), Washington, DC, USA, IEEE Computer Society, 2009, pp. 152-155.</p> <p>F. Li and R. J. Woodham, "Video analysis of hockey play in selected game situations," Image Vision Computing, vol. 27, no. 1-2, pp. 45-58, 2009.</p> <p>C. W. Reynolds, "Flocks, herds and schools: A distributed behavioral model," in Proceedings of the 14th Annual Conference on Computer Graphics and Interactive Techniques, SIGGRAPH '87, New York, NY, USA, ACM, 1987, pp. 25-34.</p> <p>C. Reynolds, "Big fast crowds on ps3," in Proceedings of the 2006 ACM SIGGRAPH Symposium on Videogames, New York, NY, USA, ACM, 2006, pp. 113-121. [Online]. Available: http://doi.acm.org/10.1145/1183316.1183333</p> <p>B. Creations, "Geometry wars retro evolve," 2009. [Online]. Available: http://www.bizarrecreations.com/games/geometry_wars_retro_evolved/</p> <p>Q. E. Inc., "Every extend extra extreme," 2009. [Online]. Available: http://www.qentertainment.com/eng/2007/09/every_extend_extra_extreme.html</p> </div> <br /> </div> Full Text: <a href="http://it-in-industry.com/issue/archive/papers/18.html" class="file" target="_parent">PDF</a> <div class="separator"></div> <h3>Refbacks</h3> <ul class="plain"> <li>There are currently no refbacks.</li> </ul> <br /><br /> <a target="_new" rel="license" href="http://creativecommons.org/licenses/by/3.0/"> <img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by/3.0/80x15.png"/> </a> <br/> This work is licensed under a <a rel="license" target="_new" href="http://creativecommons.org/licenses/by/3.0/">Creative Commons Attribution 3.0 License</a>. <br /><br /> <p><img src="index_files/blocks_A1_Innovation.jpg" alt="IT in Innovation" width="207" height="46" /> <img src="index_files/blocks_A1_Business.jpg" alt="IT in Business" width="207" height="46" /> <img src="index_files/blocks_A1_Engineering.jpg" alt="IT in Engineering" width="207" height="46" /> <img src="index_files/blocks_A1_Health.jpg" alt="IT in Health" width="207" height="46" /> <img src="index_files/blocks_A1_Science.jpg" alt="IT in Science" width="207" height="46" /> <img src="index_files/blocks_A1_Design.jpg" alt="IT in Design" width="207" height="46" /> <img src="index_files/blocks_A1_Fashion.jpg" alt="IT in Fashion" width="207" height="46" /></p> IT in Industry (2012 - ) <a href="http://www.it-in-industry.com">http://www.it-in-industry.com</a> ISSN (Online): 2203-1731; ISSN (Print): 2204-0595 <br /> </div><!-- content --> </div><!-- main --> </div><!-- body --> </div><!-- container --> </body> </html>