{"id":210,"date":"2014-04-09T15:40:09","date_gmt":"2014-04-09T13:40:09","guid":{"rendered":"http:\/\/www.ens-lyon.fr\/LIP\/COMPSYS\/?p=210"},"modified":"2014-04-09T15:40:09","modified_gmt":"2014-04-09T13:40:09","slug":"gpu-abstract","status":"publish","type":"post","link":"https:\/\/www.ens-lyon.fr\/LIP\/COMPSYS\/gpu-abstract\/","title":{"rendered":"Efficient abstractions for GPGPU programming"},"content":{"rendered":"<h2>Efficient abstractions for GPGPU programming<\/h2>\n<h5>Mercredi 16 avril,  LIP, heure et salle \u00e0 d\u00e9terminer<\/h5>\n<p>Mathias Bourgoin<\/p>\n<p><strong>R\u00e9sum\u00e9:<\/strong><\/p>\n<blockquote><p>\nCurrently, General purpose (GP)GPU programming is a popular solution to achieve  high performance. It couples inexpensive highly parallel computing units with  classic CPUs. These heterogenous systems lead to complex designs combining multiple paradigms and programming languages to manage each hardware architecture. This talk will present a set of tools to harness GPGPU programming through the OCaml programming language. It will describe the SPOC library, which handles GPGPU subprograms (kernels) and data transfers between devices. Then, It will show how SPOC expresses GPGPU kernels: through interoperability with common low-level extensions (from Cuda and OpenCL frameworks) but also via an embedded DSL for OCaml. Finally, It will present how to manage those kernels through parallel skeletons.\n<\/p><\/blockquote>\n<p><!--Ne pas oublier les tags (mots-clefs, en bas \u00e0 droite et de bien mettre un nom correct dans le permalink en haut--><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Efficient abstractions for GPGPU programming Mercredi 16 avril, LIP, heure et salle \u00e0 d\u00e9terminer Mathias Bourgoin R\u00e9sum\u00e9: Currently, General purpose (GP)GPU programming is a popular solution to achieve high performance. It couples inexpensive highly parallel computing units with classic CPUs. &hellip; <a href=\"https:\/\/www.ens-lyon.fr\/LIP\/COMPSYS\/gpu-abstract\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[13,47,48,64],"class_list":["post-210","post","type-post","status-publish","format-standard","hentry","category-wg","tag-compsys","tag-gpu","tag-ocaml","tag-wg"],"_links":{"self":[{"href":"https:\/\/www.ens-lyon.fr\/LIP\/COMPSYS\/wp-json\/wp\/v2\/posts\/210","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ens-lyon.fr\/LIP\/COMPSYS\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ens-lyon.fr\/LIP\/COMPSYS\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ens-lyon.fr\/LIP\/COMPSYS\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ens-lyon.fr\/LIP\/COMPSYS\/wp-json\/wp\/v2\/comments?post=210"}],"version-history":[{"count":1,"href":"https:\/\/www.ens-lyon.fr\/LIP\/COMPSYS\/wp-json\/wp\/v2\/posts\/210\/revisions"}],"predecessor-version":[{"id":211,"href":"https:\/\/www.ens-lyon.fr\/LIP\/COMPSYS\/wp-json\/wp\/v2\/posts\/210\/revisions\/211"}],"wp:attachment":[{"href":"https:\/\/www.ens-lyon.fr\/LIP\/COMPSYS\/wp-json\/wp\/v2\/media?parent=210"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ens-lyon.fr\/LIP\/COMPSYS\/wp-json\/wp\/v2\/categories?post=210"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ens-lyon.fr\/LIP\/COMPSYS\/wp-json\/wp\/v2\/tags?post=210"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}