{"id":8798,"date":"2014-09-16T13:33:38","date_gmt":"2014-09-16T11:33:38","guid":{"rendered":"http:\/\/streamcomputing.eu\/?p=8798"},"modified":"2014-09-16T13:33:38","modified_gmt":"2014-09-16T11:33:38","slug":"use-opencl-fpgas","status":"publish","type":"post","link":"https:\/\/streamhpc.com\/2014-09-16\/use-opencl-fpgas\/","title":{"rendered":"Why use OpenCL on FPGAs?"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-medium wp-image-8799\" src=\"https:\/\/streamhpc.com\/wp-content\/uploads\/2014\/09\/FPGAs_dummies-194x300.jpg\" alt=\"9781118942208.pdf\" width=\"194\" height=\"300\" srcset=\"https:\/\/streamhpc.com\/wp-content\/uploads\/2014\/09\/FPGAs_dummies-194x300.jpg 194w, https:\/\/streamhpc.com\/wp-content\/uploads\/2014\/09\/FPGAs_dummies-550x851.jpg 550w, https:\/\/streamhpc.com\/wp-content\/uploads\/2014\/09\/FPGAs_dummies-97x150.jpg 97w, https:\/\/streamhpc.com\/wp-content\/uploads\/2014\/09\/FPGAs_dummies-32x50.jpg 32w, https:\/\/streamhpc.com\/wp-content\/uploads\/2014\/09\/FPGAs_dummies-350x541.jpg 350w, https:\/\/streamhpc.com\/wp-content\/uploads\/2014\/09\/FPGAs_dummies.jpg 582w\" sizes=\"auto, (max-width: 194px) 100vw, 194px\" \/>Altera has just released the free ebook\u00a0<em>FPGAs for dummies<\/em>. One part of the book is devoted to\u00a0OpenCL, so we&#8217;ll quote some extracts\u00a0here \u00a0from one of the chapters. The rest of the book is worth a read, so if you want to check the rest of the text, just\u00a0<a href=\"http:\/\/design.altera.com\/New2FPGAeBook\">fill in the\u00a0form on Altera&#8217;s webpage<\/a>.<\/p>\n<p>In StreamHPC we&#8217;re\u00a0interested in OpenCL on FPGAs for one reason: many companies run their software on GPUs, when\u00a0they should be using\u00a0FPGAs instead; and at the same time, others stick to FPGAs and ignore GPUs completely. The main reason, we think, is that converting CUDA to VHDL, or Verilog to CPU intrinsics, is simply too painful. Another reason can be seen in\u00a0the a amount of investment put on a certain technology. We believe that OpenCL can solve both of these issues. OpenCL is much more portable and can be converted to a new architecture in a relatively short time (if the developer is familiar with the project, the hardware and OpenCL). We have high familiarity with these two latter, which means we&#8217;re used to get new projects up-and-running.<\/p>\n<p>Since both Altera and Xilinx have invested in OpenCL, the two FPGAs code has become more portable now. Altera has a <a href=\"http:\/\/www.altera.com\/products\/software\/opencl\/opencl-index.html\">public SDK<\/a> (and they&#8217;re proudly loud about it), while Xilinx offers it in their <a href=\"http:\/\/www.xilinx.com\/content\/xilinx\/en\/products\/design-tools\/all-programmable-abstractions\/#software-based\">latest tools<\/a> (although they&#8217;re\u00a0unfortunately much more silent about it).<\/p>\n<p>Now,\u00a0let us now go back to the quotes from the book that we\u00a0wanted to share with you.<\/p>\n<p>Andrew Moore describes OpenCL effectively in just a few sentences:<\/p>\n<blockquote><p>The need for heterogeneous computing is leading to new programming languages to exploit the new hardware. One example is the OpenCL first developed by Apple, Inc. OpenCL is a framework for writing programs that execute across heterogeneous platforms consisting of CPUs, GPUs, DSPs, FPGAs, and other types of processors. OpenCL includes a language for developing\u00a0kernels (functions that execute on hardware devices) as well as application programming interfaces (APIs) that define and control the various platforms. OpenCL allows for parallel computing using task-based and data-based parallelism.<\/p><\/blockquote>\n<p>The author also shares some interesting insights around\u00a0the reasons why OpenCL should be used on FPGA:<\/p>\n<blockquote><p>FPGAs are inherently parallel, so they\u2019re a perfect fit with OpenCL\u2019s parallel computing capabilities. FPGAs give you an alternative to the typical data or task parallelism by offering a pipeline parallelism where tasks can be spawned in a push-pull configuration with each task using different data from the previous task with or without host interaction. OpenCL allows you to develop your code in the familiar C programming language but using the additional capabilities provided by OpenCL. These kernels can be sent to the FPGAs without your having to learn the low-level HDL coding practices of FPGA designers. Generally, there are several benefits for software developers and system designers to use OpenCL to develop code for FPGAs:<\/p>\n<ul>\n<li><strong>Simplicity and ease of development<\/strong>: Most software developers are familiar with the C programming language, but not low-level HDL languages. OpenCL keeps you at a higher level of programming, making your system open to more software developers.<\/li>\n<li><strong>Code profiling<\/strong>: Using OpenCL, you can profile your code and determine the performance-sensitive pieces that could be hardware accelerated as kernels in an FPGA.<\/li>\n<li><strong>Performance<\/strong>: Performance per watt is the ultimate goal of system design. Using an FPGA, you\u2019re balancing high performance in an energy-efficient solution.<\/li>\n<li><strong>Efficiency<\/strong>: The FPGA has a fine-grain parallelism architecture, and by using OpenCL you can generate only the logic you need to deliver one fifth of the power of the hardware alternatives.<\/li>\n<li><strong>Heterogeneous systems<\/strong>: With OpenCL, you can develop kernels that target FPGAs, CPUs, GPUs, and DSPs seamlessly to give you a truly heterogeneous system design.<\/li>\n<li><strong>Code reuse<\/strong>: The holy grail of software development is achieving code reuse. Code reuse is often an elusive goal for software developers and system designers. OpenCL kernels allow for portable code that you can target for different families and generations of FPGAs from one project to the next, extending the life of your code.<\/li>\n<\/ul>\n<p>Today, OpenCL is developed and maintained by the technology consortium Khronos Group. Most FPGA manufacturers provide Software Development Kits (SDKs) for OpenCL development on FPGAs.<\/p><\/blockquote>\n<p>You can continue\u00a0<a href=\"http:\/\/design.altera.com\/New2FPGAeBook\">here<\/a>\u00a0if you want to read of this ebook. And \u00a0of course, whenever you\u00a0want to learn some more more, feel free to <a href=\"https:\/\/streamhpc.com\/about-us\/contact\/\">write to us<\/a>, or follow this conversation on\u00a0Twitter, which goes on through our special account:\u00a0<a href=\"https:\/\/twitter.com\/OpenCLonFPGAs\">@OpenCLonFPGAs<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Altera has just released the free ebook\u00a0FPGAs for dummies. One part of the book is devoted to\u00a0OpenCL, so we&#8217;ll quote some extracts\u00a0here \u00a0from one of the chapters. The rest of the book is worth a read, so if you want to check the rest of the text, just\u00a0fill in the\u00a0form on Altera&#8217;s webpage. In StreamHPC [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":8799,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"spectra_gs_classes":"","footnotes":""},"categories":[3],"tags":[96,11],"class_list":["post-8798","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technical","tag-fpga","tag-opencl"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.5 (Yoast SEO v28.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Why use OpenCL on FPGAs? - Stream HPC<\/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:\/\/streamhpc.com\/2014-09-16\/use-opencl-fpgas\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Why use OpenCL on FPGAs?\" \/>\n<meta property=\"og:description\" content=\"Altera has just released the free ebook\u00a0FPGAs for dummies. One part of the book is devoted to\u00a0OpenCL, so we&#8217;ll quote some extracts\u00a0here \u00a0from one of the chapters. The rest of the book is worth a read, so if you want to check the rest of the text, just\u00a0fill in the\u00a0form on Altera&#8217;s webpage. In StreamHPC [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/streamhpc.com\/2014-09-16\/use-opencl-fpgas\/\" \/>\n<meta property=\"og:site_name\" content=\"Stream HPC\" \/>\n<meta property=\"article:published_time\" content=\"2014-09-16T11:33:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/streamhpc.com\/wp-content\/uploads\/2014\/09\/FPGAs_dummies.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"582\" \/>\n\t<meta property=\"og:image:height\" content=\"900\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Vincent Hindriksen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@StreamHPC\" \/>\n<meta name=\"twitter:site\" content=\"@StreamHPC\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Vincent Hindriksen\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/streamhpc.com\\\/2014-09-16\\\/use-opencl-fpgas\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/streamhpc.com\\\/2014-09-16\\\/use-opencl-fpgas\\\/\"},\"author\":{\"name\":\"Vincent Hindriksen\",\"@id\":\"https:\\\/\\\/streamhpc.com\\\/#\\\/schema\\\/person\\\/7b4e293ad9533e53135e06ebf7a2a283\"},\"headline\":\"Why use OpenCL on FPGAs?\",\"datePublished\":\"2014-09-16T11:33:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/streamhpc.com\\\/2014-09-16\\\/use-opencl-fpgas\\\/\"},\"wordCount\":756,\"commentCount\":6,\"publisher\":{\"@id\":\"https:\\\/\\\/streamhpc.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/streamhpc.com\\\/2014-09-16\\\/use-opencl-fpgas\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/streamhpc.com\\\/wp-content\\\/uploads\\\/2014\\\/09\\\/FPGAs_dummies.jpg\",\"keywords\":[\"FPGA\",\"OpenCL\"],\"articleSection\":[\"Technical\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/streamhpc.com\\\/2014-09-16\\\/use-opencl-fpgas\\\/#respond\"]}],\"copyrightYear\":\"2014\",\"copyrightHolder\":{\"@id\":\"https:\\\/\\\/streamhpc.com\\\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/streamhpc.com\\\/2014-09-16\\\/use-opencl-fpgas\\\/\",\"url\":\"https:\\\/\\\/streamhpc.com\\\/2014-09-16\\\/use-opencl-fpgas\\\/\",\"name\":\"Why use OpenCL on FPGAs? - Stream HPC\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/streamhpc.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/streamhpc.com\\\/2014-09-16\\\/use-opencl-fpgas\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/streamhpc.com\\\/2014-09-16\\\/use-opencl-fpgas\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/streamhpc.com\\\/wp-content\\\/uploads\\\/2014\\\/09\\\/FPGAs_dummies.jpg\",\"datePublished\":\"2014-09-16T11:33:38+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/streamhpc.com\\\/2014-09-16\\\/use-opencl-fpgas\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/streamhpc.com\\\/2014-09-16\\\/use-opencl-fpgas\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/streamhpc.com\\\/2014-09-16\\\/use-opencl-fpgas\\\/#primaryimage\",\"url\":\"https:\\\/\\\/streamhpc.com\\\/wp-content\\\/uploads\\\/2014\\\/09\\\/FPGAs_dummies.jpg\",\"contentUrl\":\"https:\\\/\\\/streamhpc.com\\\/wp-content\\\/uploads\\\/2014\\\/09\\\/FPGAs_dummies.jpg\",\"width\":582,\"height\":900},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/streamhpc.com\\\/2014-09-16\\\/use-opencl-fpgas\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/streamhpc.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Why use OpenCL on FPGAs?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/streamhpc.com\\\/#website\",\"url\":\"https:\\\/\\\/streamhpc.com\\\/\",\"name\":\"StreamHPC\",\"description\":\"For Fast and Scalable Software\",\"publisher\":{\"@id\":\"https:\\\/\\\/streamhpc.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/streamhpc.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Organization\",\"Place\"],\"@id\":\"https:\\\/\\\/streamhpc.com\\\/#organization\",\"name\":\"Stream HPC\",\"alternateName\":\"SHPC\",\"url\":\"https:\\\/\\\/streamhpc.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/streamhpc.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/streamhpc.com\\\/wp-content\\\/uploads\\\/2010\\\/06\\\/StreamHPC-twitter.jpg\",\"contentUrl\":\"https:\\\/\\\/streamhpc.com\\\/wp-content\\\/uploads\\\/2010\\\/06\\\/StreamHPC-twitter.jpg\",\"width\":512,\"height\":512,\"caption\":\"Stream HPC\"},\"image\":{\"@id\":\"https:\\\/\\\/streamhpc.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/StreamHPC\",\"https:\\\/\\\/c.im\\\/@Streamhpc\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/streamhpc\\\/\"],\"legalName\":\"Stream HPC B.V.\",\"foundingDate\":\"2010-04-01\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":\"11\",\"maxValue\":\"50\"},\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/streamhpc.com\\\/2014-09-16\\\/use-opencl-fpgas\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/streamhpc.com\\\/#\\\/schema\\\/person\\\/7b4e293ad9533e53135e06ebf7a2a283\",\"name\":\"Vincent Hindriksen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/28658817c7dd590eb4619ee65b5c81a1fe2464293554ee97afa9e219f330a837?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/28658817c7dd590eb4619ee65b5c81a1fe2464293554ee97afa9e219f330a837?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/28658817c7dd590eb4619ee65b5c81a1fe2464293554ee97afa9e219f330a837?s=96&d=mm&r=g\",\"caption\":\"Vincent Hindriksen\"},\"description\":\"Mr. Vincent Hindriksen M.Sc is the founder of Stream HPC, a collective of performance engineering experts. Do you need expertise in performance engineering? We have several experts available (HPC, GPGPU, OpenCL, HSA, CUDA, MPI, OpenMP) and solve any kind of performance problem. Contact me directly to discuss further: +31 854865760, vincent@streamhpc.com or Skype\",\"sameAs\":[\"http:\\\/\\\/www.streamhpc.com\\\/home\\\/contact\\\/\"],\"url\":\"https:\\\/\\\/streamhpc.com\\\/author\\\/vincent\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Why use OpenCL on FPGAs? - Stream HPC","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:\/\/streamhpc.com\/2014-09-16\/use-opencl-fpgas\/","og_locale":"en_US","og_type":"article","og_title":"Why use OpenCL on FPGAs?","og_description":"Altera has just released the free ebook\u00a0FPGAs for dummies. One part of the book is devoted to\u00a0OpenCL, so we&#8217;ll quote some extracts\u00a0here \u00a0from one of the chapters. The rest of the book is worth a read, so if you want to check the rest of the text, just\u00a0fill in the\u00a0form on Altera&#8217;s webpage. In StreamHPC [&hellip;]","og_url":"https:\/\/streamhpc.com\/2014-09-16\/use-opencl-fpgas\/","og_site_name":"Stream HPC","article_published_time":"2014-09-16T11:33:38+00:00","og_image":[{"width":582,"height":900,"url":"https:\/\/streamhpc.com\/wp-content\/uploads\/2014\/09\/FPGAs_dummies.jpg","type":"image\/jpeg"}],"author":"Vincent Hindriksen","twitter_card":"summary_large_image","twitter_creator":"@StreamHPC","twitter_site":"@StreamHPC","twitter_misc":{"Written by":"Vincent Hindriksen","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/streamhpc.com\/2014-09-16\/use-opencl-fpgas\/#article","isPartOf":{"@id":"https:\/\/streamhpc.com\/2014-09-16\/use-opencl-fpgas\/"},"author":{"name":"Vincent Hindriksen","@id":"https:\/\/streamhpc.com\/#\/schema\/person\/7b4e293ad9533e53135e06ebf7a2a283"},"headline":"Why use OpenCL on FPGAs?","datePublished":"2014-09-16T11:33:38+00:00","mainEntityOfPage":{"@id":"https:\/\/streamhpc.com\/2014-09-16\/use-opencl-fpgas\/"},"wordCount":756,"commentCount":6,"publisher":{"@id":"https:\/\/streamhpc.com\/#organization"},"image":{"@id":"https:\/\/streamhpc.com\/2014-09-16\/use-opencl-fpgas\/#primaryimage"},"thumbnailUrl":"https:\/\/streamhpc.com\/wp-content\/uploads\/2014\/09\/FPGAs_dummies.jpg","keywords":["FPGA","OpenCL"],"articleSection":["Technical"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/streamhpc.com\/2014-09-16\/use-opencl-fpgas\/#respond"]}],"copyrightYear":"2014","copyrightHolder":{"@id":"https:\/\/streamhpc.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/streamhpc.com\/2014-09-16\/use-opencl-fpgas\/","url":"https:\/\/streamhpc.com\/2014-09-16\/use-opencl-fpgas\/","name":"Why use OpenCL on FPGAs? - Stream HPC","isPartOf":{"@id":"https:\/\/streamhpc.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/streamhpc.com\/2014-09-16\/use-opencl-fpgas\/#primaryimage"},"image":{"@id":"https:\/\/streamhpc.com\/2014-09-16\/use-opencl-fpgas\/#primaryimage"},"thumbnailUrl":"https:\/\/streamhpc.com\/wp-content\/uploads\/2014\/09\/FPGAs_dummies.jpg","datePublished":"2014-09-16T11:33:38+00:00","breadcrumb":{"@id":"https:\/\/streamhpc.com\/2014-09-16\/use-opencl-fpgas\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/streamhpc.com\/2014-09-16\/use-opencl-fpgas\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/streamhpc.com\/2014-09-16\/use-opencl-fpgas\/#primaryimage","url":"https:\/\/streamhpc.com\/wp-content\/uploads\/2014\/09\/FPGAs_dummies.jpg","contentUrl":"https:\/\/streamhpc.com\/wp-content\/uploads\/2014\/09\/FPGAs_dummies.jpg","width":582,"height":900},{"@type":"BreadcrumbList","@id":"https:\/\/streamhpc.com\/2014-09-16\/use-opencl-fpgas\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/streamhpc.com\/"},{"@type":"ListItem","position":2,"name":"Why use OpenCL on FPGAs?"}]},{"@type":"WebSite","@id":"https:\/\/streamhpc.com\/#website","url":"https:\/\/streamhpc.com\/","name":"StreamHPC","description":"For Fast and Scalable Software","publisher":{"@id":"https:\/\/streamhpc.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/streamhpc.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Organization","Place"],"@id":"https:\/\/streamhpc.com\/#organization","name":"Stream HPC","alternateName":"SHPC","url":"https:\/\/streamhpc.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/streamhpc.com\/#\/schema\/logo\/image\/","url":"https:\/\/streamhpc.com\/wp-content\/uploads\/2010\/06\/StreamHPC-twitter.jpg","contentUrl":"https:\/\/streamhpc.com\/wp-content\/uploads\/2010\/06\/StreamHPC-twitter.jpg","width":512,"height":512,"caption":"Stream HPC"},"image":{"@id":"https:\/\/streamhpc.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/StreamHPC","https:\/\/c.im\/@Streamhpc","https:\/\/www.linkedin.com\/company\/streamhpc\/"],"legalName":"Stream HPC B.V.","foundingDate":"2010-04-01","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"11","maxValue":"50"},"mainEntityOfPage":{"@id":"https:\/\/streamhpc.com\/2014-09-16\/use-opencl-fpgas\/"}},{"@type":"Person","@id":"https:\/\/streamhpc.com\/#\/schema\/person\/7b4e293ad9533e53135e06ebf7a2a283","name":"Vincent Hindriksen","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/28658817c7dd590eb4619ee65b5c81a1fe2464293554ee97afa9e219f330a837?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/28658817c7dd590eb4619ee65b5c81a1fe2464293554ee97afa9e219f330a837?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/28658817c7dd590eb4619ee65b5c81a1fe2464293554ee97afa9e219f330a837?s=96&d=mm&r=g","caption":"Vincent Hindriksen"},"description":"Mr. Vincent Hindriksen M.Sc is the founder of Stream HPC, a collective of performance engineering experts. Do you need expertise in performance engineering? We have several experts available (HPC, GPGPU, OpenCL, HSA, CUDA, MPI, OpenMP) and solve any kind of performance problem. Contact me directly to discuss further: +31 854865760, vincent@streamhpc.com or Skype","sameAs":["http:\/\/www.streamhpc.com\/home\/contact\/"],"url":"https:\/\/streamhpc.com\/author\/vincent\/"}]}},"spectra_blocks_featured_image_url":{"thumbnail":{"url":"https:\/\/streamhpc.com\/wp-content\/uploads\/2014\/09\/FPGAs_dummies-150x150.jpg","width":150,"height":150},"medium":{"url":"https:\/\/streamhpc.com\/wp-content\/uploads\/2014\/09\/FPGAs_dummies-194x300.jpg","width":194,"height":300},"medium_large":{"url":"https:\/\/streamhpc.com\/wp-content\/uploads\/2014\/09\/FPGAs_dummies.jpg","width":582,"height":900},"large":{"url":"https:\/\/streamhpc.com\/wp-content\/uploads\/2014\/09\/FPGAs_dummies-550x851.jpg","width":550,"height":851},"full":{"url":"https:\/\/streamhpc.com\/wp-content\/uploads\/2014\/09\/FPGAs_dummies.jpg","width":582,"height":900}},"spectra_blocks_author_info":{"display_name":"Vincent Hindriksen","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/28658817c7dd590eb4619ee65b5c81a1fe2464293554ee97afa9e219f330a837?s=96&d=mm&r=g","author_link":"https:\/\/streamhpc.com\/author\/vincent\/","description":"Mr. Vincent Hindriksen M.Sc is the founder of Stream HPC, a collective of performance engineering experts.\r\n\r\nDo you need expertise in performance engineering? We have several experts available (HPC, GPGPU, OpenCL, HSA, CUDA, MPI, OpenMP) and solve any kind of performance problem. Contact me directly to discuss further: <a href=\"tel:+31854865760\">+31 854865760<\/a>, vincent@streamhpc.com or <a href=\"https:\/\/join.skype.com\/invite\/nE0f5w9dadRe\">Skype<\/a>"},"_links":{"self":[{"href":"https:\/\/streamhpc.com\/wp-json\/wp\/v2\/posts\/8798","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/streamhpc.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/streamhpc.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/streamhpc.com\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/streamhpc.com\/wp-json\/wp\/v2\/comments?post=8798"}],"version-history":[{"count":0,"href":"https:\/\/streamhpc.com\/wp-json\/wp\/v2\/posts\/8798\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/streamhpc.com\/wp-json\/wp\/v2\/media\/8799"}],"wp:attachment":[{"href":"https:\/\/streamhpc.com\/wp-json\/wp\/v2\/media?parent=8798"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/streamhpc.com\/wp-json\/wp\/v2\/categories?post=8798"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/streamhpc.com\/wp-json\/wp\/v2\/tags?post=8798"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}