{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,19]],"date-time":"2026-02-19T15:50:20Z","timestamp":1771516220373,"version":"3.50.1"},"reference-count":36,"publisher":"Association for Computing Machinery (ACM)","issue":"4","license":[{"start":{"date-parts":[[2015,7,27]],"date-time":"2015-07-27T00:00:00Z","timestamp":1437955200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["DGE-1148897"],"award-info":[{"award-number":["DGE-1148897"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100000001","name":"NSF","doi-asserted-by":"publisher","award":["CCF-1017399"],"award-info":[{"award-number":["CCF-1017399"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]},{"name":"UC Lab Fees Research Program","award":["12-LR-238449"],"award-info":[{"award-number":["12-LR-238449"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Graph."],"published-print":{"date-parts":[[2015,7,27]]},"abstract":"<jats:p>We present Piko, a framework for designing, optimizing, and retargeting implementations of graphics pipelines on multiple architectures. Piko programmers express a graphics pipeline by organizing the computation within each stage into spatial bins and specifying a scheduling preference for these bins. Our compiler, Pikoc, compiles this input into an optimized implementation targeted to a massively-parallel GPU or a multicore CPU.<\/jats:p>\n          <jats:p>Piko manages work granularity in a programmable and flexible manner, allowing programmers to build load-balanced parallel pipeline implementations, to exploit spatial and producer-consumer locality in a pipeline implementation, and to explore tradeoffs between these considerations. We demonstrate that Piko can implement a wide range of pipelines, including rasterization, Reyes, ray tracing, rasterization\/ray tracing hybrid, and deferred rendering. Piko allows us to implement efficient graphics pipelines with relative ease and to quickly explore design alternatives by modifying the spatial binning configurations and scheduling preferences for individual stages, all while delivering real-time performance that is within a factor six of state-of-the-art rendering systems.<\/jats:p>","DOI":"10.1145\/2766973","type":"journal-article","created":{"date-parts":[[2015,7,28]],"date-time":"2015-07-28T12:26:38Z","timestamp":1438086398000},"page":"1-13","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":18,"title":["Piko"],"prefix":"10.1145","volume":"34","author":[{"given":"Anjul","family":"Patney","sequence":"first","affiliation":[{"name":"NVIDIA and University of California, Davis"}]},{"given":"Stanley","family":"Tzeng","sequence":"additional","affiliation":[{"name":"NVIDIA and University of California, Davis"}]},{"suffix":"Jr.","given":"Kerry A.","family":"Seitz","sequence":"additional","affiliation":[]},{"given":"John D.","family":"Owens","sequence":"additional","affiliation":[{"name":"University of California, Davis"}]}],"member":"320","published-online":{"date-parts":[[2015,7,27]]},"reference":[{"key":"e_1_2_2_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/1572769.1572792"},{"key":"e_1_2_2_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/882262.882347"},{"key":"e_1_2_2_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/1667239.1667246"},{"key":"e_1_2_2_4_1","doi-asserted-by":"publisher","DOI":"10.1109\/38.56298"},{"key":"e_1_2_2_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/37401.37414"},{"key":"e_1_2_2_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/344779.344981"},{"key":"e_1_2_2_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1188455.1188543"},{"key":"e_1_2_2_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/2010324.1965002"},{"key":"e_1_2_2_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/74333.74341"},{"key":"e_1_2_2_10_1","volume-title":"Proceedings of Innovative Parallel Computing, InPar '12","author":"Gupta K."},{"key":"e_1_2_2_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1276377.1276492"},{"key":"e_1_2_2_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/566654.566639"},{"key":"e_1_2_2_13_1","unstructured":"Imagination Technologies Ltd. 2011. Powervr Series5 Graphics SGX architecture guide for developers 5 July. Version 1.0.8.  Imagination Technologies Ltd. 2011. Powervr Series5 Graphics SGX architecture guide for developers 5 July. Version 1.0.8."},{"key":"e_1_2_2_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/2018323.2018337"},{"key":"e_1_2_2_15_1","volume-title":"Proceedings of the 2004 International Symposium on Code Generation and Optimization, CGO '04, 75--86","author":"Lattner C."},{"key":"e_1_2_2_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/1730804.1730817"},{"key":"e_1_2_2_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/882262.882362"},{"key":"e_1_2_2_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/258734.258871"},{"key":"e_1_2_2_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/280814.280857"},{"key":"e_1_2_2_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/2341910.2341912"},{"key":"e_1_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/2018323.2018339"},{"key":"e_1_2_2_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/1778765.1778803"},{"key":"e_1_2_2_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/1409060.1409096"},{"key":"e_1_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/344779.344976"},{"key":"e_1_2_2_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/74333.74340"},{"key":"e_1_2_2_26_1","unstructured":"Purcell T. 2010. Fast tessellated rendering on Fermi GF100. In High Performance Graphics Hot3D.  Purcell T. 2010. Fast tessellated rendering on Fermi GF100. In High Performance Graphics Hot3D."},{"key":"e_1_2_2_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/2185520.2185528"},{"key":"e_1_2_2_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/PACT.2011.9"},{"key":"e_1_2_2_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/1360612.1360617"},{"key":"e_1_2_2_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/2661229.2661250"},{"key":"e_1_2_2_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/383259.383273"},{"key":"e_1_2_2_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/1477926.1477930"},{"key":"e_1_2_2_33_1","doi-asserted-by":"crossref","unstructured":"Thies W. Karczmarek M. and \n      Amarasinghe S. P\n  . \n  2002\n  . StreamIt: \n  A\n   language for streaming applications. In Proceedings of the 11th International Conference on Compiler Construction R. N. Horspool Ed. Lecture Notes in Computer Science\n  . \n  Springer-Verlag Apr. 179--196.   Thies W. Karczmarek M. and Amarasinghe S. P. 2002. StreamIt: A language for streaming applications. In Proceedings of the 11th International Conference on Compiler Construction R. N. Horspool Ed. Lecture Notes in Computer Science. Springer-Verlag Apr. 179--196.","DOI":"10.1007\/3-540-45937-5_14"},{"key":"e_1_2_2_34_1","first-page":"29","article-title":"Task management for irregular-parallel workloads on the GPU","volume":"2010","author":"Tzeng S.","year":"2010","journal-title":"Proceedings of High Performance Graphics"},{"key":"e_1_2_2_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/2699276.2699289"},{"key":"e_1_2_2_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/1618452.1618501"}],"container-title":["ACM Transactions on Graphics"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2766973","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2766973","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T05:43:01Z","timestamp":1750225381000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2766973"}},"subtitle":["a framework for authoring programmable graphics pipelines"],"short-title":[],"issued":{"date-parts":[[2015,7,27]]},"references-count":36,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2015,7,27]]}},"alternative-id":["10.1145\/2766973"],"URL":"https:\/\/doi.org\/10.1145\/2766973","relation":{},"ISSN":["0730-0301","1557-7368"],"issn-type":[{"value":"0730-0301","type":"print"},{"value":"1557-7368","type":"electronic"}],"subject":[],"published":{"date-parts":[[2015,7,27]]},"assertion":[{"value":"2015-07-27","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}