{"id":452,"date":"2019-05-03T21:11:40","date_gmt":"2019-05-03T21:11:40","guid":{"rendered":"http:\/\/phylanx.stellar-group.org\/?p=452"},"modified":"2019-05-03T21:11:40","modified_gmt":"2019-05-03T21:11:40","slug":"phylanx-report-april-2019","status":"publish","type":"post","link":"https:\/\/phylanx.stellar-group.org\/index.php\/2019\/05\/03\/phylanx-report-april-2019\/","title":{"rendered":"Phylanx Report: April 2019"},"content":{"rendered":"<p>The twentieth month of work focused on work in the following areas:<\/p>\n<ul>\n<li>Performance improvements<\/li>\n<li>Keras Backend<\/li>\n<li>hpxMP improvements<\/li>\n<\/ul>\n<p><!--more--><\/p>\n<p><strong>Organizational Activities and Results<\/strong><\/p>\n<ul>\n<li>Weekly group-meeting, minutes:\n<ul>\n<li>April 4th: <a href=\"https:\/\/drive.google.com\/open?id=101MCAlV8m4lDlXDRRlf7kl7OGmpqx_rh\" target=\"_blank\">https:\/\/drive.google.com\/open?id=101MCAlV8m4lDlXDRRlf7kl7OGmpqx_rh<\/a><\/li>\n<li>April 11th: <a href=\"https:\/\/drive.google.com\/open?id=1kiN8L5OrJQlihZFOLmIX9HN-JNI0_A1c\" target=\"_blank\">https:\/\/drive.google.com\/open?id=1kiN8L5OrJQlihZFOLmIX9HN-JNI0_A1c<\/a><\/li>\n<li>April 18th: <a href=\"https:\/\/drive.google.com\/open?id=1G3SQKRAAuNxlzlTyCCcIcHFrYUlsixk8\" target=\"_blank\">https:\/\/drive.google.com\/open?id=1G3SQKRAAuNxlzlTyCCcIcHFrYUlsixk8<\/a><\/li>\n<li>April 25th: <a href=\"https:\/\/drive.google.com\/open?id=1itonnjZaaj1uDN_Y2TmasrTStNnBw1HI\" target=\"_blank\">https:\/\/drive.google.com\/open?id=1itonnjZaaj1uDN_Y2TmasrTStNnBw1HI<\/a><\/li>\n<\/ul>\n<\/li>\n<li>Phylanx Seminars:\n<ul>\n<li><a href=\"http:\/\/phylanx.stellar-group.org\/index.php\/2019\/05\/01\/phylanx-seminar-distributed-object-in-hpx\/\" target=\"_blank\">http:\/\/phylanx.stellar-group.org\/index.php\/2019\/05\/01\/phylanx-seminar-distributed-object-in-hpx\/<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong>Development Activities and Results<\/strong><\/p>\n<ul>\n<li>General\n<ul>\n<li>Work on Keras backend\n<ul>\n<li>Implemented 83 Keras functions<\/li>\n<\/ul>\n<\/li>\n<li>Performance\n<ul>\n<li>Implemented flags to control thread stealing and idle back-off<\/li>\n<li>Optimizations for local-only primitive calls<\/li>\n<\/ul>\n<\/li>\n<li>hpxMP\n<ul>\n<li>Replaced hpx::spin_lock with hpx::latch<\/li>\n<li>Began implementing OpenMP 5.0 features<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>Traveler\n<ul>\n<li>Refactoring the Atria tree visualization\n<ul>\n<li>Modular architecture to support our deployment goals<\/li>\n<li>Completed a proof of concept of the architecture<\/li>\n<li>Working to add prior features<\/li>\n<\/ul>\n<\/li>\n<li>Gantt chart\n<ul>\n<li>Switching to Golden Layout\n<ul>\n<li>Matches the aggregator that Alex has been working on<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>Tiling\n<ul>\n<li>Implementation:\n<ul>\n<li>Implemented a generic distributed object in HPX\n<ul>\n<li>Two versions:\n<ul>\n<li>Initialization using all-to-all communication<\/li>\n<li>Initialization using a meta-object<\/li>\n<\/ul>\n<\/li>\n<li>Supports construction on a subset of nodes\/ localities.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>Future Work:\n<ul>\n<li>Implement a distributed matrix using the \u00a0generic distributed object<\/li>\n<li>Enable distributed object\u2019s fetch to return a sub-block<\/li>\n<li>Determine how to link a Python \/ PhySL object to a distributed object in HPX<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>Primitives &amp; Algorithms\n<ul>\n<li>We have merged the following primitives into master:\n<ul>\n<li>softsign (PR <a href=\"https:\/\/github.com\/STEllAR-GROUP\/phylanx\/pull\/923\" target=\"_blank\">#923<\/a>)<\/li>\n<li>resize_images (PR <a href=\"https:\/\/github.com\/STEllAR-GROUP\/phylanx\/pull\/908\" target=\"_blank\">#908<\/a>)<\/li>\n<li>switch_operation (PR <a href=\"https:\/\/github.com\/STEllAR-GROUP\/phylanx\/pull\/935\" target=\"_blank\">#935<\/a>)<\/li>\n<li>ctc_decode (PR <a href=\"https:\/\/github.com\/STEllAR-GROUP\/phylanx\/pull\/938\" target=\"_blank\">#938<\/a>)<\/li>\n<li>binary crossentropy (PR <a href=\"https:\/\/github.com\/STEllAR-GROUP\/phylanx\/pull\/945\" target=\"_blank\">#945<\/a>)<\/li>\n<li>sort (PR <a href=\"https:\/\/github.com\/STEllAR-GROUP\/phylanx\/pull\/948\" target=\"_blank\">#948<\/a>)<\/li>\n<li>conv1d (PR <a href=\"https:\/\/github.com\/STEllAR-GROUP\/phylanx\/pull\/955\" target=\"_blank\">#955<\/a>)<\/li>\n<li>3D support was added to Boolean primitives (PR <a href=\"https:\/\/github.com\/STEllAR-GROUP\/phylanx\/pull\/954\" target=\"_blank\">#954<\/a>)<\/li>\n<\/ul>\n<\/li>\n<li>Support for arrays to fold left \/ fold right was added (PR <a href=\"https:\/\/github.com\/STEllAR-GROUP\/phylanx\/pull\/932\" target=\"_blank\">#932<\/a>)<\/li>\n<\/ul>\n<\/li>\n<li>Python\n<ul>\n<li>Enable implementation of plugins in Python:\n<ul>\n<li>implement &#8216;in_top_k&#8217; plugin<\/li>\n<\/ul>\n<\/li>\n<li>Extend OpenSCoP back-end to support multi-dimensional arrays.<\/li>\n<li>Study the feasibility of JIT compilation using LLVM compiler- primarily to enable polyhedral optimizations.<\/li>\n<li>Implement more functions to support Keras&#8217; Phylanx back-end.<\/li>\n<li>Support code generation for the &#8216;zip&#8217; operation<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong>Repository Activity March 30th &#8211; April 30th:<\/strong><\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-454 size-full\" src=\"http:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2019\/05\/git_statistics_04.30.19.png\" alt=\"GitHub Statistics\" width=\"1389\" height=\"866\" srcset=\"https:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2019\/05\/git_statistics_04.30.19.png 1389w, https:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2019\/05\/git_statistics_04.30.19-300x187.png 300w, https:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2019\/05\/git_statistics_04.30.19-768x479.png 768w, https:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2019\/05\/git_statistics_04.30.19-1024x638.png 1024w, https:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2019\/05\/git_statistics_04.30.19-561x350.png 561w, https:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2019\/05\/git_statistics_04.30.19-150x94.png 150w\" sizes=\"(max-width: 1389px) 100vw, 1389px\" \/><\/p>\n<p><strong>Code statistics<\/strong><\/p>\n<pre>-------------------------------------------------------------------------------\r\nLanguage \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 files \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 blank \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 comment \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 code\r\n-------------------------------------------------------------------------------\r\nC++ \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 435 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 17324 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 5500 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 87673\r\nC\/C++ Header \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 284 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 6096 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 3527 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 30264\r\nPython \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 135 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2517 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1754 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 6447\r\nCMake \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 105 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 914 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 770 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 3811\r\nYAML \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 24 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 77 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 641\r\nDockerfile \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 6 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 27 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 53\r\nMarkdown \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 17 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 46\r\nCSS \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 14 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 10 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 38\r\nHTML \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 5 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 6 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 22\r\nINI \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 8\r\n-------------------------------------------------------------------------------\r\nSUM: \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 969 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 26917 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 11671 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 129003\r\n-------------------------------------------------------------------------------<\/pre>\n<p><strong>Impact on Other Projects<\/strong><\/p>\n<ul>\n<li>HPX Pull Requests:\n<ul>\n<li>Adding shortcut for hpx::get_ptr&lt;&gt;(sync, id) for a local, non-migratable objects (PR <a href=\"https:\/\/github.com\/STEllAR-GROUP\/hpx\/pull\/3827\" target=\"_blank\">#3827<\/a>)<\/li>\n<li>Allow setting default scheduler mode via the configuration database (PR <a href=\"https:\/\/github.com\/STEllAR-GROUP\/hpx\/pull\/3814\" target=\"_blank\">#3814<\/a>)<\/li>\n<li>Adding a distributed object abstraction (PR <a href=\"https:\/\/github.com\/STEllAR-GROUP\/hpx\/pull\/3807\" target=\"_blank\">#3807<\/a>)<\/li>\n<li>Update hpxcxx to look at lib64 and use python3 (PR <a href=\"https:\/\/github.com\/STEllAR-GROUP\/hpx\/pull\/3803\" target=\"_blank\">#3803<\/a>)<\/li>\n<li>Adding flags to scheduler allowing to control thread stealing and idle back-off (PR <a href=\"https:\/\/github.com\/STEllAR-GROUP\/hpx\/pull\/3768\" target=\"_blank\">#3768<\/a>)<\/li>\n<\/ul>\n<\/li>\n<li>Blaze Tensor Pull Requests:\n<ul>\n<li>Adding norms for tensors (PR <a href=\"https:\/\/github.com\/STEllAR-GROUP\/blaze_tensor\/pull\/21\" target=\"_blank\">#21<\/a>)<\/li>\n<li>Adding version and GIT hash to build system (PR <a href=\"https:\/\/github.com\/STEllAR-GROUP\/blaze_tensor\/pull\/20\" target=\"_blank\">#20<\/a>)<\/li>\n<li>Fixing vectorized implementation of blaze::sum(Tensor) (PR <a href=\"https:\/\/github.com\/STEllAR-GROUP\/blaze_tensor\/pull\/19\" target=\"_blank\">#19<\/a>)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>The twentieth month of work focused on work in the following areas: Performance improvements Keras Backend hpxMP improvements <a class=\"continue-reading-link\" href=\"https:\/\/phylanx.stellar-group.org\/index.php\/2019\/05\/03\/phylanx-report-april-2019\/\">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,8],"tags":[5,9],"_links":{"self":[{"href":"https:\/\/phylanx.stellar-group.org\/index.php\/wp-json\/wp\/v2\/posts\/452"}],"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=452"}],"version-history":[{"count":2,"href":"https:\/\/phylanx.stellar-group.org\/index.php\/wp-json\/wp\/v2\/posts\/452\/revisions"}],"predecessor-version":[{"id":455,"href":"https:\/\/phylanx.stellar-group.org\/index.php\/wp-json\/wp\/v2\/posts\/452\/revisions\/455"}],"wp:attachment":[{"href":"https:\/\/phylanx.stellar-group.org\/index.php\/wp-json\/wp\/v2\/media?parent=452"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/phylanx.stellar-group.org\/index.php\/wp-json\/wp\/v2\/categories?post=452"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/phylanx.stellar-group.org\/index.php\/wp-json\/wp\/v2\/tags?post=452"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}