Phylanx Report: February 2020

The 30th month of work focused on work in the following areas:

  • Fixing build system and contiguous integration issues
  • Distributed calculations are beginning to be looked at. Some issues with distributed performance counters, both in Phylanx and Octotiger have been identified and fixed. Strategies for enabling users to run distributed code through Phylanx have been considered.

Continue reading

Phylanx Report: September 2019

The twenty-fifth month of work focused on work in the following areas:

  • Cross platform support for Traveler-Integrated
  • 4D primitive support
  • Improved support for Docker containers

Organizational Activities and Results

Development Activities and Results

  • Traveler
    • Refactored Traveler-Integrated to work on MacOS and Ubuntu
      • Already worked on Windows
    • Updated Atria instances to support linked highlighting and Ctrl-F search for text within the visualization
      • Stand-alone & Traveler-Integrated
    • Improvements to Traveler-Integrated Gantt view in terms of highlighting primitives of the same type.
    • Traveler-Integrated backend changes to support dependency-analysis between tasks in trace files (e.g., Gantt views)
  • Tiling
    • Theory:
      • Derived an on online sub modular function maximization with respect to a greedy algorithm
      • Some observations were made on the online min cut on random graph
    • Implementation
      • Work on the distributed matrix matrix dot operation
      • Developing windows build scripts
      • Implementing an annotation comparison operator
  • Primitives & Algorithms
    • 4D support was added to the following:
      • squeeze operation (PR #1043)
      • conv2d operation (PR #1042)
      • logical operation (PR #1039)
      • transpose operation (PR #1030)
    • Bias_add operation was added (PR #1031)
    • Updated resize_images(PR #1034) and pool2d(PR #1033) to accept 4d arrays as input
  • Python
    • Wrote utility scripts to build, run and manage docker images based on both ‘docker-compose.yml’ and ‘Dockerfile’ files
      • This will allow users to:
        • build desired environment (development, performance analysis, or release) by passing a few parameters to the script
        • Dynamically build and deploy Phylanx environments.
    • Studying performance of the blaze library and approaches to improve it.
      • Focused on BBLAS (Batched BLAS) library as an alternative back-end to Blaze
        • This will help us:
          • Achieving better performance for applications dealing with many operations on small matrices (convolution, FEM, …)
          • Gain full control over blocking for any granularity

Repository Activity September 1st – September 30st:

Code statistics

-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
C++                            475          18638           6140          94277
C/C++ Header                   311           6925           4324          33793
Python                         137           2577           1795           6796
CMake                          109            954            791           4018
YAML                             2             24             77            670
Markdown                         2             17              0             46
Dockerfile                       2              6             28             44
CSS                              1             14             10             38
HTML                             2              5              6             22
DOS Batch                        2              0              0             12
INI                              1              0              0              8
-------------------------------------------------------------------------------
SUM:                          1044          29160          13171         139724
-------------------------------------------------------------------------------

Impact on Other Projects

  • Vcpkg:
    • [hpx] Redirect –head to `stable` (PR #8259)
  • HPX Pull Requests:
    • Moving more facilities to the collectives module (PR #4069)
    • Adding option allowing to force using Boost.FileSystem (PR #4081)
    • Making sure C++ standard is properly detected and propagated (PR #4108)
    • Fixing performance regression introduced earlier (PR #4111)
  • Blaze Tensor
    • Adding missing QuatSliceTrait to ArrayTransExpr (PR #45)
    • Fixing reduction of arrays (PR #46)
    • More fixes for 4D reductions (PR #47)
    • More work on turning QuatTrans into a view (PR #49)
    • Picking up C++ standard from HPX if HPX backend is used (PR #50)
    • Some more work on turning QuatTrans into a view (PR #51)
  • Blaze Iterative
    • Add test files for all algorithm except unmerged Preconditioned BiCGSTAB(l) (PR #9)
    • Add circle-ci config (PR #10)
    • Add tests (PR #11)
    • Add circl-ci banner (PR #12)
    • Test files (PR #13)
    • Remove un-tested PreconditionedBiCGSTABL and BiCGSTABL algorithms (PR #14)
    • Remove non-symmetric preconditioners (PR #15)