Phylanx Report: February 2019

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

  • Keras backend support
    • Primitive implementations
    • 3D tensor support
  • Documentation support

Organizational Activities and Results

Development Activities and Results

  • Algorithms Highlighted: Logistic Regression, ALS
  • APEX
    • Added command line capture for APEX performance report output
    • Added APEX utility to generate default configuration file
    • Investigated, reported and resolved build / test failures from buildbot and nightly regression tests, including investigation of ALS algorithmic performance degradation using APEX and TAU integration with HPX
      • Resolved the issue, changed the HPX configuration to eliminate performance issue in HPX thread scheduler for ALS
    • Released APEX 2.1.2, updated HPX to pull current APEX version
    • Tested, updated documentation for future APEX releases
    • Continued testing of the parcel coalescing and tested implementation of the direct/indirect primitive scheduling policies for Phylanx autotuning
      • Results suggest that a runtime policy may not be necessary, but rather a static autotuning that determines the threshold values would be sufficient
    • Completed final deliverable integration report for the project period
  • Traveler
    • Created integration backend to centralize tree, trace, and source code data
      • Created a preliminary web-based interface to that backend
    • Added categorical colors to most frequent functions in Traveler Gantt
    • Switched the Traveler Gantt overview to show utilization instead of
      function count
    • Improved the UI and visualization for comparing multiple runs in
      Traveler Tree
    • In progress:
      • Evaluation design for Traveler Tree
  • Tiling
    • Theory
      • Completed a technical report which describes a mathematical formulation of a tiling problem
      • Introduced a new problem with respect to memory usage optimization.
      • Goal is to reduce the maximum number of distributed data objects that must be kept in memory at any given time.
      • We have shown both of the above problems to be NP-hard and we are in the process of fleshing out a paper based on our results.
    • Implementation:
      • Studied the implementations of distributed objects implemented in other systems
  • Primitives & Algorithms
    • We have added the following primitives added to Phylanx this month:
      • Concatenate (PR #763)
      • Flipud and Fliplr (PR #764)
      • Insert (PR #782)
      • Tensordot (PR #783)
      • Pad primitive (PR #768)
    • We have added 3D support to the following Primitives:
    • Added automatic support for populating Phylanx documentation for primitives (PR #789)
  • Python
    • Added front-end support for 3D tensors
    • Working on lazy-evaluation
      • Needed for Keras backend
    • Added data type extraction from Python

Repository Activity February 1st – February 28th:

Code statistics
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
C++                            373          14736           4612          71680
C/C++ Header                   254           5466           3243          27389
Python                          97           1733           1230           4662
CMake                          100            884            747           3640
YAML                             2             21             70            534
Dockerfile                       2              5             28             55
Markdown                         2             17              0             50
CSS                              1             14             10             38
HTML                             2              5              6             22
INI                              1              0              0              8
-------------------------------------------------------------------------------
SUM:                           834          22881           9946         108078
-------------------------------------------------------------------------------

Impact on Other Projects

  • Vcpkg:
    • Updating HPX to V1.2.1 (PR #5407)
  • Blaze Tickets:
    • sign(NaN) (Issue #231)
    • Runtime error on IBM POWER (Issue #232)
  • HighFive ticket:
    • Pull Request: fixing #106: fails to open existing file with Create flag (#107)
  • HPX Pull Requests:
    • Add barrier reset function, requested by hpxMP for reusing barrier (PR #3716)
    • Updating default APEX version to 2.1.2 (PR #3713)
    • Added barrier::increment function to increase total number of thread (PR #3700)
    • Fixing component migration (PR #3694)
  • Blaze Tensor
    • Addint in-place transposition of 3D tensors (PR #11)
    • Adding blaze::ravel for 3D tensors (PR #10)
    • Adding blaze::ravel for dense matricies (PR #9)
    • ColumnSlice tryAssign arguments modification (PR #8)
    • Fixing assignment operators for slices to accept matricies with any storage order (PR #7)
    • Tensor Transpose (PR #6)
Bookmark the permalink.

Leave a Reply

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