{"id":396,"date":"2010-06-18T16:37:21","date_gmt":"2010-06-18T07:37:21","guid":{"rendered":"http:\/\/jungwonkim.com\/?p=396"},"modified":"2018-03-06T12:59:35","modified_gmt":"2018-03-06T17:59:35","slug":"yi-yang","status":"publish","type":"post","link":"https:\/\/blog.jungwon.kim\/?p=396","title":{"rendered":"Yi Yang"},"content":{"rendered":"<p><strong>A GPGPU compiler for memory optimization and parallelism management<\/strong><\/p>\n<p><a href=\"http:\/\/portal.acm.org\/citation.cfm?id=1806596.1806606\">http:\/\/portal.acm.org\/citation.cfm?id=1806596.1806606<\/a><\/p>\n<p>This paper presents\u00c2\u00a0a optimizing compiler for GPGPU. The compiler gets\u00c2\u00a0naive kernels, and generates the kernels that optimized in memory coalescing, thread &amp; thread-block merging and removing memory partition camping. This paper assumes that all necessary information such as kernel index space, kernel parameters can be known at compile time. However typical CUDA or OpenCL program get the paremeter on runtime not static. Morever the benchmark that used in this paper is so trivial. The longest kernel code is just only 27 line.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A GPGPU compiler for memory optimization and parallelism management http:\/\/portal.acm.org\/citation.cfm?id=1806596.1806606 This paper presents\u00c2\u00a0a optimizing compiler for GPGPU. The compiler gets\u00c2\u00a0naive kernels, and generates the kernels that optimized in memory coalescing, thread &amp; thread-block merging and removing memory partition camping. This<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-396","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/blog.jungwon.kim\/index.php?rest_route=\/wp\/v2\/posts\/396","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.jungwon.kim\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.jungwon.kim\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jungwon.kim\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jungwon.kim\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=396"}],"version-history":[{"count":1,"href":"https:\/\/blog.jungwon.kim\/index.php?rest_route=\/wp\/v2\/posts\/396\/revisions"}],"predecessor-version":[{"id":1908,"href":"https:\/\/blog.jungwon.kim\/index.php?rest_route=\/wp\/v2\/posts\/396\/revisions\/1908"}],"wp:attachment":[{"href":"https:\/\/blog.jungwon.kim\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=396"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jungwon.kim\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=396"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jungwon.kim\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=396"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}