{"id":811,"date":"2019-02-03T10:04:28","date_gmt":"2019-02-03T10:04:28","guid":{"rendered":"http:\/\/panda.dei.polimi.it\/?page_id=811"},"modified":"2021-02-15T11:38:38","modified_gmt":"2021-02-15T11:38:38","slug":"pnnl-2019-workshop","status":"publish","type":"page","link":"https:\/\/panda.deib.polimi.it\/?page_id=811","title":{"rendered":"PNNL-2019 Workshop"},"content":{"rendered":"\r\n<p>Date and time: February 5-7, 2019<br>Presenter: Fabrizio Ferrandi, Politecnico di Milano<br>Venue: Pacific Northwest National Laboratory,902 Battelle Boulevard,PO Box 999,Richland, WA 99352 USA<br><\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Bambu: FPGA Programming for Complex Parallel Applications<\/h2>\r\n\r\n\r\n\r\n<p>Accelerators implemented on reconfigurable hardware and, in particular, on Field Programmable Gate Arrays (FPGAs), are experiencing a renewed interest in the High-Performance Computing community. The ability to finely customize the design of the accelerators to the applications can provide interesting benefits in terms of efficiency with respect to fixed accelerators, especially for data-intensive applications. However, FPGAs have traditionally been programmed with hardware description languages, requiring significant engineering efforts and long development times. The availability of new tools to generate accelerators starting from high-level (parallel) specifications provides easier access to FPGAs and preserve programmer productivity. <br>This talk presents Bambu, an open-source framework for research in high-level synthesis (<a href=\"http:\/\/panda.dei.polimi.it\/?page_id=81\">http:\/\/panda.dei.polimi.it\/?page_id=81<\/a>). It leverages existing software compilers (GCC and CLANG\/LLVM) to automatically generate FPGA-based accelerators directly from C\/C++ language. The\u00a0 Bambu high-level synthesis approach will be discussed and put into perspective by comparing its peculiarities with the recent and ongoing research in the HLS community. Bambu is integrated with many logic synthesis and simulation flows and is able to generate parallel accelerators for a variety of FPGA vendors. It also optimizes the memory architectures starting from complex parallel specifications annotated with OpenMP. <em><a href=\"https:\/\/github.com\/ferrandi\/PandA-bambu\/raw\/PNNL19_tutorial\/documentation\/tutorial_pnnl_2019\/PandA-bambu-PNNL19.pdf\">Presentation slides<\/a><\/em><\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Getting started with B<g class=\"gr_ gr_5 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling ins-del multiReplace\" id=\"5\" data-gr-id=\"5\">ambu<\/g> in one hour     <\/h2>\r\n\r\n\r\n\r\n<p>This tutorial presents Bambu, an open-source framework for research in high-level synthesis. In one hour, hardware or software designers will understand how to accelerate their applications with limited effort starting from a high-level specification based in C\/C++ down to the deployment on existing FPGAs. The presentation will go through the Compiler Based Optimizations, the possible BAMBU options, and the synthesis and the optimization of the memory accesses.<br><em><a href=\"https:\/\/github.com\/ferrandi\/PandA-bambu\/raw\/main\/documentation\/tutorial_pnnl_2019\/1hHOBambu.pdf\">Presentation slides<\/a><\/em><\/p>\r\n\r\n\r\n\r\n<h5 class=\"wp-block-heading\">Virtual machine<\/h5>\r\n\r\n\r\n\r\n<p>You can download a VirtualBox virtual machine with a pre-configured version of Bambu. The machine requires about 8GB of free space on your disk. (Username: ubuntu &#8212; Password: password).<\/p>\r\n\r\n\r\n\r\n<p>Instructions to <g class=\"gr_ gr_21 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling ins-del\" id=\"21\" data-gr-id=\"21\">setup<\/g> the virtual machine can be found in this <a href=\"https:\/\/github.com\/ferrandi\/PandA-bambu\/raw\/PNNL19_tutorial\/documentation\/tutorial_pnnl_2019\/VM-setup.pdf\">pdf<\/a>.<\/p>\r\n\r\n\r\n\r\n<p>The two files are shared through OneDrive facility and they just require a recent version of VirtualBox software.<br><a href=\"https:\/\/polimi365-my.sharepoint.com\/:u:\/g\/personal\/10064870_polimi_it\/Eb7wk27vTLxLsHLhMGG58GABqOLXSam-Eq_V-T5hEdD7bg\">VirtualBox virtual machine with a pre-configured version of Bambu running on Ubuntu-desktop 16.04 LTS 32bits &#8211; 1.64GB<\/a><br><a href=\"https:\/\/polimi365-my.sharepoint.com\/:u:\/g\/personal\/10064870_polimi_it\/EXbjm7OcmhFBr5jaSVqmM4UB6Aa7jRNBIqnea80voylnRg\">VirtualBox virtual machine with a pre-configured version of Bambu running on Ubuntu-desktop 18.04 LTS 64bits- 1.61GB<\/a><\/p>\r\n\r\n\r\n\r\n<h5 class=\"wp-block-heading\">Windows installer<\/h5>\r\n\r\n\r\n\r\n<p>Windows7 64 bit installer is available including <g class=\"gr_ gr_76 gr-alert gr_spell gr_inline_cards gr_run_anim ContextualSpelling ins-del multiReplace\" id=\"76\" data-gr-id=\"76\">bambu<\/g>, Verilator, GCC8 <g class=\"gr_ gr_108 gr-alert gr_gramm gr_inline_cards gr_run_anim Punctuation only-ins replaceWithoutSep\" id=\"108\" data-gr-id=\"108\">and<\/g> Clang7:<\/p>\r\n\r\n\r\n\r\n<p><a href=\"https:\/\/polimi365-my.sharepoint.com\/:u:\/g\/personal\/10064870_polimi_it\/Eak1hjYQWXpPs37BSQavNUcBYohI7-Y_CCY57gazJMyCKg?e=u5vQdV\">Windows 7 64bit installer based on a recent version of Mingw64 &#8211; 254Mb<\/a><\/p>\r\n\r\n\r\n\r\n<h5 class=\"wp-block-heading\">Short Bio<\/h5>\r\n\r\n\r\n\r\n<p><em><strong>Fabrizio Ferrandi, Associate Professor, Politecnico di Milano, Italy<\/strong><\/em><br>Fabrizio Ferrandi is an Associate Professor in the Dipartimento di Elettronica, Informazione e Bioingegneria of the Politecnico di Milano. He received the Laurea (cum laude) degree in electronic engineering and the Ph.D. degree in information and automation engineering (computer engineering) from the Politecnico di Milano, Milan, Italy, in 1992 and 1997, respectively. The Ph.D. thesis on a Methodology for supporting the Design of Testable Digital Systems has received the Chorafas Foundation prize (1997). He joined the faculty of Politecnico di Milano in 1999 as \u201cRicercatore\u201d and later in 2002 as Associate Professor with the Dipartimento di Elettronica, Informazione e Bioingegneria. He has published over 100 peer-reviewed papers in international journals, books, and proceedings of international congresses. According to Google Scholar, he collected more than 2100 citations reaching an h-index of 26. He served in several technical and organizing committees in international conferences and workshops, such as DAC, DATE, FPL, CODES-ISSS, ASP-DAC, Computing Frontier, ISIS, SAMOS, NAS, GVLSI, VIPES, ARCS, and ReConFig. He worked as a reviewer of IEEE Transactions on Computers, IEEE Transactions on CAD\/ICAS, Transactions on Embedded Computing Systems, Transactions on Reconfigurable Technology and Systems, Transactions on Design Automation of Electronic Systems, and of  Journal of System Architecture JSA. Fabrizio Ferrandi is a member of the IEEE Computer Society, the Test Technology Technical Committee, the HiPEAC Network of Excellence for High-Performance and Embedded Architecture and Compilation, and the European Design and Automation Association. He is one of the maintainers of the PandA\/Bambu high-level synthesis tool. His current research interests include synthesis, verification, simulation, and testing of digital circuits and systems. He has managed and worked on several ESA\/EU funded projects.<\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>Date and time: February 5-7, 2019Presenter: Fabrizio Ferrandi, Politecnico di MilanoVenue: Pacific Northwest National Laboratory,902 Battelle Boulevard,PO Box 999,Richland, WA 99352 USA Bambu: FPGA Programming for Complex Parallel Applications Accelerators implemented on reconfigurable hardware and, in particular, on Field Programmable Gate Arrays (FPGAs), are experiencing a renewed interest in the High-Performance Computing community. The ability &hellip; <a href=\"https:\/\/panda.deib.polimi.it\/?page_id=811\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">PNNL-2019 Workshop<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":649,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-811","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>PNNL-2019 Workshop - panda.deib.polimi.it<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/panda.deib.polimi.it\/?page_id=811\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"PNNL-2019 Workshop - panda.deib.polimi.it\" \/>\n<meta property=\"og:description\" content=\"Date and time: February 5-7, 2019Presenter: Fabrizio Ferrandi, Politecnico di MilanoVenue: Pacific Northwest National Laboratory,902 Battelle Boulevard,PO Box 999,Richland, WA 99352 USA Bambu: FPGA Programming for Complex Parallel Applications Accelerators implemented on reconfigurable hardware and, in particular, on Field Programmable Gate Arrays (FPGAs), are experiencing a renewed interest in the High-Performance Computing community. The ability &hellip; Continue reading PNNL-2019 Workshop &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/panda.deib.polimi.it\/?page_id=811\" \/>\n<meta property=\"og:site_name\" content=\"panda.deib.polimi.it\" \/>\n<meta property=\"article:modified_time\" content=\"2021-02-15T11:38:38+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@PandA4Design\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/panda.deib.polimi.it\\\/?page_id=811\",\"url\":\"https:\\\/\\\/panda.deib.polimi.it\\\/?page_id=811\",\"name\":\"PNNL-2019 Workshop - panda.deib.polimi.it\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/panda.deib.polimi.it\\\/#website\"},\"datePublished\":\"2019-02-03T10:04:28+00:00\",\"dateModified\":\"2021-02-15T11:38:38+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/panda.deib.polimi.it\\\/?page_id=811#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/panda.deib.polimi.it\\\/?page_id=811\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/panda.deib.polimi.it\\\/?page_id=811#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/panda.deib.polimi.it\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"TUTORIALS\",\"item\":\"https:\\\/\\\/panda.deib.polimi.it\\\/?page_id=649\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"PNNL-2019 Workshop\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/panda.deib.polimi.it\\\/#website\",\"url\":\"https:\\\/\\\/panda.deib.polimi.it\\\/\",\"name\":\"panda.deib.polimi.it\",\"description\":\"A framework for Hardware-Software Co-Design of Embedded Systems\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/panda.deib.polimi.it\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"PNNL-2019 Workshop - panda.deib.polimi.it","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/panda.deib.polimi.it\/?page_id=811","og_locale":"en_US","og_type":"article","og_title":"PNNL-2019 Workshop - panda.deib.polimi.it","og_description":"Date and time: February 5-7, 2019Presenter: Fabrizio Ferrandi, Politecnico di MilanoVenue: Pacific Northwest National Laboratory,902 Battelle Boulevard,PO Box 999,Richland, WA 99352 USA Bambu: FPGA Programming for Complex Parallel Applications Accelerators implemented on reconfigurable hardware and, in particular, on Field Programmable Gate Arrays (FPGAs), are experiencing a renewed interest in the High-Performance Computing community. The ability &hellip; Continue reading PNNL-2019 Workshop &rarr;","og_url":"https:\/\/panda.deib.polimi.it\/?page_id=811","og_site_name":"panda.deib.polimi.it","article_modified_time":"2021-02-15T11:38:38+00:00","twitter_card":"summary_large_image","twitter_site":"@PandA4Design","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/panda.deib.polimi.it\/?page_id=811","url":"https:\/\/panda.deib.polimi.it\/?page_id=811","name":"PNNL-2019 Workshop - panda.deib.polimi.it","isPartOf":{"@id":"https:\/\/panda.deib.polimi.it\/#website"},"datePublished":"2019-02-03T10:04:28+00:00","dateModified":"2021-02-15T11:38:38+00:00","breadcrumb":{"@id":"https:\/\/panda.deib.polimi.it\/?page_id=811#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/panda.deib.polimi.it\/?page_id=811"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/panda.deib.polimi.it\/?page_id=811#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/panda.deib.polimi.it\/"},{"@type":"ListItem","position":2,"name":"TUTORIALS","item":"https:\/\/panda.deib.polimi.it\/?page_id=649"},{"@type":"ListItem","position":3,"name":"PNNL-2019 Workshop"}]},{"@type":"WebSite","@id":"https:\/\/panda.deib.polimi.it\/#website","url":"https:\/\/panda.deib.polimi.it\/","name":"panda.deib.polimi.it","description":"A framework for Hardware-Software Co-Design of Embedded Systems","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/panda.deib.polimi.it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/panda.deib.polimi.it\/index.php?rest_route=\/wp\/v2\/pages\/811","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/panda.deib.polimi.it\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/panda.deib.polimi.it\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/panda.deib.polimi.it\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/panda.deib.polimi.it\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=811"}],"version-history":[{"count":14,"href":"https:\/\/panda.deib.polimi.it\/index.php?rest_route=\/wp\/v2\/pages\/811\/revisions"}],"predecessor-version":[{"id":964,"href":"https:\/\/panda.deib.polimi.it\/index.php?rest_route=\/wp\/v2\/pages\/811\/revisions\/964"}],"up":[{"embeddable":true,"href":"https:\/\/panda.deib.polimi.it\/index.php?rest_route=\/wp\/v2\/pages\/649"}],"wp:attachment":[{"href":"https:\/\/panda.deib.polimi.it\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=811"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}