{"id":103,"date":"2009-04-29T20:43:56","date_gmt":"2009-04-29T18:43:56","guid":{"rendered":"http:\/\/viscomp.alexandra.dk\/?p=103"},"modified":"2009-04-29T20:43:56","modified_gmt":"2009-04-29T18:43:56","slug":"easy-gpgpu-program-opengl-and-cg","status":"publish","type":"post","link":"https:\/\/viscomp.alexandra.dk\/?p=103","title":{"rendered":"Easy GPGPU program &#8211; OpenGL and CG"},"content":{"rendered":"<p>As part of the <a href=\"http:\/\/www.daimi.au.dk\/~mosegard\/GPGPU_Q2_05.php\">GPGPU course<\/a> at the University of Aarhus in 2005 we developed a very simple set of base-classes for General Purpose Computation using the Graphics Processing Unit (GPGPU) through OpenGL, Nvidia CG, and either framebuffer objects or PBuffers for render-to-texture functionality. Today you should ideally use Nvidia CUDA or OpenCL for GPGPU &#8211; but the code might still be of interest for older hardware or a pure OpenGL\/CG based approach to GPGPU:<\/p>\n<p><a href=\"http:\/\/www.daimi.au.dk\/%7Emosegard\/GPGPU_Q2_05_Material\/SimpleReactionDiffusion%20%28framebuffer_object%29.zip\">SimpleReactionDiffusion (framebuffer_object).zip<\/a><\/p>\n<p>The archive file includes the EasyGPUProgram class that has methods to initiate data in a 2d grid layout, do computation (as a cg fragment shader), and retrieve the data. We have\u00a0 included a reaction-diffusion example based on GPU Gems 2 chapter 31 using the EasyGPUProgram class.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As part of the GPGPU course at the University of Aarhus in 2005 we developed a very simple set of base-classes for General Purpose Computation using the Graphics Processing Unit (GPGPU) through OpenGL, Nvidia CG, and either framebuffer objects or PBuffers for render-to-texture functionality. Today you should ideally use Nvidia CUDA or OpenCL for GPGPU &#8211; but the code might still be of interest for older hardware or a pure OpenGL\/CG based approach to GPGPU: SimpleReactionDiffusion (framebuffer_object).zip The archive file includes the EasyGPUProgram class that has methods to initiate data in a 2d grid layout, do computation (as a cg fragment shader), and retrieve the data. We have\u00a0 included a reaction-diffusion example based on GPU Gems 2 chapter 31 using the EasyGPUProgram class.<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[12,16,31,35,64,101],"_links":{"self":[{"href":"https:\/\/viscomp.alexandra.dk\/index.php?rest_route=\/wp\/v2\/posts\/103"}],"collection":[{"href":"https:\/\/viscomp.alexandra.dk\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/viscomp.alexandra.dk\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/viscomp.alexandra.dk\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/viscomp.alexandra.dk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=103"}],"version-history":[{"count":0,"href":"https:\/\/viscomp.alexandra.dk\/index.php?rest_route=\/wp\/v2\/posts\/103\/revisions"}],"wp:attachment":[{"href":"https:\/\/viscomp.alexandra.dk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=103"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/viscomp.alexandra.dk\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=103"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/viscomp.alexandra.dk\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=103"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}