The thirteenth month of work focused on work in the following areas:
- Submitted a paper to the ESPM2 Workshop at Supercomputing
- Performance analysis
- Added nightly performance tests
- Improvements to future allocator
- Direct actions performance sweeps
- Blaze tuning experiments
- HPXMP Improvements
- Traveler UI improvements
Organizational Activities and Results
- Weekly group-meeting, minutes:
- September 6th: https://drive.google.com/open?id=1z36spcGB4BqBeX1Rfc7_IscoBECLYIft
- September 13th: https://drive.google.com/open?id=1qvSxa3CHX746hphWEyhkwHBmWd2SZ22D
- September 20th: https://drive.google.com/open?id=1rJRkw1WM3MkauPzTqwAXzTSMm4O-gW5P
- September 27th: https://drive.google.com/open?id=1mz0KwdH4ye179TMUTx-ByZ9SUaF1eT6_
- Phylanx Seminars:
- http://phylanx.stellar-group.org/index.php/2018/09/10/phylanx-seminar-plugging-into-the-power-of-phylanx/
- http://phylanx.stellar-group.org/index.php/2018/09/18/phylanx-seminar-plugging-into-the-power-of-phylanx-ii/
- http://phylanx.stellar-group.org/index.php/2018/09/24/phylanx-seminar-mathematics-of-tiling-approximations/
Development Activities and Results
- Algorithms Highlighted: Logistic Regression, ALS, Neural Network
- APEX
- Fixed long-standing bug preventing successful build on POWER8 with Clang 5.0 compilers
- Collected nearly one month of performance regression data, report available at public web address: http://www.nic.uoregon.edu/~khuck/regression/phylanx
- Added performance tree viewer interface to the HTML regression report
- Added nightly check for performance degradation
- Fixed bug in APEX periodic policies preventing regular shutdown of HPX, utilized in parcel coalescing tests.
- Traveler
- Updated visual design for Traveler tree to support DAG links
- Improved Traveler tree interface for integration with nightly regression runs
- Added infrastructure for multi-part thread dependencies in Traveler Gantt
- Improved tooltip support across both Traveler tree and Traveler Gantt views
- UI improvements for both Traveler tree and Traveler Gantt views
- Tiling
- Theory:
- Looking at two (mostly) independent formulation of the tiling problem:
- First version: set of tiling choices are fixed. We model this as a constraint satisfaction problem. Currently we are working on determining its approximation complexity.
- Second version: tiling is computed in an more explicit manner. We will look into this later.
- Looking at two (mostly) independent formulation of the tiling problem:
- Implementation:
- Looking at how to extract certain memory access information from a Python program
- Theory:
- Primitives & Algorithms
- Asynchronous / Synchronous execution of Phylanx primitives are now runtime configurable
- Set primitive has now been removed from Phylanx
- Map primitive has now been renamed to fmap
- Python
- Polyhedral Optimizations in Phylanx
- Work to transform PhySL code into the polyhedral representation and vice-versa
- Polyhedral Optimizations in Phylanx
Repository Activity September 1st – October 1st:
Code statistics
------------------------------------------------------------------------------- Language files blank comment code ------------------------------------------------------------------------------- C++ 286 11230 3865 56258 C/C++ Header 200 3827 2396 16716 CMake 91 796 665 3217 Python 69 1169 1024 2978 YAML 2 20 64 342 Markdown 2 15 0 48 Dockerfile 2 4 27 47 INI 1 0 0 8 ------------------------------------------------------------------------------- SUM: 653 17061 8041 79614 -------------------------------------------------------------------------------
Impact on Other Projects
- Blaze:
- HPX Pull Requests:
- Enable jemalloc on windows (Pull Request #3471)
- Enable (existing) code for extracting stack pointer on Power platform (Pull Request #3469)
- Avoid hang if there is an exception thrown during startup (Pull Request #3468)
- This patch adds various optimizations extracted from the thread_local_allocator work (Pull Request #3465)