Repository navigation
Essentials For Windows
We have made no effort to support gunrock/gunrock natively on Windows system. However, starting gunrock/essentials, there's been initial ground work put into getting gunrock working natively on Windows.
Just fyi, if you have Windows 10 or above, you can download and install Windows Subsystem for Linux (WSL) and seamlessly run essentials with full CUDA support.
We also recommend looking at Windows Terminal for development. If any of these links are broken or out-dated, please let us know (and also Google's your friend to find the relevant installation docs.)
Using cmake, and visual studio, gunrock/essentials will build like just any other CUDA project. Note as of right now, you must delete the cub symbolic link within downloaded thrust directory for the build to function as intended. Please see our GitHub Action workflow for windows for reference.
rm ${{github.workspace}}/externals/thrust-src/cubEssentials © 2022 The Regents of the University of California
- Programming Model
- Gunrock Operators
- Graph Algorithms
- Getting Essentials
- (GitHub Template)
essentialsproject example
- MGPU, Python, Docs (needs review)
- Boolmap Frontier
- Hypergraphs (private)
- Modern CPP Features
- Programming Interface Examples (API)
- Style Guide
- Understanding the code structure
- Git Workflow
-
Debugging with
cuda-memcheckandcuda-gdb - Profiling with NVIDIA Nsight Systems and Compute
- Unit testing with GoogleTest
- Performance analysis
- How to write a new graph algorithm
- PageRank: PageRank: From
networkxtogunrock essentials - How to write parallel operators
- How to add a new graph representation
- How to add a new frontier representation
- How to add multiple GPU support
- How to bind an application to python
- How to use
thrust/cub
- Writing sparse-matrix dense-vector multiplication using graphs
- Variadic Inheritance
- Polymorphic-Virtual (Diamond) Inheritance
- Need for custom copy constructor
- CUDA-enabled
std::shared_ptr
- Ubuntu
-latest - Windows
-latest - Doxygen
- Code Quality