{"id":258,"date":"2018-03-22T20:56:20","date_gmt":"2018-03-22T20:56:20","guid":{"rendered":"http:\/\/phylanx.stellar-group.org\/?p=258"},"modified":"2018-03-22T20:56:20","modified_gmt":"2018-03-22T20:56:20","slug":"phylanx-seminar-revealing-the-magic-of-blaze","status":"publish","type":"post","link":"https:\/\/phylanx.stellar-group.org\/index.php\/2018\/03\/22\/phylanx-seminar-revealing-the-magic-of-blaze\/","title":{"rendered":"Phylanx Seminar: Revealing the Magic of Blaze"},"content":{"rendered":"<p>Over the past several weeks, many team members have been asking how aspects of the Phylanx project are implemented. In this seminar,\u00a0 Hartmut explains the techniques used by Blaze to optimize matrix operations. He implements a matrix addition example which uses types, templates, and curiously recurring template patterns (CRTP) to reduce the number of temporaries made during the execution of the code. By avoiding these extra allocations in a compiler friendly way, Blaze can drastically reduce the amount of time it takes perform matrix operations. You can find links to the seminar materials below:<\/p>\n<p>Seminar Video: <a href=\"https:\/\/www.youtube.com\/watch?v=F5E8cOqHmRU\" target=\"_blank\">https:\/\/www.youtube.com\/watch?v=F5E8cOqHmRU<\/a><br \/>\nNaive Matrix Implementation: <a href=\"http:\/\/stellar.cct.lsu.edu\/files\/phylanx_seminars\/03.21.18_seminar_blaze_magic\/naive_matrix_03.21.18.cpp\" target=\"_blank\">http:\/\/stellar.cct.lsu.edu\/files\/phylanx_seminars\/03.21.18_seminar_blaze_magic\/naive_matrix_03.21.18.cpp<\/a><br \/>\nOptimized Matrix Implementation: <a href=\"http:\/\/stellar.cct.lsu.edu\/files\/phylanx_seminars\/03.21.18_seminar_blaze_magic\/optimized_matrix_03.21.18.cpp\" target=\"_blank\">http:\/\/stellar.cct.lsu.edu\/files\/phylanx_seminars\/03.21.18_seminar_blaze_magic\/optimized_matrix_03.21.18.cpp<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Over the past several weeks, many team members have been asking how aspects of the Phylanx project are implemented. In this seminar,\u00a0 Hartmut explains the techniques used by Blaze to optimize matrix operations. He implements a matrix addition example which uses types, templates, and curiously recurring template patterns (CRTP) to\u2026 <a class=\"continue-reading-link\" href=\"https:\/\/phylanx.stellar-group.org\/index.php\/2018\/03\/22\/phylanx-seminar-revealing-the-magic-of-blaze\/\">Continue reading<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[4,10],"tags":[25,20,24,5,11,12],"_links":{"self":[{"href":"https:\/\/phylanx.stellar-group.org\/index.php\/wp-json\/wp\/v2\/posts\/258"}],"collection":[{"href":"https:\/\/phylanx.stellar-group.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/phylanx.stellar-group.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/phylanx.stellar-group.org\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/phylanx.stellar-group.org\/index.php\/wp-json\/wp\/v2\/comments?post=258"}],"version-history":[{"count":4,"href":"https:\/\/phylanx.stellar-group.org\/index.php\/wp-json\/wp\/v2\/posts\/258\/revisions"}],"predecessor-version":[{"id":262,"href":"https:\/\/phylanx.stellar-group.org\/index.php\/wp-json\/wp\/v2\/posts\/258\/revisions\/262"}],"wp:attachment":[{"href":"https:\/\/phylanx.stellar-group.org\/index.php\/wp-json\/wp\/v2\/media?parent=258"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/phylanx.stellar-group.org\/index.php\/wp-json\/wp\/v2\/categories?post=258"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/phylanx.stellar-group.org\/index.php\/wp-json\/wp\/v2\/tags?post=258"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}