{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,11]],"date-time":"2025-11-11T12:55:44Z","timestamp":1762865744770,"version":"3.41.0"},"reference-count":24,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2011,2,18]],"date-time":"2011-02-18T00:00:00Z","timestamp":1297987200000},"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":["SIGOPS Oper. Syst. Rev."],"published-print":{"date-parts":[[2011,2,18]]},"abstract":"<jats:p>In this paper, we introduce Bothnia, an extension to the Intel production graphics driver to support a shared virtual memory heterogeneous multithreading programming model. With Bothnia, the Intel graphics device driver can support both the traditional 3D graphics rendering software stack and a new class of heterogeneous multithreaded applications, which can use both IA (Intel Architecture) CPU cores and Intel integrated Graphics and Media Accelerator (GMA) cores in the same virtual address space. We describe the necessary architectural supports in both IA CPU and the GMA cores and present a reference Bothnia implementation. For a set of GPU accelerated media applications on a PC platform with Intel Core 2 Duo CPU and the Intel integrated GMA X3000 running under the Windows XP operating system, Bothnia achieves an average speedup of 3.6x compared to using the GPU as a device, primarily due to Bothnia's support for creation of shared virtual address space between heterogeneous threads of the same application spread on both IA CPU and GMA cores.<\/jats:p>","DOI":"10.1145\/1945023.1945027","type":"journal-article","created":{"date-parts":[[2011,3,1]],"date-time":"2011-03-01T20:14:26Z","timestamp":1299010466000},"page":"11-20","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":1,"title":["Bothnia"],"prefix":"10.1145","volume":"45","author":[{"given":"Gautham N.","family":"Chinya","sequence":"first","affiliation":[{"name":"Microarchitecture Research Lab, Intel Labs, Intel Corporation"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jamison D.","family":"Collins","sequence":"additional","affiliation":[{"name":"Microarchitecture Research Lab, Intel Labs, Intel Corporation"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Perry H.","family":"Wang","sequence":"additional","affiliation":[{"name":"Microarchitecture Research Lab, Intel Labs, Intel Corporation"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Hong","family":"Jiang","sequence":"additional","affiliation":[{"name":"Visual and Parallel Computing Group, Intel Architecture Group, Intel Corporation"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Guei-Yuan","family":"Lueh","sequence":"additional","affiliation":[{"name":"Visual and Parallel Computing Group, Intel Architecture Group, Intel Corporation"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Thomas A.","family":"Piazza","sequence":"additional","affiliation":[{"name":"Visual and Parallel Computing Group, Intel Architecture Group, Intel Corporation"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Hong","family":"Wang","sequence":"additional","affiliation":[{"name":"Microarchitecture Research Lab, Intel Labs, Intel Corporation"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2011,2,18]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"E. Grochowski. M. Annavaram: \"Energy per Instruction Trends in Intel Microprocessors\". Technology@Intel Magazine March 2006.  E. Grochowski. M. Annavaram: \"Energy per Instruction Trends in Intel Microprocessors\". Technology@Intel Magazine March 2006."},{"key":"e_1_2_1_2_1","unstructured":"GPGPU\n\n  \n  : \"General Purpose Computation using Graphics Hardware\". http:\/\/www.gpgpu.org.  GPGPU: \"General Purpose Computation using Graphics Hardware\". http:\/\/www.gpgpu.org."},{"key":"e_1_2_1_3_1","unstructured":"Nvidia. \"Compute Unified Device Architecture (CUDA)\". http:\/\/developer.nvidia.com\/object\/cuda.html  Nvidia. \"Compute Unified Device Architecture (CUDA)\". http:\/\/developer.nvidia.com\/object\/cuda.html"},{"journal-title":"J. Kruger., A. Lefohn., T. Purcell.: \"A Survey of General- Purpose Computation on Graphics Hardware\". Eurographics","year":"2005","author":"Owens J.","key":"e_1_2_1_4_1"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/1188455.1188642"},{"key":"e_1_2_1_6_1","unstructured":"PeakStream Inc. \"The PeakStream Platform: High Productivity Software Development for Multi-core Processors\". 2006.  PeakStream Inc. \"The PeakStream Platform: High Productivity Software Development for Multi-core Processors\". 2006."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1250734.1250753"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/1401132.1401153"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/PACT.2005.33"},{"key":"e_1_2_1_10_1","unstructured":"Intel G35 Express Chipset. http:\/\/download.intel.com\/products\/chipsets\/G35\/317363.pdf  Intel G35 Express Chipset. http:\/\/download.intel.com\/products\/chipsets\/G35\/317363.pdf"},{"key":"e_1_2_1_11_1","unstructured":"Intel G35 Chipset Graphics Controller Programmer Reference Manul. http:\/\/www.intellinuxgraphics.com\/documentation.html  Intel G35 Chipset Graphics Controller Programmer Reference Manul. http:\/\/www.intellinuxgraphics.com\/documentation.html"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/1168857.1168898"},{"journal-title":"\"Introduction to the Cell Multiprocessor\". In IBM Journal of Research and Development.","year":"2005","author":"Kahle J. A.","key":"e_1_2_1_14_1"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1015706.1015800"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/363347.363368"},{"key":"e_1_2_1_17_1","unstructured":"Microsoft. \"A Roadmap for DirectX\". http:\/\/msdn2.microsoft.com\/enus\/library\/bb756949.aspx  Microsoft. \"A Roadmap for DirectX\". http:\/\/msdn2.microsoft.com\/enus\/library\/bb756949.aspx"},{"key":"e_1_2_1_18_1","unstructured":"OpenCL: Khronos Group http:\/\/www.khronos.org\/opencl  OpenCL: Khronos Group http:\/\/www.khronos.org\/opencl"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/1454115.1454125"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/1360612.1360617"},{"volume-title":"Intel Technology Journal","year":"2007","author":"Ghuloum A.","key":"e_1_2_1_21_1"},{"key":"e_1_2_1_22_1","unstructured":"AMD Stream Computing White Paper and SDK. http:\/\/ati.amd.com\/technology\/streamcomputing\/firestream-sdk-whitepaper.pdf  AMD Stream Computing White Paper and SDK. http:\/\/ati.amd.com\/technology\/streamcomputing\/firestream-sdk-whitepaper.pdf"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/1542476.1542525"},{"volume-title":"Intel Technology Journal, Tera-Scale computing","year":"2007","author":"Wang P.","key":"e_1_2_1_24_1"},{"volume-title":"Intel Developer Forum","year":"2010","author":"Jiang H.","key":"e_1_2_1_25_1"}],"container-title":["ACM SIGOPS Operating Systems Review"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1945023.1945027","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1945023.1945027","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T10:59:31Z","timestamp":1750244371000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1945023.1945027"}},"subtitle":["a dual-personality extension to the Intel integrated graphics driver"],"short-title":[],"issued":{"date-parts":[[2011,2,18]]},"references-count":24,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2011,2,18]]}},"alternative-id":["10.1145\/1945023.1945027"],"URL":"https:\/\/doi.org\/10.1145\/1945023.1945027","relation":{},"ISSN":["0163-5980"],"issn-type":[{"type":"print","value":"0163-5980"}],"subject":[],"published":{"date-parts":[[2011,2,18]]},"assertion":[{"value":"2011-02-18","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}