-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #177 from Algebraic-Programming/develop
Release v0.7.0 into the main branch. Highlights: 1. This release re-implements the nonblocking ALP/GraphBLAS backend by Mastoras et al. (GrAPL/IPDPSW '22, TACO '23) on the latest ALP code base. The use of the nonblocking backend for some algorithms results in multiple-factor speedups versus standard blocking execution as well as versus external industry-standard frameworks. This includes Eigen, which, like nonblocking ALP/GraphBLAS, perform cross-operation fusion. Simply compile your ALP programs using `grbcxx -b nonblocking`, and enjoy the speedups! 2. We also introduce a new programming interface to the ALP software stack that allows vertex-centric programming in addition to programming using generalised sparse linear algebra. This new interface, ALP/Pregel, translates vertex-centric programs to standard ALP/GraphBLAS primitives during compilation, and thus benefits of all automatic optimisations included with the ALP software stack. 3. Support for software prefetching during `vxm` and `mxv` has been added to the `reference` and `reference_omp` backends. Since optimal prefetch settings and its overall effectiveness relies strongly on 1) the structure of the sparse matrices and graphs considered as well as on 2) the algorithms used on those data, this new feature is turned off by default. To use it, please enable it via `include/graphblas/reference/config.hpp` and tune the there-defined prefetch distances. 4. Finally, this release includes another new backend, the `hyperdags` backend. A program compiled with this backend will, after execution, dump a HyperDAG representation of the ALP computations that the program executed. More detailed changes since v0.6 are noted in the changelog. This release has been thoroughly tested using various combinations of: - OS: Fedora 31, CentOS Stream, Ubuntu 20.04 LTS; - GCC: 8.5.0, 9.3.1, 9.4.0, and 12.2.0; - MPI: MPICH 3.3.2, MPICH 3.4.2, and OpenMPI 4.1.1; - Linux kernels: 4.18.0, 5.4.0, and 5.8.18; - Architectures: x86_64 and ARMv8.2.
- Loading branch information
Showing
204 changed files
with
65,198 additions
and
7,924 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,42 @@ | ||
|
||
name: debug-smoke-tests | ||
|
||
on: [push] | ||
|
||
env: | ||
BUILD_TYPE: Debug | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
|
||
- name: Install required packages | ||
run: sudo apt-get install -y libnuma-dev | ||
|
||
- name: Configure | ||
run: mkdir build && cd build && ../bootstrap.sh --prefix=../install --debug-build | ||
|
||
- name: Build | ||
working-directory: ${{github.workspace}}/build | ||
run: make -j4 | ||
|
||
- name: Install | ||
working-directory: ${{github.workspace}}/build | ||
run: make -j4 install | ||
|
||
- name: Test | ||
working-directory: ${{github.workspace}}/build | ||
run: make -j4 smoketests &> smoketests.log | ||
|
||
- name: Check | ||
working-directory: ${{github.workspace}}/build | ||
run: ../tests/summarise.sh smoketests.log | ||
|
||
- name: DumpLogOnFailure | ||
if: failure() | ||
working-directory: ${{github.workspace}}/build | ||
run: cat smoketests.log | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.