gunrock/essentials
is a continuation of our original work gunrock/gunrock
. To name some of the changes: essentials aim to add better support for graph and frontier data structures, new operators, new load-balancing algorithms, new graph algorithms, support for benchmarking kernels, a queue-based asynchronous programming model, ease of programmability, proper Doxygen and wiki documentation for API and programming models, and more complete GitHub actions enabled compilation testing. We also introduce experiments with multi-GPU backend and gunrock/essentials-cpp
, which takes Gunrock's programming model to modern-C++ parallelism.
The quality of the release documentation may vary as it is autogenerated based on the Pull Requests (PR) to the repository. If something is unclear, please refer to the corresponding PR.
What's Changed
🎉 Algorithms and Operators
- Merge API changes to master by @bkj in gunrock/essentials#10
- Reworking the graph_t and graph::build interface. by @neoblizz in gunrock/essentials#14
- Hotfix: update color implementation by @bkj in gunrock/essentials#16
- Add SSSP CPU implementation by @bkj in gunrock/essentials#18
- Implementing PageRank by @bkj in gunrock/essentials#40
- Documentations and more... by @neoblizz in gunrock/essentials#48
- BFS CPU reference implementation by @bkj in gunrock/essentials#54
- [APP] Betweenness Centrality (V3) by @bkj in gunrock/essentials#60
- Implementing COO graph functions by @bkj in gunrock/essentials#62
- Implementating CSC graph functions by @bkj in gunrock/essentials#64
- Local Graph Clustering & Batch Operator by @neoblizz in gunrock/essentials#66
- Improve sssp_cpu performance by @bkj in gunrock/essentials#72
- [APP] Parallel PR-Nibble by @bkj in gunrock/essentials#73
- Feature merge (dev to master) by @neoblizz in gunrock/essentials#75
- Vertex k-Core Decomposition App by @angeil in gunrock/essentials#77
- Asynchronous BFS Interface & Implementation by @bkj in gunrock/essentials#78
- HITS ported from gunrock/gunrock by @li-yi-dong in gunrock/essentials#83
- SpMV using Gunrock by @DanLoran in gunrock/essentials#86
- Improvements, Clean-up, Experimental Async Support by @neoblizz in gunrock/essentials#87
- Bring changes over, so I can improve kernels. by @neoblizz in gunrock/essentials#103
- Unit testing overhaul using Googletest, Stride, blocked standard kernels by @neoblizz in gunrock/essentials#100
- Command line parameters support for essentials using cxxopts. by @neoblizz in gunrock/essentials#107
- Merge all the progress to master branch. by @neoblizz in gunrock/essentials#109
- Advance Improvements, Frontier resizing, and more... by @neoblizz in gunrock/essentials#110
- Advance Improvements, Frontier resizing, and more... by @neoblizz in gunrock/essentials#118
- Merging changes to
master
(lots of enhancements, see commits for detail) by @neoblizz in gunrock/essentials#119 - Minimum Spanning Tree (MST) algorithm. by @annielytical in gunrock/essentials#127
- Add my changes from SPMV experiments by @jdwapman in gunrock/essentials#134
- Doxygen, CMake/Make improvements, MST algorithm, bug fixes and more! by @neoblizz in gunrock/essentials#135
- Add Triangle Counting algorithm by @maawad in gunrock/essentials#140
- Add TC benchmarking by @maawad in gunrock/essentials#141
- Add Triangle Counting CPU reference code by @maawad in gunrock/essentials#144
- Benchmarking, Triangle Counting, Intersection. by @neoblizz in gunrock/essentials#145
- Fixes for Graph Coloring and minor edits. by @neoblizz in gunrock/essentials#149
🐛 Bug Fixes
- [BUGFIX] bug in csr.get_source_vertex by @bkj in gunrock/essentials#53
- Bug-fixes, minor enhancements and clean-up with unit tests. by @neoblizz in gunrock/essentials#57
- [BUGFIX] Fix
offsets_to_indices
by @bkj in gunrock/essentials#61 - [BUGFIX] Order of values passed to
csc.set
by @bkj in gunrock/essentials#63 - Fix virtual_memory unittest by @porumbes in gunrock/essentials#85
- Use
std::size_t
in graph loader by @maawad in gunrock/essentials#132 - Fix CUDA namespace collision, file support by @jdwapman in gunrock/essentials#138
- Graph Coloring bugfix: Tiebreak condition by @neoblizz in gunrock/essentials#148
🏡 API Changes/Improvements
- Move default fetch dir to _cmake_fetch. by @li-yi-dong in gunrock/essentials#74
- Refactored & fixed. by @neoblizz in gunrock/essentials#81
- Windows support. by @neoblizz in gunrock/essentials#96
- Windows support and working windows workflow. by @neoblizz in gunrock/essentials#97
- Benchmarking support, cmake version++, and sample csr() by @neoblizz in gunrock/essentials#99
📝 Documentation Updates
- Bug fixes, README updates, documentation, and more... by @neoblizz in gunrock/essentials#108
- Updated documentation. by @neoblizz in gunrock/essentials#136
🧪 Testing
- Color CPU reference + correctness checking by @bkj in gunrock/essentials#67
- CPU Reference for coloring. by @neoblizz in gunrock/essentials#68
- Enabling Actions (GitHub) for dev branch. by @neoblizz in gunrock/essentials#94
- Add NVBench Algorithm Benchmarking by @annielytical in gunrock/essentials#139
New Contributors
- @bkj made their first contribution in gunrock/essentials#3
- @cameronshinn made their first contribution in gunrock/essentials#5
- @neoblizz made their first contribution in gunrock/essentials#14
- @porumbes made their first contribution in gunrock/essentials#22
- @li-yi-dong made their first contribution in gunrock/essentials#74
- @angeil made their first contribution in gunrock/essentials#77
- @DanLoran made their first contribution in gunrock/essentials#86
- @annielytical made their first contribution in gunrock/essentials#127
- @maawad made their first contribution in gunrock/essentials#132
- @jdwapman made their first contribution in gunrock/essentials#134
Full Changelog: https://github.com/gunrock/essentials/commits/0.0.1