Phylanx Report: November 2018

The fifteenth month of work focused on work in the following areas:

  • Performance analysis
  • Distributed Support
  • Release of HPX V1.2.0
  • Release of HPXMP V0.1.0
  • Released of APEX V2.1.1
  • Jupyter Notebook Integration
  • Adding data type object (dtype) support

Organizational Activities and Results

Development Activities and Results

  • Algorithms Highlighted: Logistic Regression, ALS, K-Means
  • General
    • HPX V1.2.0 released
    • Fixes for local variables
    • Adding Blaze benchmark tests
  • APEX
    • Released APEX V2.1 in advance of SC18 (See details here)
    • Released APEX V2.1.1 point release (See details here)
    • APEX/HPX Integration Bugs Fixed:
      • OTF2 Trace bug that generated invalid GUIDs (globally unique identifiers) for HPX tasks for some cases
      • HPX thread indexing bug that was causing invalid OTF2 traces to be generated
      • TAU/APEX integration to ensure robust support for loading TAU symbols with the dynamic library preloading method, using dlopen() and dlsym() calls instead of weak/strong symbols
    • Updated nightly regression testing scripts to investigate build/execution failures and to change time when regression tests execute
    • Investigated and reported build/test failures from buildbot and nightly regression testing
    • Tested, updated, and documented features for APEX release
  • Traveler
    • Jupyter demo with full Phylanx workflow and Traveler Tree
    • Refinements to library for interactive visualization in Jupyter
    • Traveler Gantt parent-task attribution changed to most-recent event
    • Formative evaluation for Traveler Tree conducted at SC18
  • Tiling
    • Looking into the theoretical impact of distributed arrays on tiling
    • Designed a set of primitives to test tiling model
  • Primitives & Algorithms
    • HPXMP version 0.1 Released
    • Added squeeze primitive which removes single-dimensional entries from the shape of an array
    • Added Unique primitive
    • Initial version of random forest implementation using NumPy and Python dictionaries
    • Added benchmarks to check the performance of Blaze
  • Python
    • Added support for parallel_block
    • Added support for more NumPy primitives which return filled arrays (full, full_like, etc.)
    • Enabled defining dtypes for supported NumPy methods
    • Implemented the infrastructure for extracting the type and size of variables
    • Enhanced HPX initialization process in the frontend
    • Improved the handling of illegal returns at the transformation stage

Repository Activity November 1st – November 30th:

Code statistics

-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
C++                            297          11319           3825          54847
C/C++ Header                   211           4178           2606          18944
Python                          83           1461           1125           3647
CMake                           92            801            672           3257
YAML                             2             20             64            342
Dockerfile                       2              5             27             55
Markdown                         2             15              0             48
INI                              1              0              0              8
-------------------------------------------------------------------------------
SUM:                           690          17799           8319          81148
-------------------------------------------------------------------------------

Impact on Other Projects

  • Vcpkg:
    • Pull Request: Updating HPX to V1.2 (#4778)
  • Blaze:
    • Pull Request: Making sure HPX runtime is initialized (#29)
Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *