{"id":310,"date":"2018-06-01T15:27:38","date_gmt":"2018-06-01T15:27:38","guid":{"rendered":"http:\/\/phylanx.stellar-group.org\/?p=310"},"modified":"2018-06-01T20:04:31","modified_gmt":"2018-06-01T20:04:31","slug":"phylanx-report-may-2018","status":"publish","type":"post","link":"https:\/\/phylanx.stellar-group.org\/index.php\/2018\/06\/01\/phylanx-report-may-2018\/","title":{"rendered":"Phylanx Report: May 2018"},"content":{"rendered":"<p>The Ninth month of work focused on work in the following areas:<\/p>\n<ul>\n<li>Implementing Solvers<\/li>\n<li>Work on HPXMP for OpenBLAS parallelization support<\/li>\n<li>Bug fixes in APEX<\/li>\n<li>Visualization<\/li>\n<li>HPX-Python interactions<\/li>\n<\/ul>\n<p><!--more--><\/p>\n<h2>Organizational Activities and Results<\/h2>\n<ul>\n<li>Weekly group-meeting, minutes:\n<ul>\n<li>May 3rd: <a href=\"https:\/\/drive.google.com\/open?id=1UAKpEioDwIk8Ax_Bggh6vVVqYZxDw47p\" target=\"_blank\">https:\/\/drive.google.com\/open?id=1UAKpEioDwIk8Ax_Bggh6vVVqYZxDw47p<\/a><\/li>\n<li>May 10th: <a href=\"https:\/\/drive.google.com\/open?id=19d3_ZNM5nie50yLxfOTBFEM_WfIzMnr2\" target=\"_blank\">https:\/\/drive.google.com\/open?id=19d3_ZNM5nie50yLxfOTBFEM_WfIzMnr2<\/a><\/li>\n<li>May 17th: <a href=\"https:\/\/drive.google.com\/open?id=1WaZDdIx8MThQLdH0EcANklz-AzK8rxWM\" target=\"_blank\">https:\/\/drive.google.com\/open?id=1WaZDdIx8MThQLdH0EcANklz-AzK8rxWM<\/a><\/li>\n<li>May 24th: <a href=\"https:\/\/drive.google.com\/open?id=1yKK010SsYACN7YdV6_x4DPMa0_rOi0IF\" target=\"_blank\">https:\/\/drive.google.com\/open?id=1yKK010SsYACN7YdV6_x4DPMa0_rOi0IF<\/a><\/li>\n<li>May 31st: <a href=\"https:\/\/drive.google.com\/open?id=1SQUZLzQk72pBmWbSl2TQ6ho8HIh6DDzX\" target=\"_blank\">https:\/\/drive.google.com\/open?id=1SQUZLzQk72pBmWbSl2TQ6ho8HIh6DDzX<\/a><\/li>\n<\/ul>\n<\/li>\n<li>Phylanx Seminars: <a href=\"http:\/\/phylanx.stellar-group.org\/index.php\/2018\/05\/08\/phylanx-seminar-the-primitive-edition\/\" target=\"_blank\">http:\/\/phylanx.stellar-group.org\/index.php\/2018\/05\/08\/phylanx-seminar-the-primitive-edition\/<\/a><\/li>\n<\/ul>\n<h2>Development Activities and Results<\/h2>\n<ul>\n<li>Algorithms Highlighted: Logistic Regression, ALS, K-Means<\/li>\n<li>APEX:\n<ul>\n<li>APEX refactored to resolve open issues related to dependency tracking. \u00a0Improvements include leveraging C++ smart pointers to prevent memory leaks or accessing previously freed memory ranges.<\/li>\n<li>Addressed issues related to APEX\/HPX integration shutdown. All HPX tasks\/threads are now captured, even after shutdown.<\/li>\n<li>Parcel coalescing tests ported to NERSC Cori (Cray XC40, Haswell partition) in order to capture larger scale experiments.<\/li>\n<li>Phylanx Buildbot server updated to 1.1.0 with support for IRC notification and build status badges for reporting on GitHub (see<a href=\"https:\/\/github.com\/STEllAR-GROUP\/phylanx\" target=\"_blank\"> https:\/\/github.com\/STEllAR-GROUP\/phylanx<\/a>). \u00a0Resolved link errors related to x86_64 linking with full configuration (including APEX). \u00a0Working to resolve Intel Xeon MIC (KNL) vectorization build errors with the Blaze developers.<\/li>\n<li>Submitted a poster to ICCP on runtime adaptivity<\/li>\n<\/ul>\n<\/li>\n<li>Tiling:\n<ul>\n<li>Built an experimental function to annotate a simple Python AST with cost function and tiling choices<\/li>\n<\/ul>\n<\/li>\n<li>Traveler:\n<ul>\n<li>Added support for switching between inclusive and exclusive time in the execution tree visualization. The visualization computes these times based on the instrumentation data. See ALS example below, the toggle is the white\/grey box.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<div id=\"attachment_312\" style=\"width: 1854px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-312\" loading=\"lazy\" class=\"wp-image-312 size-full\" src=\"http:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2018\/06\/als_d3_vis_05.19.18.png\" alt=\"\" width=\"1844\" height=\"1454\" srcset=\"https:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2018\/06\/als_d3_vis_05.19.18.png 1844w, https:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2018\/06\/als_d3_vis_05.19.18-300x237.png 300w, https:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2018\/06\/als_d3_vis_05.19.18-768x606.png 768w, https:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2018\/06\/als_d3_vis_05.19.18-1024x807.png 1024w, https:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2018\/06\/als_d3_vis_05.19.18-444x350.png 444w, https:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2018\/06\/als_d3_vis_05.19.18-150x118.png 150w\" sizes=\"(max-width: 1844px) 100vw, 1844px\" \/><p id=\"caption-attachment-312\" class=\"wp-caption-text\">Figure 1: ALS Execution Tree. Pink areas show where exclusive time is reporting a negative time. Working with the LSU team to rectify this issue.<\/p><\/div>\n<ul>\n<ul>\n<li>The timeline visualization can now show the chain of backwards dependencies starting from a single task. Zooming and labeling features have been improved.<\/li>\n<\/ul>\n<\/ul>\n<div id=\"attachment_313\" style=\"width: 1036px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-313\" loading=\"lazy\" class=\"wp-image-313 size-full\" src=\"http:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2018\/06\/traveler_screen_shot_05.31.18.png\" alt=\"\" width=\"1026\" height=\"454\" srcset=\"https:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2018\/06\/traveler_screen_shot_05.31.18.png 1026w, https:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2018\/06\/traveler_screen_shot_05.31.18-300x133.png 300w, https:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2018\/06\/traveler_screen_shot_05.31.18-768x340.png 768w, https:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2018\/06\/traveler_screen_shot_05.31.18-1024x453.png 1024w, https:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2018\/06\/traveler_screen_shot_05.31.18-791x350.png 791w, https:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2018\/06\/traveler_screen_shot_05.31.18-150x66.png 150w\" sizes=\"(max-width: 1026px) 100vw, 1026px\" \/><p id=\"caption-attachment-313\" class=\"wp-caption-text\">Figure 2: Sibling tasks marked in shades of green with parent-child relationships shown. Temporary design to show calculation of siblings from trace data.<\/p><\/div>\n<ul>\n<ul>\n<li>In Progress\n<ul>\n<li>Execution tree: improving design for larger trees such as ALS<\/li>\n<li>Timeline: design for showing sibling tasks<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<li>Primitives &amp; Algorithms:\n<ul>\n<li>LRA and ALS have Phylanx primitive implementations<\/li>\n<li>Implemented a linear solver primitive<\/li>\n<li>Map primitive now supports iterating over arrays (<a href=\"https:\/\/github.com\/STEllAR-GROUP\/phylanx\/pull\/476\" target=\"_blank\">#476<\/a>)<\/li>\n<li>Added Len primitive: Returns the length of a string or the number of elements in a list (<a href=\"https:\/\/github.com\/STEllAR-GROUP\/phylanx\/pull\/470\" target=\"_blank\">#470<\/a>)<\/li>\n<li>HPXMP, needed to support parallelization in OpenBLAS, now compiling and running in an HPX application<\/li>\n<li>Early implementation of read an write parallel IO<\/li>\n<\/ul>\n<\/li>\n<li>Python:\n<ul>\n<li>Functionalities\n<ul>\n<li>Add support for named constants.<\/li>\n<li>Add support to lambda functions.<\/li>\n<li>Improve the Phylanx decorator syntax.<\/li>\n<li>Enable use of lists as iteration spaces.<\/li>\n<li>Enable dynamic initialization of HPX from Phylanx frontend.<\/li>\n<li>Support Python indexing for assignment to matrices.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li>Bug Fixes\n<ul>\n<li>More robust check for mapping NumPy methods to Phylanx primitives.<\/li>\n<li>Now Phylanx correctly keeps track of compiler&#8217;s state- even if some methods were not compiled through the Phylanx decorator.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>Repository Activity May 1st &#8211; May 31th:<\/h2>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-311 size-full\" src=\"http:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2018\/06\/git_statistics_05.31.18.png\" alt=\"\" width=\"1497\" height=\"966\" srcset=\"https:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2018\/06\/git_statistics_05.31.18.png 1497w, https:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2018\/06\/git_statistics_05.31.18-300x194.png 300w, https:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2018\/06\/git_statistics_05.31.18-768x496.png 768w, https:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2018\/06\/git_statistics_05.31.18-1024x661.png 1024w, https:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2018\/06\/git_statistics_05.31.18-542x350.png 542w, https:\/\/phylanx.stellar-group.org\/wp-content\/uploads\/2018\/06\/git_statistics_05.31.18-150x97.png 150w\" sizes=\"(max-width: 1497px) 100vw, 1497px\" \/><\/p>\n<pre>Code statistics\r\n-------------------------------------------------------------------------------\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 263 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 11035 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 3734 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 53995\r\nC\/C++ Header \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 176 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 3291 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2405 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 13713\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\u00a0 84 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 751 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 624 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 3066\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\u00a0 52 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 955 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 720 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2868\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 20 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 62 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 309\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 4 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 27 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 40\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 1 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 13 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 37\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 581 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 16069 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 7572 \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 74036\r\n-------------------------------------------------------------------------------<\/pre>\n<h2>Impact on Other Projects<\/h2>\n<ul>\n<li>Blaze Tickets:\n<ul>\n<li>Issue: Error building on Intel KNL (<a href=\"https:\/\/bitbucket.org\/blaze-lib\/blaze\/issues\/167\/error-building-on-intel-knl\" target=\"_blank\">#167<\/a>)<\/li>\n<\/ul>\n<\/li>\n<li>HPX Pull Requests:\n<ul>\n<li>Safeguard HPX against destruction in global contexts (<a href=\"https:\/\/github.com\/STEllAR-GROUP\/hpx\/pull\/3343\" target=\"_blank\">#3343<\/a>)<\/li>\n<li>Making sure early logging settings don&#8217;t get mixed with others (<a href=\"https:\/\/github.com\/STEllAR-GROUP\/hpx\/pull\/3334\" target=\"_blank\">#3334<\/a>)<\/li>\n<li>Make sure logging is up and running while modules are being discovered. (<a href=\"https:\/\/github.com\/STEllAR-GROUP\/hpx\/pull\/3326\" target=\"_blank\">#3326<\/a>)<\/li>\n<li>Fix a missing apex thread data (wrapper) initialization (<a href=\"https:\/\/github.com\/STEllAR-GROUP\/hpx\/pull\/3323\" target=\"_blank\">#3323<\/a>)<\/li>\n<li>Don&#8217;t overwrite user settings with defaults in registration database (<a href=\"https:\/\/github.com\/STEllAR-GROUP\/hpx\/pull\/3310\" target=\"_blank\">#3310<\/a>)<\/li>\n<li>Add proper exception handling to run_as_hpx_thread (<a href=\"https:\/\/github.com\/STEllAR-GROUP\/hpx\/pull\/3305\" target=\"_blank\">#3305<\/a>)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>The Ninth month of work focused on work in the following areas: Implementing Solvers Work on HPXMP for OpenBLAS parallelization support Bug fixes in APEX Visualization HPX-Python interactions <a class=\"continue-reading-link\" href=\"https:\/\/phylanx.stellar-group.org\/index.php\/2018\/06\/01\/phylanx-report-may-2018\/\">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\/310"}],"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=310"}],"version-history":[{"count":8,"href":"https:\/\/phylanx.stellar-group.org\/index.php\/wp-json\/wp\/v2\/posts\/310\/revisions"}],"predecessor-version":[{"id":321,"href":"https:\/\/phylanx.stellar-group.org\/index.php\/wp-json\/wp\/v2\/posts\/310\/revisions\/321"}],"wp:attachment":[{"href":"https:\/\/phylanx.stellar-group.org\/index.php\/wp-json\/wp\/v2\/media?parent=310"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/phylanx.stellar-group.org\/index.php\/wp-json\/wp\/v2\/categories?post=310"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/phylanx.stellar-group.org\/index.php\/wp-json\/wp\/v2\/tags?post=310"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}