{"id":3004,"date":"2017-12-06T06:54:52","date_gmt":"2017-12-06T06:54:52","guid":{"rendered":"https:\/\/support.plunify.com\/en\/?p=3004"},"modified":"2018-08-21T16:06:04","modified_gmt":"2018-08-21T16:06:04","slug":"chasm-software-engineers-fpgas-ml-applications","status":"publish","type":"post","link":"https:\/\/support.plunify.com\/en\/2017\/12\/06\/chasm-software-engineers-fpgas-ml-applications\/","title":{"rendered":"The chasm between Software Engineers and FPGAs for ML applications"},"content":{"rendered":"<div id=\"ember1132\" class=\"ember-view\">\n<div class=\"reader-article-content\">\n<p>AI and Machine Learning (ML) are penetrating all industries. As AI algorithms mature, the infrastructure supporting them are maturing as well. Right now, there are ASIC, CPU, GPU and FPGA solutions available as hardware platforms to accelerate these algorithms. At Plunify, we are more familiar with FPGAs but many of us are software people at heart. When I say \"software\", I don't mean embedded engineers, firmware engineers or people who developed drivers; we are talking about developers coding in languages like .NET, Java, Python, R, SQL, C++ and Javascript.<\/p>\n<p>One of the newer projects we are working on is ML-driven placement for chip design. Using hundreds of thousands of different placements to train on, we use ML techniques to predict the final timing performance of the design before you even do routing. (This is another post)<\/p>\n<h3>What framework should one use to start a ML project?<\/h3>\n<p>Considering a number of available options, we eventually chose Tensorflow. This may seem incredulous because shouldn't we use something that can easily target FPGAs as the hardware? I mean we have developed Xilinx Vivado plugin called\u00a0<a href=\"https:\/\/www.plunify.com\/en\/plunify-cloud\/\" target=\"_blank\" rel=\"nofollow noopener\">Plunify Cloud<\/a>\u00a0and an design optimization software called\u00a0<a href=\"https:\/\/www.plunify.com\/en\/product\/\" target=\"_blank\" rel=\"nofollow noopener\">InTime<\/a>. So we should know a thing or two about FPGAs and Tensorflow is not remotely close to FPGAs.<\/p>\n<p>But don't get us wrong. We are firm believers of the acceleration beast that exists in FPGAs. However, at the start of every ML project. the main considerations for picking a suitable development environment are skill-set and availability of learning resources. For skill-set, we know all the languages I listed above and more. For resources, Tensor Flow+Keras tutorials and documentation seem to beat all others hands down. With so many options, you want to get up and running quickly and see if your methods work.<\/p>\n<div class=\"slate-resizable-image-embed slate-image-embed__resize-full-width\"><img src=\"https:\/\/i1.wp.com\/media.licdn.com\/mpr\/mpr\/AAIAAwDGAAgAAQAAAAAAAAzfAAAAJDk3OWUyODM1LWVkMjktNGYyMC04Yzg5LTY1OWU2ZThjNTljNw.jpg?w=960&#038;ssl=1\" data-recalc-dims=\"1\" \/><\/div>\n<h3>Which acceleration platform is the one to use?<\/h3>\n<p>How do we speed up ML training and inference as we generate hundreds of thousands of designs with different placements and resource requirements? The acceleration question is coming eventually - should we use GPU\/TPU\/FPGAs? It is pretty evident that the user-friendliness odds are stacked against FPGAs. The logical option is still the Google Cloud Platform or even GPUs.<\/p>\n<p>For us, we have to figure out how to convert what we are doing into an acceleration environment for FPGAs. And when I say \"convert\", it is not a complete rewrite. Maybe we should have started with Caffe but again, software developers don't think about the acceleration platform in the starting phase.<\/p>\n<h3>I know nuts about engines. I just want a faster car.<\/h3>\n<p>There is an alternative - High Level Synthesis. Write in C\/C++ and convert to Verilog or VHDL. (This approach has been around for very long and heavily critique.) Recently we spoke with the good folks at\u00a0<a href=\"http:\/\/www.hastlayer.com\/\" target=\"_blank\" rel=\"nofollow noopener\">Hastlayer<\/a>\u00a0who are providing a .NET\u00a0<a href=\"https:\/\/github.com\/Lombiq\/Hastlayer-SDK\" target=\"_blank\" rel=\"nofollow noopener\">SDK<\/a>\u00a0capable of converting a .NET program to VHDL. Sure, there are some limitations but as a software developer, it is a great leap from trying to understand clocks, frequencies, types of device family and boards. All we self-centered software developers care about is how fast can my ML training be done. If my program runs for 1 day on CPU, I want to know how fast it runs on FPGA. If it takes me 2 hours, can I use an optimized version (e.g. same .NET program but optimized by InTime) to run for only 30 minutes?<\/p>\n<h3>Engage in the natural habitats or convert later<\/h3>\n<p>Engaging software developers in their natural habitats\u00a0<u>early<\/u>\u00a0definitely helps. Seeing how fast the field is expanding, the majority of the programmers writing machine learning algorithms are not going to data scientists with a Phd in mathematics or FPGA\/ASIC design engineers. It will be regular guys with a typical CS degree like you and me using ready-made libraries. It may be a bit late to come up with your own ML framework without the resources of a huge corporation or team (well, anything is possible). If not, having an easy, automated conversion path seems like the next best option.<\/p>\n<p>So instead of saying \"you need to learn how to target FPGAs from day one\", we should be saying \"do this to convert your Tensorflow \/ Pytorch program to target an FPGA\". Or let us run this on FPGAs for you.<\/p>\n<p>In both options, there are chasms to cross. If you are a software developer hitting these issues, it will be great to hear your thoughts.<\/p>\n<\/div>\n<\/div>\n<div class=\"social-detail\">Reposted from:<a href=\"https:\/\/www.linkedin.com\/pulse\/chasm-between-software-engineers-fpgas-ml-applications-kirvy-teo\/?published=t\">\u00a0https:\/\/www.linkedin.com\/pulse\/chasm-between-software-engineers-fpgas-ml-applications-kirvy-teo\/?published=t<\/a><\/div>\n<footer class=\"reader-related-content pv3 relative\">\n<div class=\"reader-related-content__author display-flex align-items-center pb4 pt1\"><\/div>\n<\/footer>\n<h3>Join Plunify Newsletter<\/h3>\n<div class=\"jetpack_subscription_widget\"><h2 class=\"widgettitle\"><\/h2>\n            <form action=\"#\" method=\"post\" accept-charset=\"utf-8\" id=\"subscribe-blog-461\">\n\t\t\t\t                    <div id=\"subscribe-text\"><p>Enter your email address and have the latest insights on FPGA, cloud and Machine Learning delivered straight to your inbox.<\/p>\n<\/div>                    <p id=\"subscribe-email\">\n                        <label id=\"jetpack-subscribe-label\"\n                               class=\"screen-reader-text\"\n                               for=\"subscribe-field-461\">\n\t\t\t\t\t\t\tEmail Address                        <\/label>\n                        <input type=\"email\" name=\"email\" required=\"required\"\n                        \t\t\t                                                value=\"\"\n                            id=\"subscribe-field-461\"\n                            placeholder=\"Email Address\"\n                        \/>\n                    <\/p>\n\n\t\t\t\t\t<p id=\"subscribe-submit\"\n\t\t\t\t\t\t\t\t\t\t\t>\n                        <input type=\"hidden\" name=\"action\" value=\"subscribe\"\/>\n                        <input type=\"hidden\" name=\"source\" value=\"https:\/\/support.plunify.com\/en\/wp-json\/wp\/v2\/posts\/3004\"\/>\n                        <input type=\"hidden\" name=\"sub-type\" value=\"widget\"\/>\n                        <input type=\"hidden\" name=\"redirect_fragment\" value=\"461\"\/>\n\t\t\t\t\t\t                        <button type=\"submit\"\n\t                        \t\t                    \t\t\t                    style=\"margin-left: 0px;\"\n\t\t                    \t                        name=\"jetpack_subscriptions_widget\"\n\t                    >\n\t                                    Sign Me Up!                                  <\/button>\n                    <\/p>\n\t\t\t\t            <\/form>\n\t\t\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>AI and Machine Learning (ML) are penetrating all industries. As AI algorithms mature, the infrastructure supporting them are maturing as well. Right now, there are ASIC, CPU, GPU and FPGA solutions available as hardware platforms to accelerate these algorithms. At Plunify, we are more familiar with FPGAs but many of us are software people at [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":3010,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"_links_to":"","_links_to_target":""},"categories":[205],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v17.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>The Chasm between Software Engineers and FPGAs for Machine Learning Applications<\/title>\n<meta name=\"description\" content=\"Machine Learning is penetrating all industries. FPGA can also contribute to regular machine learning projects from software engineers.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/support.plunify.com\/en\/2017\/12\/06\/chasm-software-engineers-fpgas-ml-applications\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Chasm between Software Engineers and FPGAs for Machine Learning Applications\" \/>\n<meta property=\"og:description\" content=\"Machine Learning is penetrating all industries. FPGA can also contribute to regular machine learning projects from software engineers.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/support.plunify.com\/en\/2017\/12\/06\/chasm-software-engineers-fpgas-ml-applications\/\" \/>\n<meta property=\"og:site_name\" content=\"Plunify Blog &amp; Support\" \/>\n<meta property=\"article:published_time\" content=\"2017-12-06T06:54:52+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-08-21T16:06:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i2.wp.com\/support.plunify.com\/en\/wp-content\/uploads\/sites\/5\/2017\/12\/AAEAAQAAAAAAAAmlAAAAJGRiM2IxMTQyLTFhZjYtNDRlOS1hNDA0LWUwNmYyMmZlNTMyMg.jpg?fit=800%2C320&#038;ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"320\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirvy Teo\" \/>\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\":\"Organization\",\"@id\":\"https:\/\/support.plunify.com\/en\/#organization\",\"name\":\"Plunify-Support\",\"url\":\"https:\/\/support.plunify.com\/en\/\",\"sameAs\":[],\"logo\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/support.plunify.com\/en\/#logo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/i1.wp.com\/support.plunify.com\/en\/wp-content\/uploads\/sites\/5\/2016\/05\/Plunify_Logo_Outline_TranspBG_sm.png?fit=600%2C159&ssl=1\",\"contentUrl\":\"https:\/\/i1.wp.com\/support.plunify.com\/en\/wp-content\/uploads\/sites\/5\/2016\/05\/Plunify_Logo_Outline_TranspBG_sm.png?fit=600%2C159&ssl=1\",\"width\":600,\"height\":159,\"caption\":\"Plunify-Support\"},\"image\":{\"@id\":\"https:\/\/support.plunify.com\/en\/#logo\"}},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/support.plunify.com\/en\/#website\",\"url\":\"https:\/\/support.plunify.com\/en\/\",\"name\":\"Plunify Blog &amp; Support\",\"description\":\"Everything you need to know about Plunify products\",\"publisher\":{\"@id\":\"https:\/\/support.plunify.com\/en\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/support.plunify.com\/en\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/support.plunify.com\/en\/2017\/12\/06\/chasm-software-engineers-fpgas-ml-applications\/#primaryimage\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/i2.wp.com\/support.plunify.com\/en\/wp-content\/uploads\/sites\/5\/2017\/12\/AAEAAQAAAAAAAAmlAAAAJGRiM2IxMTQyLTFhZjYtNDRlOS1hNDA0LWUwNmYyMmZlNTMyMg.jpg?fit=800%2C320&ssl=1\",\"contentUrl\":\"https:\/\/i2.wp.com\/support.plunify.com\/en\/wp-content\/uploads\/sites\/5\/2017\/12\/AAEAAQAAAAAAAAmlAAAAJGRiM2IxMTQyLTFhZjYtNDRlOS1hNDA0LWUwNmYyMmZlNTMyMg.jpg?fit=800%2C320&ssl=1\",\"width\":800,\"height\":320},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/support.plunify.com\/en\/2017\/12\/06\/chasm-software-engineers-fpgas-ml-applications\/#webpage\",\"url\":\"https:\/\/support.plunify.com\/en\/2017\/12\/06\/chasm-software-engineers-fpgas-ml-applications\/\",\"name\":\"The Chasm between Software Engineers and FPGAs for Machine Learning Applications\",\"isPartOf\":{\"@id\":\"https:\/\/support.plunify.com\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/support.plunify.com\/en\/2017\/12\/06\/chasm-software-engineers-fpgas-ml-applications\/#primaryimage\"},\"datePublished\":\"2017-12-06T06:54:52+00:00\",\"dateModified\":\"2018-08-21T16:06:04+00:00\",\"description\":\"Machine Learning is penetrating all industries. FPGA can also contribute to regular machine learning projects from software engineers.\",\"breadcrumb\":{\"@id\":\"https:\/\/support.plunify.com\/en\/2017\/12\/06\/chasm-software-engineers-fpgas-ml-applications\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/support.plunify.com\/en\/2017\/12\/06\/chasm-software-engineers-fpgas-ml-applications\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/support.plunify.com\/en\/2017\/12\/06\/chasm-software-engineers-fpgas-ml-applications\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/support.plunify.com\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The chasm between Software Engineers and FPGAs for ML applications\"}]},{\"@type\":\"Article\",\"@id\":\"https:\/\/support.plunify.com\/en\/2017\/12\/06\/chasm-software-engineers-fpgas-ml-applications\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/support.plunify.com\/en\/2017\/12\/06\/chasm-software-engineers-fpgas-ml-applications\/#webpage\"},\"author\":{\"@id\":\"https:\/\/support.plunify.com\/en\/#\/schema\/person\/e837e6c73fa6ac9d51563659f5703277\"},\"headline\":\"The chasm between Software Engineers and FPGAs for ML applications\",\"datePublished\":\"2017-12-06T06:54:52+00:00\",\"dateModified\":\"2018-08-21T16:06:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/support.plunify.com\/en\/2017\/12\/06\/chasm-software-engineers-fpgas-ml-applications\/#webpage\"},\"wordCount\":791,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/support.plunify.com\/en\/#organization\"},\"image\":{\"@id\":\"https:\/\/support.plunify.com\/en\/2017\/12\/06\/chasm-software-engineers-fpgas-ml-applications\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/i2.wp.com\/support.plunify.com\/en\/wp-content\/uploads\/sites\/5\/2017\/12\/AAEAAQAAAAAAAAmlAAAAJGRiM2IxMTQyLTFhZjYtNDRlOS1hNDA0LWUwNmYyMmZlNTMyMg.jpg?fit=800%2C320&ssl=1\",\"articleSection\":[\"General\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/support.plunify.com\/en\/2017\/12\/06\/chasm-software-engineers-fpgas-ml-applications\/#respond\"]}]},{\"@type\":\"Person\",\"@id\":\"https:\/\/support.plunify.com\/en\/#\/schema\/person\/e837e6c73fa6ac9d51563659f5703277\",\"name\":\"Kirvy Teo\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\/\/support.plunify.com\/en\/#personlogo\",\"inLanguage\":\"en-US\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/774c97d4bacda481b716e8168ce23aad?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/774c97d4bacda481b716e8168ce23aad?s=96&d=mm&r=g\",\"caption\":\"Kirvy Teo\"},\"url\":\"https:\/\/support.plunify.com\/en\/author\/kirvy\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"The Chasm between Software Engineers and FPGAs for Machine Learning Applications","description":"Machine Learning is penetrating all industries. FPGA can also contribute to regular machine learning projects from software engineers.","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:\/\/support.plunify.com\/en\/2017\/12\/06\/chasm-software-engineers-fpgas-ml-applications\/","og_locale":"en_US","og_type":"article","og_title":"The Chasm between Software Engineers and FPGAs for Machine Learning Applications","og_description":"Machine Learning is penetrating all industries. FPGA can also contribute to regular machine learning projects from software engineers.","og_url":"https:\/\/support.plunify.com\/en\/2017\/12\/06\/chasm-software-engineers-fpgas-ml-applications\/","og_site_name":"Plunify Blog &amp; Support","article_published_time":"2017-12-06T06:54:52+00:00","article_modified_time":"2018-08-21T16:06:04+00:00","og_image":[{"width":800,"height":320,"url":"https:\/\/i2.wp.com\/support.plunify.com\/en\/wp-content\/uploads\/sites\/5\/2017\/12\/AAEAAQAAAAAAAAmlAAAAJGRiM2IxMTQyLTFhZjYtNDRlOS1hNDA0LWUwNmYyMmZlNTMyMg.jpg?fit=800%2C320&ssl=1","path":"\/var\/www\/html\/support_plunify_com\/wp-content\/uploads\/sites\/5\/2017\/12\/AAEAAQAAAAAAAAmlAAAAJGRiM2IxMTQyLTFhZjYtNDRlOS1hNDA0LWUwNmYyMmZlNTMyMg.jpg","size":"full","id":3010,"alt":"","pixels":256000,"type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirvy Teo","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Organization","@id":"https:\/\/support.plunify.com\/en\/#organization","name":"Plunify-Support","url":"https:\/\/support.plunify.com\/en\/","sameAs":[],"logo":{"@type":"ImageObject","@id":"https:\/\/support.plunify.com\/en\/#logo","inLanguage":"en-US","url":"https:\/\/i1.wp.com\/support.plunify.com\/en\/wp-content\/uploads\/sites\/5\/2016\/05\/Plunify_Logo_Outline_TranspBG_sm.png?fit=600%2C159&ssl=1","contentUrl":"https:\/\/i1.wp.com\/support.plunify.com\/en\/wp-content\/uploads\/sites\/5\/2016\/05\/Plunify_Logo_Outline_TranspBG_sm.png?fit=600%2C159&ssl=1","width":600,"height":159,"caption":"Plunify-Support"},"image":{"@id":"https:\/\/support.plunify.com\/en\/#logo"}},{"@type":"WebSite","@id":"https:\/\/support.plunify.com\/en\/#website","url":"https:\/\/support.plunify.com\/en\/","name":"Plunify Blog &amp; Support","description":"Everything you need to know about Plunify products","publisher":{"@id":"https:\/\/support.plunify.com\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/support.plunify.com\/en\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"ImageObject","@id":"https:\/\/support.plunify.com\/en\/2017\/12\/06\/chasm-software-engineers-fpgas-ml-applications\/#primaryimage","inLanguage":"en-US","url":"https:\/\/i2.wp.com\/support.plunify.com\/en\/wp-content\/uploads\/sites\/5\/2017\/12\/AAEAAQAAAAAAAAmlAAAAJGRiM2IxMTQyLTFhZjYtNDRlOS1hNDA0LWUwNmYyMmZlNTMyMg.jpg?fit=800%2C320&ssl=1","contentUrl":"https:\/\/i2.wp.com\/support.plunify.com\/en\/wp-content\/uploads\/sites\/5\/2017\/12\/AAEAAQAAAAAAAAmlAAAAJGRiM2IxMTQyLTFhZjYtNDRlOS1hNDA0LWUwNmYyMmZlNTMyMg.jpg?fit=800%2C320&ssl=1","width":800,"height":320},{"@type":"WebPage","@id":"https:\/\/support.plunify.com\/en\/2017\/12\/06\/chasm-software-engineers-fpgas-ml-applications\/#webpage","url":"https:\/\/support.plunify.com\/en\/2017\/12\/06\/chasm-software-engineers-fpgas-ml-applications\/","name":"The Chasm between Software Engineers and FPGAs for Machine Learning Applications","isPartOf":{"@id":"https:\/\/support.plunify.com\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/support.plunify.com\/en\/2017\/12\/06\/chasm-software-engineers-fpgas-ml-applications\/#primaryimage"},"datePublished":"2017-12-06T06:54:52+00:00","dateModified":"2018-08-21T16:06:04+00:00","description":"Machine Learning is penetrating all industries. FPGA can also contribute to regular machine learning projects from software engineers.","breadcrumb":{"@id":"https:\/\/support.plunify.com\/en\/2017\/12\/06\/chasm-software-engineers-fpgas-ml-applications\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/support.plunify.com\/en\/2017\/12\/06\/chasm-software-engineers-fpgas-ml-applications\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/support.plunify.com\/en\/2017\/12\/06\/chasm-software-engineers-fpgas-ml-applications\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/support.plunify.com\/en\/"},{"@type":"ListItem","position":2,"name":"The chasm between Software Engineers and FPGAs for ML applications"}]},{"@type":"Article","@id":"https:\/\/support.plunify.com\/en\/2017\/12\/06\/chasm-software-engineers-fpgas-ml-applications\/#article","isPartOf":{"@id":"https:\/\/support.plunify.com\/en\/2017\/12\/06\/chasm-software-engineers-fpgas-ml-applications\/#webpage"},"author":{"@id":"https:\/\/support.plunify.com\/en\/#\/schema\/person\/e837e6c73fa6ac9d51563659f5703277"},"headline":"The chasm between Software Engineers and FPGAs for ML applications","datePublished":"2017-12-06T06:54:52+00:00","dateModified":"2018-08-21T16:06:04+00:00","mainEntityOfPage":{"@id":"https:\/\/support.plunify.com\/en\/2017\/12\/06\/chasm-software-engineers-fpgas-ml-applications\/#webpage"},"wordCount":791,"commentCount":0,"publisher":{"@id":"https:\/\/support.plunify.com\/en\/#organization"},"image":{"@id":"https:\/\/support.plunify.com\/en\/2017\/12\/06\/chasm-software-engineers-fpgas-ml-applications\/#primaryimage"},"thumbnailUrl":"https:\/\/i2.wp.com\/support.plunify.com\/en\/wp-content\/uploads\/sites\/5\/2017\/12\/AAEAAQAAAAAAAAmlAAAAJGRiM2IxMTQyLTFhZjYtNDRlOS1hNDA0LWUwNmYyMmZlNTMyMg.jpg?fit=800%2C320&ssl=1","articleSection":["General"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/support.plunify.com\/en\/2017\/12\/06\/chasm-software-engineers-fpgas-ml-applications\/#respond"]}]},{"@type":"Person","@id":"https:\/\/support.plunify.com\/en\/#\/schema\/person\/e837e6c73fa6ac9d51563659f5703277","name":"Kirvy Teo","image":{"@type":"ImageObject","@id":"https:\/\/support.plunify.com\/en\/#personlogo","inLanguage":"en-US","url":"https:\/\/secure.gravatar.com\/avatar\/774c97d4bacda481b716e8168ce23aad?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/774c97d4bacda481b716e8168ce23aad?s=96&d=mm&r=g","caption":"Kirvy Teo"},"url":"https:\/\/support.plunify.com\/en\/author\/kirvy\/"}]}},"jetpack_featured_media_url":"https:\/\/i2.wp.com\/support.plunify.com\/en\/wp-content\/uploads\/sites\/5\/2017\/12\/AAEAAQAAAAAAAAmlAAAAJGRiM2IxMTQyLTFhZjYtNDRlOS1hNDA0LWUwNmYyMmZlNTMyMg.jpg?fit=800%2C320&ssl=1","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p7XiEH-Ms","_links":{"self":[{"href":"https:\/\/support.plunify.com\/en\/wp-json\/wp\/v2\/posts\/3004"}],"collection":[{"href":"https:\/\/support.plunify.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/support.plunify.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/support.plunify.com\/en\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/support.plunify.com\/en\/wp-json\/wp\/v2\/comments?post=3004"}],"version-history":[{"count":6,"href":"https:\/\/support.plunify.com\/en\/wp-json\/wp\/v2\/posts\/3004\/revisions"}],"predecessor-version":[{"id":3913,"href":"https:\/\/support.plunify.com\/en\/wp-json\/wp\/v2\/posts\/3004\/revisions\/3913"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/support.plunify.com\/en\/wp-json\/wp\/v2\/media\/3010"}],"wp:attachment":[{"href":"https:\/\/support.plunify.com\/en\/wp-json\/wp\/v2\/media?parent=3004"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/support.plunify.com\/en\/wp-json\/wp\/v2\/categories?post=3004"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/support.plunify.com\/en\/wp-json\/wp\/v2\/tags?post=3004"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}