Phylanx Report: January 2019

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

  • CMake Fixes
  • Adding primitives to support Keras backend
  • Implementing support for 3D tensors
  • Adding Sphinx Documentation support

Organizational Activities and Results

Development Activities and Results

  • Algorithms Highlighted: Logistic Regression, ALS, K-Means
  • APEX
    • Improving Phylanx Build system
  • Traveler
  • Tiling
    • Theory:
      • Worked on completing formulation for the previous tiling model
        • Assumptions:
          • Number of matrices (n) are given as an input
          • User program consists of a number of (m) matrix operations taken from a fixed collection F
      • Results:
        • A 0-1 integer programing model for generic tiling problem (a version of a tiling problem with fewest simplifying assumptions)
        • Provided a reduction from the balanced subgraph problem to a special case of the generic tiling problems showing the problem is , at least theoretically, hard to approximate.
        • The model also includes memory constraints.
      • Due to several changes from our last iteration (see the last technical report from Nov 18) we are still in the process of incorporating these new additions into a tech report with a possibility of a future publication.
      • Looking at a more useful tiling model, wherein the user program consists of a fixed set matrices but the program itself may be arbitrary.
    • Implementation:
      • Added VSlipt and HSplit primitives
      • Reviewed distributed matrix libraries.
      • Researched methods of implementing distributed matrix operations using Blaze.
  • Primitives & Algorithms
  • Python
    • Work on distributed computation in Phylanx
      • Created new data structures to represent PhyLS in the Python front-end
      • Implemented a symbol table which tacks all objects and their namespaces in Phylanx

Repository Activity January 1st – January 31th:

Code statistics
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
C++                            360          13772           4449          67597
C/C++ Header                   248           5124           3132          25417
Python                          90           1609           1206           4162
CMake                          100            880            740           3614
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:                           808          21447           9641         101497
-------------------------------------------------------------------------------

Impact on Other Projects

  • HPX Pull Requests:
    • Adding configuration key that allows to explicitly add a directory to the component search path (PR #3607)
    • Restructuring counter data in scheduler to reduce false sharing (PR #3614)
Bookmark the permalink.

Leave a Reply

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