The twentieth month of work focused on work in the following areas:
- Performance improvements
- Keras Backend
- hpxMP improvements
Organizational Activities and Results
- Weekly group-meeting, minutes:
- April 4th: https://drive.google.com/open?id=101MCAlV8m4lDlXDRRlf7kl7OGmpqx_rh
- April 11th: https://drive.google.com/open?id=1kiN8L5OrJQlihZFOLmIX9HN-JNI0_A1c
- April 18th: https://drive.google.com/open?id=1G3SQKRAAuNxlzlTyCCcIcHFrYUlsixk8
- April 25th: https://drive.google.com/open?id=1itonnjZaaj1uDN_Y2TmasrTStNnBw1HI
- Phylanx Seminars:
Development Activities and Results
- General
- Work on Keras backend
- Implemented 83 Keras functions
- Performance
- Implemented flags to control thread stealing and idle back-off
- Optimizations for local-only primitive calls
- hpxMP
- Replaced hpx::spin_lock with hpx::latch
- Began implementing OpenMP 5.0 features
- Work on Keras backend
- Traveler
- Refactoring the Atria tree visualization
- Modular architecture to support our deployment goals
- Completed a proof of concept of the architecture
- Working to add prior features
- Gantt chart
- Switching to Golden Layout
- Matches the aggregator that Alex has been working on
- Switching to Golden Layout
- Refactoring the Atria tree visualization
- Tiling
- Implementation:
- Implemented a generic distributed object in HPX
- Two versions:
- Initialization using all-to-all communication
- Initialization using a meta-object
- Supports construction on a subset of nodes/ localities.
- Two versions:
- Implemented a generic distributed object in HPX
- Future Work:
- Implement a distributed matrix using the generic distributed object
- Enable distributed object’s fetch to return a sub-block
- Determine how to link a Python / PhySL object to a distributed object in HPX
- Implementation:
- Primitives & Algorithms
- We have merged the following primitives into master:
- Support for arrays to fold left / fold right was added (PR #932)
- Python
- Enable implementation of plugins in Python:
- implement ‘in_top_k’ plugin
- Extend OpenSCoP back-end to support multi-dimensional arrays.
- Study the feasibility of JIT compilation using LLVM compiler- primarily to enable polyhedral optimizations.
- Implement more functions to support Keras’ Phylanx back-end.
- Support code generation for the ‘zip’ operation
- Enable implementation of plugins in Python:
Repository Activity March 30th – April 30th:
Code statistics
------------------------------------------------------------------------------- Language files blank comment code ------------------------------------------------------------------------------- C++ 435 17324 5500 87673 C/C++ Header 284 6096 3527 30264 Python 135 2517 1754 6447 CMake 105 914 770 3811 YAML 2 24 77 641 Dockerfile 2 6 27 53 Markdown 2 17 0 46 CSS 1 14 10 38 HTML 2 5 6 22 INI 1 0 0 8 ------------------------------------------------------------------------------- SUM: 969 26917 11671 129003 -------------------------------------------------------------------------------
Impact on Other Projects
- HPX Pull Requests:
- Adding shortcut for hpx::get_ptr<>(sync, id) for a local, non-migratable objects (PR #3827)
- Allow setting default scheduler mode via the configuration database (PR #3814)
- Adding a distributed object abstraction (PR #3807)
- Update hpxcxx to look at lib64 and use python3 (PR #3803)
- Adding flags to scheduler allowing to control thread stealing and idle back-off (PR #3768)
- Blaze Tensor Pull Requests: