The twelfth month of work focused on work in the following areas:
- Phylanx Front-end refactoring
- HPXMP Improvements
- HPXMPT Call backs
Organizational Activities and Results
- Weekly group-meeting, minutes:
- August 2nd: https://drive.google.com/open?id=16fd63WqBzV2bNfZl0j5pupL6N0jkLe6i
- August 9th: https://drive.google.com/open?id=1wrNPoKlISjGZzMI0BrZ0RdEopCcgPc67
- August 16th: https://drive.google.com/open?id=1rRC2RyNd7fQXBO88To1gnzfGegMyDT8q
- August 23rd: https://drive.google.com/open?id=1wRGBC4gFRtIwmPkQokO8cC1-1_PMre12
- August 30th: https://drive.google.com/open?id=17km86nnvLlqGdZAfFeLR7t2MoMPOCjYC
Development Activities and Results
- Algorithms Highlighted: Logistic Regression, ALS, K-Means
- APEX
- HPX Integration bugs fixed:
- Configuration error due to multiple definitions
- Minor memory leaks in APEX
- Merged patches for HPX developers reported by GCC 8
- Fixed race conditions, re-entry errors at APEX shutdown
- Debugging APEX/TAU integration
- Fixed region ordering in OTF2 output
- Fixed APEX task dependency crash during distributed executions
- Began work on implementing nightly regression testing for Phylanx project.
- Involves testing the APEX/TAU integration so that TAU profiles can be generated and loaded into the TAUdb database for HTML report generation.
- Lead to the discovery of APEX/TAU bugs that were subsequently patched.
- Resolving Phylanx continuous integration (buildbot) test failures on UO test servers
- HPX Integration bugs fixed:
- Traveler
- Traveler Tree code view now bi-directionally links so that lines of code will highlight nodes in the tree and vice versa
- New Docker version of Traveler Tree
- Minor UI fixes
- Tilling
- Theory
- Reduced a well known problem on signed graphs to a restricted version of a tiling problem
- Provided strong evidence of its hardness of approximation
- Reduced a well known problem on signed graphs to a restricted version of a tiling problem
- System
- Working to convert AST to CSP
- New Questions:
- How should loops be handled when tiling
- When should we choose different algorithms for matrix operations
- How can we determine memory budget for storing duplicated matrices with different tilings
- Theory
- Primitives & Algorithms
- Added support for Dictionaries in Phylanx
- Added non-zero and where primitives
- Functionality of the set primitive migrated to store
- The set primitive has been deprecated
- Added tests for ALS algorithm
- Added seven more callbacks to HPXMPT
- Python
- Refactored Phylanx frontend
- Cleaned up code
- Fixed several bugs
- Improved debugging by passing the file name to the compiler
- Added a “phyhelp” function which returns a doc string
- Refactored Phylanx frontend
Repository Activity August 1st – August 31th:
Code statistics ------------------------------------------------------------------------------- Language files blank comment code ------------------------------------------------------------------------------- C++ 289 11825 3920 58968 C/C++ Header 198 3637 2335 15404 CMake 91 796 665 3213 Python 66 1107 978 2811 YAML 2 20 62 320 Markdown 2 15 0 48 Dockerfile 2 4 27 47 INI 1 0 0 8 ------------------------------------------------------------------------------- SUM: 651 17404 7987 80819 -------------------------------------------------------------------------------
Impact on Other Projects