* introduce topological sort for graph (#247)
* implement topological sort based on dfs
* add benchmark for topological sort
* add basic test for topological sort
Co-authored-by: suncanghuai <suncanghuai@gmail.com>
* Fix typo in link specification (#248)
This PR removes an additional space character between link text and link URL, which caused faulty formatting of the README.md file.
* introduce WeightBalancedLibra algorithm(vertex-cut graph partition) (#249)
* implement WeightBalancedLibra algorithm based on paper pseudocode
* add weight-related apis for class CoordinatedPartitionState
* adjust set operations of class CoordinatedRecord
* append a testcase in PartitionTest.cpp for WB-Libra
Co-authored-by: suncanghuai <suncanghuai@hesaitech.com>
* Update README.md
* Update README.md
* Install the CodeSee workflow. Learn more at https://docs.codesee.io (#250)
Co-authored-by: codesee-maps[bot] <86324825+codesee-maps[bot]@users.noreply.github.com>
* * implement multi-thread bfs (#252)
* add testcases for multi-thread bfs(in BFSTest.cpp)
* add benchmark for multi-thread bfs(in BFS_BM.cpp)
Co-authored-by: suncanghuai <suncanghuai@gmail.com>
* Update Readme Roadmap
* Implement best first search (#254)
* first implementation and tests
* add docs and minor changes
* minor change
* minor change
* Update README.md
* Update README.md
* Include best first search test (#258)
* Update README for best first search algorithm (#257)
* Update README for best first search algorithm
* minor change
* minor change
* minor review changes
* Implement kahn's algorithm for topological sorting (#259)
* Improved return type for Kosaraju's algoritm + tests (#260)
* custom return type for kosaraju()
* Tests for Kosaraju's algorithm
* fixed minor issues
* fixed merge issue
* Update Road Map
* Update README.md
* Reworked Cmake
Signed-off-by: GitHub <noreply@github.com>
* Add partition Example ( HDRF )
Signed-off-by: GitHub <noreply@github.com>
* Corrected Partition Class
Fix #263
Signed-off-by: GitHub <noreply@github.com>
* Update Readme for Roadmap
Signed-off-by: GitHub <noreply@github.com>
* Corrected Cmake for old Example
Signed-off-by: GitHub <noreply@github.com>
* Update cmake.yml
* Update benchmark_pr.yml
* Update benchmark.yml
* Update Code_Coverage.yml
* Correction for Graph.hpp
Signed-off-by: GitHub <noreply@github.com>
* Update Code_Coverage.yml
Parallel compilation
* Update benchmark.yml
parallel compilation
* Update benchmark_pr.yml
parallel compilation
* Update cmake.yml
parallel compilation
* Update codeql-analysis.yml
remove useless steps:
- manually installed google test and benchmark
* Create .github/workflows/super-linter.yml
Added Super-Linter
* Update super-linter.yml
* Create .clang-format
* Reformatted Files
with clang-format with syle "Google"
Signed-off-by: GitHub <noreply@github.com>
* Delete super-linter.yml
* Create .github/workflows/codeql.yml
* Delete codeql-analysis.yml
* Update README.md
* Create .github/workflows/codacy.yml
* Create .github/workflows/snyk-security.yml
* Update snyk-security.yml
* Delete snyk-security.yml
---------
Signed-off-by: GitHub <noreply@github.com>
Co-authored-by: ARockHammer <37604654+SunCangHuai@users.noreply.github.com>
Co-authored-by: suncanghuai <suncanghuai@gmail.com>
Co-authored-by: David Chocholatý <chocholaty.david@protonmail.com>
Co-authored-by: suncanghuai <suncanghuai@hesaitech.com>
Co-authored-by: codesee-maps[bot] <86324825+codesee-maps[bot]@users.noreply.github.com>
Co-authored-by: Pradeep Krishnamurthy <pradkrish84@gmail.com>
Co-authored-by: David Sapienza <david.sapienza@protonmail.com>
I actually implement a much more simple multithread-bfs with OpenMP at first, which is very similar to the pseudocode of the paper from the corresponding issue.
But there are two problems with that version of implementation:
Finally, I change the code to a version with std::threads using condition_variable to synchronize threads and do some code optimization. Although the result of the benchmark is still not good as I expected, at least in the CitHepPh graph true multi-thread performs better than pseudo-multi-thread.
