{"id":446,"date":"2019-04-02T20:14:23","date_gmt":"2019-04-02T20:14:23","guid":{"rendered":"http:\/\/phylanx.stellar-group.org\/?p=446"},"modified":"2019-04-02T20:14:23","modified_gmt":"2019-04-02T20:14:23","slug":"phylanx-report-march-2019","status":"publish","type":"post","link":"https:\/\/phylanx.stellar-group.org\/index.php\/2019\/04\/02\/phylanx-report-march-2019\/","title":{"rendered":"Phylanx Report: March 2019"},"content":{"rendered":"<p>The nineteenth month of work focused on work in the following areas:<\/p>\n<ul>\n<li>Traveler Team Visit (March 7th and 8th)<\/li>\n<li>Support for the Keras Back-end<\/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>March 7th: <a href=\"https:\/\/drive.google.com\/open?id=1SOL-eIk3WOep3rVfFhVVIDHzgKC5d0ER\" target=\"_blank\">https:\/\/drive.google.com\/open?id=1SOL-eIk3WOep3rVfFhVVIDHzgKC5d0ER<\/a><\/li>\n<li>March 14th: <a href=\"https:\/\/drive.google.com\/open?id=1ppwKttDjjGjoIAPlXSwp_KhpEybFYzXh\" target=\"_blank\">https:\/\/drive.google.com\/open?id=1ppwKttDjjGjoIAPlXSwp_KhpEybFYzXh<\/a><\/li>\n<li>March 21st: <a href=\"https:\/\/drive.google.com\/open?id=1HVuDeo0wBM8Rh5O8_mpatxwMKHdUbRiN\" target=\"_blank\">https:\/\/drive.google.com\/open?id=1HVuDeo0wBM8Rh5O8_mpatxwMKHdUbRiN<\/a><\/li>\n<li>March 28th: <a href=\"https:\/\/drive.google.com\/open?id=1abRtIbzIYdqBkPBtaG4EVkEEgE6XA_0V\" target=\"_blank\">https:\/\/drive.google.com\/open?id=1abRtIbzIYdqBkPBtaG4EVkEEgE6XA_0V<\/a><\/li>\n<\/ul>\n<\/li>\n<li>Phylanx Seminars:\n<ul>\n<li><a href=\"http:\/\/phylanx.stellar-group.org\/index.php\/2019\/03\/20\/phylanx-seminar-ordering\/\" target=\"_blank\">http:\/\/phylanx.stellar-group.org\/index.php\/2019\/03\/20\/phylanx-seminar-ordering\/<\/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>Much of this month\u2019s work focused on creating primitives which supports the Keras backend\n<ul>\n<li>Includes adding 3D support for some primitives<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>APEX\n<ul>\n<li>Work on policy to determine whether to launch primitives synchronously or asynchronously<\/li>\n<\/ul>\n<\/li>\n<li>Traveler\n<ul>\n<li>Traveler Tree now called \u201cAtria\u201d<\/li>\n<li>Added list view to Atria. It shows an ordered list of high execution time primitives<\/li>\n<li>Formal evaluation sessions of Atria<\/li>\n<li>Atria UI fixes for code linking, tree collapsing<\/li>\n<\/ul>\n<\/li>\n<li>Tiling\n<ul>\n<li>Theory:\n<ul>\n<li>Looked at the Latent Dirichlet allocation problem and found a suitable matrix-based learning algorithm\n<ul>\n<li>Set of operations performed by this algorithm consists of only simple matrix operations like multiplication, inverse etc. and they are suitable for distributed execution<\/li>\n<li>As far as we are aware there are no distributed implementations of this particular algorithm, hence it is possible that a distributed implementation using Phylanx may lead to a small (student) paper<\/li>\n<li>There are few variants of this algorithm, which claim better overall performance. It seems to us as a starting point this algorithm is a better choice due to its simplicity.<\/li>\n<\/ul>\n<\/li>\n<li>Partitioning interval hypergraphs\n<ul>\n<li>Motivated by sparse matrix tiling (partitioning) problem in the context of matrix vector multiplications<\/li>\n<li>Problem is NP complete, if the intervals are contiguous and disjoint<\/li>\n<li>Extending the intervals to two or more dimensions does not make this version of the problem any more interesting<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>Implementation:\n<ul>\n<li>Implemented two separate prototype distributed objects in HPX.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<li>Primitives &amp; Algorithms\n<ul>\n<li>Added the following primitives:\n<ul>\n<li>ReLU #870<\/li>\n<li>Sigmoid #872<\/li>\n<li>Hard_Sigmoid #872<\/li>\n<li>One_hot_operation #871<\/li>\n<li>Softplus #869<\/li>\n<li>Size #867<\/li>\n<li>L2_normalize operation #881<\/li>\n<li>elu_operation #882<\/li>\n<li>batch_dot #877<\/li>\n<\/ul>\n<\/li>\n<li>3D support added to the following primitives:\n<ul>\n<li>Reshape #823<\/li>\n<li>Softmax #850<\/li>\n<\/ul>\n<\/li>\n<li>Slicing was adapted to support 32 bit indices #814<\/li>\n<li>Added Truncated Normal Random Number Distribution #865<\/li>\n<\/ul>\n<\/li>\n<li>Python\n<ul>\n<li>Added support for lazy evaluations of Phylanx functions<\/li>\n<li>Support code generation for:\n<ul>\n<li>default values and named arguments<\/li>\n<li>if expressions<\/li>\n<li>list comprehension<\/li>\n<li>for loops with variable iteration spaces<\/li>\n<\/ul>\n<\/li>\n<li>Bug fixes:\n<ul>\n<li>Plain returns<\/li>\n<li>enforcing Python version in the build system<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><strong>Repository Activity March 1st &#8211; March 31th:<\/strong><\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-447 size-full\" src=\"http:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2019\/04\/git_statistics_03.31.19.png\" alt=\"Visualization of March repository statistics\" width=\"1380\" height=\"889\" srcset=\"https:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2019\/04\/git_statistics_03.31.19.png 1380w, https:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2019\/04\/git_statistics_03.31.19-300x193.png 300w, https:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2019\/04\/git_statistics_03.31.19-768x495.png 768w, https:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2019\/04\/git_statistics_03.31.19-1024x660.png 1024w, https:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2019\/04\/git_statistics_03.31.19-543x350.png 543w, https:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2019\/04\/git_statistics_03.31.19-150x97.png 150w\" sizes=\"(max-width: 1380px) 100vw, 1380px\" \/><\/p>\n<p>Code statistics<\/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 417 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 16445 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 5149 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 80452\r\nC\/C++ Header \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 272 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 5925 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 3462 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 29609\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 118 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2272 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1631 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 5838\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 102 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 895 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 758 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 3725\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 50\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 919 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 25603 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 11120 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 120436\r\n-------------------------------------------------------------------------------<\/pre>\n<p><strong>Impact on Other Projects<\/strong><\/p>\n<ul>\n<li>Blaze Tickets:\n<ul>\n<li>Add support for `mean` calculations (Issue <a href=\"https:\/\/bitbucket.org\/blaze-lib\/blaze\/issues\/243\/add-support-for-mean-calculations\" target=\"_blank\">#243<\/a>)<\/li>\n<\/ul>\n<\/li>\n<li>HPX Pull Requests:\n<ul>\n<li>Disable more code if networking is not available\/not enabled (PR <a href=\"https:\/\/github.com\/STEllAR-GROUP\/hpx\/pull\/3754\" target=\"_blank\">#3754<\/a>)<\/li>\n<li>Introduced cache_aligned_data and cache_line_data helper structure (PR <a href=\"https:\/\/github.com\/STEllAR-GROUP\/hpx\/pull\/3745\" target=\"_blank\">#3745<\/a>)<\/li>\n<li>Add latch member function count_up and reset, requested by hpxMP (PR <a href=\"https:\/\/github.com\/STEllAR-GROUP\/hpx\/pull\/3729\" target=\"_blank\">#3729<\/a>)<\/li>\n<li>Adding support for passing command line options through the HPX_COMMANDLINE_OPTIONS environment variable (PR <a href=\"https:\/\/github.com\/STEllAR-GROUP\/hpx\/pull\/3726\" target=\"_blank\">#3726<\/a>)<\/li>\n<\/ul>\n<\/li>\n<li>Blaze Tensor\n<ul>\n<li>Fixing reduce operations to not operate on first rowslice twice (PR <a href=\"https:\/\/github.com\/STEllAR-GROUP\/blaze_tensor\/pull\/18\" target=\"_blank\">#18<\/a>)<\/li>\n<li>Changing the implementation of of the for loop in HPX backend (PR <a href=\"https:\/\/github.com\/STEllAR-GROUP\/blaze_tensor\/pull\/12\" target=\"_blank\">#12<\/a>)<\/li>\n<\/ul>\n<\/li>\n<li>hpxMP\n<ul>\n<li>Initial Support for OpenMP 5.0 (PR <a href=\"https:\/\/github.com\/STEllAR-GROUP\/hpxMP\/pull\/50\" target=\"_blank\">#50<\/a>)<\/li>\n<li>boost intrusive pointer for omp_task_data , all barriers replaced with latch (PR <a href=\"https:\/\/github.com\/STEllAR-GROUP\/hpxMP\/pull\/49\" target=\"_blank\">#49<\/a>)<\/li>\n<li>Using Latch replace Barrier (PR <a href=\"https:\/\/github.com\/STEllAR-GROUP\/hpxMP\/pull\/48\" target=\"_blank\">#48<\/a>)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>The nineteenth month of work focused on work in the following areas: Traveler Team Visit (March 7th and 8th) Support for the Keras Back-end <a class=\"continue-reading-link\" href=\"https:\/\/phylanx.stellar-group.org\/index.php\/2019\/04\/02\/phylanx-report-march-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\/446"}],"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=446"}],"version-history":[{"count":1,"href":"https:\/\/phylanx.stellar-group.org\/index.php\/wp-json\/wp\/v2\/posts\/446\/revisions"}],"predecessor-version":[{"id":448,"href":"https:\/\/phylanx.stellar-group.org\/index.php\/wp-json\/wp\/v2\/posts\/446\/revisions\/448"}],"wp:attachment":[{"href":"https:\/\/phylanx.stellar-group.org\/index.php\/wp-json\/wp\/v2\/media?parent=446"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/phylanx.stellar-group.org\/index.php\/wp-json\/wp\/v2\/categories?post=446"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/phylanx.stellar-group.org\/index.php\/wp-json\/wp\/v2\/tags?post=446"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}