{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,9,19]],"date-time":"2025-09-19T07:38:41Z","timestamp":1758267521802,"version":"3.41.0"},"reference-count":23,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2009,12,1]],"date-time":"2009-12-01T00:00:00Z","timestamp":1259625600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["Comput. Entertain."],"published-print":{"date-parts":[[2009,12]]},"abstract":"<jats:p>This article presents a new architecture to implement all game loop models for games and real-time applications that use the GPU as a mathematics and physics coprocessor, working in parallel processing mode with the CPU. The presented model applies automatic task distribution concepts. The architecture can apply a set of heuristics defined in Lua scripts in order to get acquainted with the best processor for handling a given task. The model applies the GPGPU (general-purpose computation on GPUs) paradigm. In this article we propose an architecture that acquires knowledge about the hardware by running tasks in each processor and, by studying their performance over time, finding the best processor for a group of tasks.<\/jats:p>","DOI":"10.1145\/1658866.1658869","type":"journal-article","created":{"date-parts":[[2010,1,5]],"date-time":"2010-01-05T15:05:08Z","timestamp":1262703908000},"page":"1-15","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":10,"title":["An adaptative game loop architecture with automatic distribution of tasks between CPU and GPU"],"prefix":"10.1145","volume":"7","author":[{"given":"Mark","family":"Joselli","sequence":"first","affiliation":[{"name":"UFF - Media Lab, Medialab, Brazil"}]},{"given":"Marcelo","family":"Zamith","sequence":"additional","affiliation":[{"name":"UFF - Media Lab, Medialab, Brazil"}]},{"given":"Esteban","family":"Clua","sequence":"additional","affiliation":[{"name":"UFF - Media Lab, Medialab, Brazil"}]},{"given":"Anselmo","family":"Montenegro","sequence":"additional","affiliation":[{"name":"UFF - Media Lab, Medialab, Brazil"}]},{"given":"Regina","family":"Leal-Toledo","sequence":"additional","affiliation":[{"name":"UFF - Media Lab, Medialab, Brazil"}]},{"given":"Aura","family":"Conci","sequence":"additional","affiliation":[{"name":"UFF - Media Lab, Medialab, Brazil"}]},{"given":"Paulo","family":"Pagliosa","sequence":"additional","affiliation":[{"name":"UFMS, DCT, Brasil"}]},{"given":"Luis","family":"Valente","sequence":"additional","affiliation":[{"name":"PUC-Rio, VisionLab, Brasil"}]},{"given":"Bruno","family":"Feij\u00f3","sequence":"additional","affiliation":[{"name":"PUC-Rio, Visionlab, Brasil"}]}],"member":"320","published-online":{"date-parts":[[2010,1]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"Ageia. 2008. Physx. http:\/\/www.ageia.com. 20\/02\/2008.  Ageia. 2008. Physx. http:\/\/www.ageia.com. 20\/02\/2008."},{"key":"e_1_2_1_2_1","unstructured":"AMD. 2007. Amd stream computing. http:\/\/ati.amd.com\/technology\/streamcomputing\/firestream-sdk-whitepaper.pdf. 20\/02\/2008.  AMD. 2007. Amd stream computing. http:\/\/ati.amd.com\/technology\/streamcomputing\/firestream-sdk-whitepaper.pdf. 20\/02\/2008."},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/1281500.1281656"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1109\/HPCA.2005.26"},{"key":"e_1_2_1_5_1","unstructured":"Ierusalimschy R. de Figueiredo L. H. and Celes W. 2006. Lua 5.1 Reference Manual. Lua.org.   Ierusalimschy R. de Figueiredo L. H. and Celes W. 2006. Lua 5.1 Reference Manual. Lua.org."},{"key":"e_1_2_1_6_1","unstructured":"Intel 2008. Havok. http:\/\/www.havok.com. 20\/02\/2008.  Intel 2008. Havok. http:\/\/www.havok.com. 20\/02\/2008."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1109\/CSE.2008.38"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/1401843.1401871"},{"key":"e_1_2_1_9_1","unstructured":"Lua. 2009. The programming language lua. http:\/\/www.lua.org. 13\/01\/2009.  Lua. 2009. The programming language lua. http:\/\/www.lua.org. 13\/01\/2009."},{"volume-title":"Proceedings of the IEEE International Symposium on Parallel and Distributed Processing, 1--7.","author":"Michalakes J.","key":"e_1_2_1_10_1"},{"key":"e_1_2_1_11_1","unstructured":"Nguyen H. 2007. GPU Gems 3--Programming Techniques for High-performance Graphics and General-Purpose Computation. Addison-Wesley Reading MA.   Nguyen H. 2007. GPU Gems 3--Programming Techniques for High-performance Graphics and General-Purpose Computation. Addison-Wesley Reading MA."},{"key":"e_1_2_1_12_1","unstructured":"nVidia. 2008. Nvidia--Cuda compute unified device architecture. Programming guide NVIDIA.  nVidia. 2008. Nvidia--Cuda compute unified device architecture. Programming guide NVIDIA."},{"key":"e_1_2_1_13_1","unstructured":"nVidia. 2007a. Cuda particles. http:\/\/developer.download.nvidia.com\/compute\/cuda\/1_1\/Website\/projects\/particles\/doc\/particles.pdf.  nVidia. 2007a. Cuda particles. http:\/\/developer.download.nvidia.com\/compute\/cuda\/1_1\/Website\/projects\/particles\/doc\/particles.pdf."},{"key":"e_1_2_1_14_1","unstructured":"nVidia. 2007b. Nvidia cuda compute unified device architecture documentation ver. 1.1. http:\/\/developer.nvidia.com\/object\/cuda.html.  nVidia. 2007b. Nvidia cuda compute unified device architecture documentation ver. 1.1. http:\/\/developer.nvidia.com\/object\/cuda.html."},{"key":"e_1_2_1_16_1","first-page":"677","article-title":"Fast n-body simulation with cuda","volume":"31","author":"Nyland L.","year":"2007","journal-title":"GPU Gems 3, Ch."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1111\/j.1467-8659.2007.01012.x"},{"volume-title":"Proceedings of the Seventh Brazilian Symposium on Computer Games and Digital Entertainment, 81--86","author":"Passos E.","key":"e_1_2_1_18_1"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.simpat.2005.08.008"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1360612.1360617"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1021\/ct700268q"},{"volume-title":"Proceedings of the Fourth Brazilian Symposium on Computer Games and Digital Entertainment, 89--99","author":"Valente L.","key":"e_1_2_1_22_1"},{"volume-title":"Proceedings of the Sixth Brazilian Symposium on Computer Games and Digital Entertainment, 37--43","author":"Zamith M.","key":"e_1_2_1_23_1"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1394021.1394035"}],"container-title":["Computers in Entertainment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1658866.1658869","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1658866.1658869","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T12:41:02Z","timestamp":1750250462000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1658866.1658869"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2009,12]]},"references-count":23,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2009,12]]}},"alternative-id":["10.1145\/1658866.1658869"],"URL":"https:\/\/doi.org\/10.1145\/1658866.1658869","relation":{},"ISSN":["1544-3574"],"issn-type":[{"type":"electronic","value":"1544-3574"}],"subject":[],"published":{"date-parts":[[2009,12]]},"assertion":[{"value":"2009-02-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2009-07-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2010-01-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}