cuGraph - RAPIDS Graph Analytics Library

Related tags

GPU Utilitiescugraph
Overview

 cuGraph - GPU Graph Analytics

Build Status

The RAPIDS cuGraph library is a collection of GPU accelerated graph algorithms that process data found in GPU DataFrames. The vision of cuGraph is to make graph analysis ubiquitous to the point that users just think in terms of analysis and not technologies or frameworks. To realize that vision, cuGraph operates, at the Python layer, on GPU DataFrames, thereby allowing for seamless passing of data between ETL tasks in cuDF and machine learning tasks in cuML. Data scientists familiar with Python will quickly pick up how cuGraph integrates with the Pandas-like API of cuDF. Likewise, users familiar with NetworkX will quickly recognize the NetworkX-like API provided in cuGraph, with the goal to allow existing code to be ported with minimal effort into RAPIDS. For users familiar with C++/CUDA and graph structures, a C++ API is also provided. However, there is less type and structure checking at the C++ layer.

For more project details, see rapids.ai.

NOTE: For the latest stable README.md ensure you are on the latest branch.

As an example, the following Python snippet loads graph data and computes PageRank:

import cugraph

# read data into a cuDF DataFrame using read_csv
gdf = cudf.read_csv("graph_data.csv", names=["src", "dst"], dtype=["int32", "int32"])

# We now have data as edge pairs
# create a Graph using the source (src) and destination (dst) vertex pairs
G = cugraph.Graph()
G.from_cudf_edgelist(gdf, source='src', destination='dst')

# Let's now get the PageRank score of each vertex by calling cugraph.pagerank
df_page = cugraph.pagerank(G)

# Let's look at the PageRank Score (only do this on small graphs)
for i in range(len(df_page)):
	print("vertex " + str(df_page['vertex'].iloc[i]) +
		" PageRank is " + str(df_page['pagerank'].iloc[i]))

Getting cuGraph

There are 3 ways to get cuGraph :

  1. Quick start with Docker Repo
  2. Conda Installation
  3. Build from Source


Currently Supported Features

As of Release 0.18 - including 0.18 nightly

Supported Algorithms

Category Algorithm Scale Notes
Centrality
Katz Multi-GPU
Betweenness Centrality Single-GPU
Edge Betweenness Centrality Single-GPU
Community
EgoNet Single-GPU
Leiden Single-GPU
Louvain Multi-GPU
Ensemble Clustering for Graphs Single-GPU
Spectral-Clustering - Balanced Cut Single-GPU
Spectral-Clustering - Modularity Single-GPU
Subgraph Extraction Single-GPU
Triangle Counting Single-GPU
K-Truss Single-GPU
Components
Weakly Connected Components Single-GPU
Strongly Connected Components Single-GPU
Core
K-Core Single-GPU
Core Number Single-GPU
Layout
Force Atlas 2 Single-GPU
Linear Assignment
Hungarian Single-GPU README
Link Analysis
Pagerank Multi-GPU
Personal Pagerank Multi-GPU
HITS Single-GPU leverages Gunrock
Link Prediction
Jaccard Similarity Single-GPU
Weighted Jaccard Similarity Single-GPU
Overlap Similarity Single-GPU
Traversal
Breadth First Search (BFS) Multi-GPU with cutoff support
Single Source Shortest Path (SSSP) Multi-GPU
Traveling Salesperson Problem (TSP) Single-GPU
Structure
Renumbering Single-GPU multiple columns, any data type
Symmetrize Multi-GPU
Other
Minimum Spanning Tree Single-GPU
Maximum Spanning Tree Single-GPU



Supported Graph

Type Description
Graph An undirected Graph
DiGraph A Directed Graph
Multigraph A Graph with multiple edges between a vertex pair
MultiDigraph A Directed Graph with multiple edges between a vertex pair



Supported Data Types

cuGraph supports graph creation with Source and Destination being expressed as:

  • cuDF DataFrame
  • Pandas DataFrame

cuGraph supports execution of graph algorithms from different graph objects

  • cuGraph Graph classes
  • NetworkX graph classes
  • CuPy sparse matrix
  • SciPy sparse matrix

cuGraph tries to match the return type based on the input type. So a NetworkX input will return the same data type that NetworkX would have.

cuGraph Notice

The current version of cuGraph has some limitations:

  • Vertex IDs are expected to be contiguous integers starting from 0.

cuGraph provides the renumber function to mitigate this problem, which is by default automatically called when data is addted to a graph. Input vertex IDs for the renumber function can be any type, can be non-contiguous, can be multiple columns, and can start from an arbitrary number. The renumber function maps the provided input vertex IDs to 32-bit contiguous integers starting from 0. cuGraph still requires the renumbered vertex IDs to be representable in 32-bit integers. These limitations are being addressed and will be fixed soon.

Additionally, when using the auto-renumbering feature, vertices are automatically un-renumbered in results.

cuGraph is constantly being updated and improved. Please see the Transition Guide if errors are encountered with newer versions

Graph Sizes and GPU Memory Size

The amount of memory required is dependent on the graph structure and the analytics being executed. As a simple rule of thumb, the amount of GPU memory should be about twice the size of the data size. That gives overhead for the CSV reader and other transform functions. There are ways around the rule but using smaller data chunks.

Size Recommended GPU Memory
500 million edges 32 GB
250 million edges 16 GB

The use of managed memory for oversubscription can also be used to exceed the above memory limitations. See the recent blog on Tackling Large Graphs with RAPIDS cuGraph and CUDA Unified Memory on GPUs: https://medium.com/rapids-ai/tackling-large-graphs-with-rapids-cugraph-and-unified-virtual-memory-b5b69a065d4




Quick Start

Please see the Docker Repository, choosing a tag based on the NVIDIA CUDA version you’re running. This provides a ready to run Docker container with example notebooks and data, showcasing how you can utilize all of the RAPIDS libraries: cuDF, cuML, and cuGraph.

Conda

It is easy to install cuGraph using conda. You can get a minimal conda installation with Miniconda or get the full installation with Anaconda.

Install and update cuGraph using the conda command:

# CUDA 10.1
conda install -c nvidia -c rapidsai -c numba -c conda-forge -c defaults cugraph cudatoolkit=10.1

# CUDA 10.2
conda install -c nvidia -c rapidsai -c numba -c conda-forge -c defaults cugraph cudatoolkit=10.2

# CUDA 11.0
conda install -c nvidia -c rapidsai -c numba -c conda-forge -c defaults cugraph cudatoolkit=11.0

Note: This conda installation only applies to Linux and Python versions 3.7/3.8.

Build from Source and Contributing

Please see our guide for building cuGraph from source

Please see our guide for contributing to cuGraph.

Documentation

Python API documentation can be generated from docs directory.


Open GPU Data Science

The RAPIDS suite of open source software libraries aims to enable execution of end-to-end data science and analytics pipelines entirely on GPUs. It relies on NVIDIA® CUDA® primitives for low-level compute optimization but exposing that GPU parallelism and high-bandwidth memory speed through user-friendly Python interfaces.

Apache Arrow on GPU

The GPU version of Apache Arrow is a common API that enables efficient interchange of tabular data between processes running on the GPU. End-to-end computation on the GPU avoids unnecessary copying and converting of data off the GPU, reducing compute time and cost for high-performance analytics common in artificial intelligence workloads. As the name implies, cuDF uses the Apache Arrow columnar data format on the GPU. Currently, a subset of the features in Apache Arrow are supported.

Comments
  • Update to changed `rmm::device_scalar` API

    Update to changed `rmm::device_scalar` API

    After rapidsai/rmm/#789 is a breaking API change for rmm::device_scalar. This PR fixes a couple of uses of rmm::device_scalar to fix the build of cuGraph, and should be merged immediately after rapidsai/rmm/#789.

    Also fixes an unrelated narrowing conversion warning.

    improvement non-breaking 
    opened by harrism 37
  • [FEA] Remove FAISS dependency, inherit other common dependencies from raft

    [FEA] Remove FAISS dependency, inherit other common dependencies from raft

    Originally this PR was about building FAISS shared libs via CPM, but @rlratzel mentioned cuGraph doesn't need FAISS anymore, and it'd be better if we remove it.

    If we need FAISS again in the future, we can add faiss::faiss back to target_link_libraries without needing extra CPM configuration as it will be available via raft.

    Edit: Removed more dependencies that we inherit from raft and/or rmm. Depends on https://github.com/rapidsai/raft/pull/345.

    Edit 2: I think the CUDA 11.0 thrust issue will be solved by https://github.com/rapidsai/rapids-cmake/pull/98

    3 - Ready for Review improvement non-breaking 
    opened by trxcllnt 31
  • cuGraph Readme pages and Documentation API structure refactoring

    cuGraph Readme pages and Documentation API structure refactoring

    Refactoring the API and adding new landing pages for each cuGraph component

    Please just go to: https://github.com/acostadon/cugraph/tree/README_issue_2663 to visualize the changes

    closes #2663

    doc non-breaking 
    opened by acostadon 16
  • Design an approach for vertex and edge masking

    Design an approach for vertex and edge masking

    Starts work for EPIC #2104

    We need a design for how we are going to handle vertex and edge masking. The design should sketch out:

    • Our implementation strategy
    • Define the API for masking
    • Define how the primitives will be adapted to support this feature
    • Define a roadmap for implementation (we
    2 - In Progress 
    opened by ChuckHastings 14
  • [ENH] Refactor spectral clustering and transfer the backend to RAFT

    [ENH] Refactor spectral clustering and transfer the backend to RAFT

    Motivation Spectral clustering is used by cuML and should be in RAFT to avoid a circular dependency. A lot of the backend building blocks can be used independently ( like lanczos solver and kmeans). However, this is a legacy code from nvgraph that can't be transferred as is.

    The following items should be taken care of :

    • [ ] Decouple from nvgraph structures, errors etc. These should not be transferred to RAFT.
    • [ ] Refactor to remove deprecated cusparse calls (next CUDA version support)
    • [ ] Use RAFT's cusparse wrapper
    • [ ] Drop the sparse matrix class.
    • [ ] Transfer code to RAFT
    • [ ] Make it deterministic.
    • [ ] adjust cugraph code to get Spectral Clustering building blocks from RAFT (cython and C++ API remain in cuGraph).
    • [ ] adjust cuML code to get Spectral Clustering from RAFT in UMAP.
    opened by afender 14
  • [REVIEW] Pattern accelerator based implementation of PageRank, Katz Centrality, BFS, & SSSP

    [REVIEW] Pattern accelerator based implementation of PageRank, Katz Centrality, BFS, & SSSP

    OK, I will try to merge this and plan to address multi-GPU extensions & performance tuning in separate PRs.

    This PR is already very large and also there are multiple works dependent on this, so I think this works better (and this code is not linked to any python user code yet, so there isn't much risk in premature merging).

    This API aims to achieve

    1. thrust-like API for graph algorithms
    2. Abstract out implementation issues in different target systems (Single GPU, multi-GPU, ...) inside the pattern accelerator API, Graph, and Handle; Same analytics code will be used for different target systems.
    3. Minimize redundancy in cuGraph codebase and better enforce consistency.
    3 - Ready for Review 
    opened by seunghwak 14
  • [REVIEW] Refactored Graph Class with RAII

    [REVIEW] Refactored Graph Class with RAII

    ~In this proposal I am adding a typed wrapper around rmm device buffer which is movable and returns a pointer that can be used internally by algorithms.~

    ~The other addition is a returnable graph object that owns data abstracted by this typed wrapper.~

    A returnable graph object that wraps rmm device_buffer objects. The pointers to these buffers are returned by the objects. They also have a release function so that the internal contents can be moved by the python layer.

    5 - Ready to Merge 
    opened by kaatish 14
  • [BUG] ECG 0.12 CUDA error iinvalid value

    [BUG] ECG 0.12 CUDA error iinvalid value

    Describe the bug cannot execute ECG example

    To Reproduce https://docs.rapids.ai/api/cugraph/stable/ for ECG has the following example:

    import cudf
    import cugraph
    
    M = cudf.read_csv('path/to/karate.csv',
                          delimiter = ' ',
                          dtype=['int32', 'int32', 'float32'],
                          header=None)
    sources = cudf.Series(M['0'])
    destinations = cudf.Series(M['1'])
    values = cudf.Series(M['2'])
    G = cugraph.Graph()
    G.add_edge_list(sources, destinations, values)
    parts = cugraph.ecg(G)
    

    fails with:

    /home/at/heilerg/.conda/envs/phd2-graph-econ/lib/python3.7/site-packages/cugraph/structure/graph.py:191: UserWarning: add_edge_list will be deprecated in next release. Use from_cudf_edgelist instead
      Use from_cudf_edgelist instead')
    
    ---------------------------------------------------------------------------
    RuntimeError                              Traceback (most recent call last)
    <ipython-input-2-4b59f30e695a> in <module>
         12 G = cugraph.Graph()
         13 G.add_edge_list(sources, destinations, values)
    ---> 14 parts = cugraph.ecg(G)
    
    site-packages/cugraph/community/ecg.py in ecg(input_graph, min_weight, ensemble_size)
         61     """
         62 
    ---> 63     parts = ecg_wrapper.ecg(input_graph, min_weight, ensemble_size)
         64 
         65     return parts
    
    cugraph/community/ecg_wrapper.pyx in cugraph.community.ecg_wrapper.ecg()
    
    RuntimeError: CUDA error encountered at: /conda/conda-bld/libcugraph_1580841414814/work/cpp/src/converters/COOtoCSR.cuh:163: 1 cudaErrorInvalidValue invalid argument
    
    
    

    Expected behavior ECG to be comuted successfully

    Desktop (please complete the following information):

    • OS: [e.g. iOS] centos 7
    • Browser [e.g. chrome, safari] firefox developer edition
    • Version [e.g. 22] cuGraph: 0.12 (latest stable)
    bug 
    opened by geoHeil 14
  • Add `is_multigraph` to PG and change `has_duplicate_edges` to use types

    Add `is_multigraph` to PG and change `has_duplicate_edges` to use types

    Closes #2591

    Also, change default graph type to MultiGraph. allow_multi_edges keyword was renamed to do_expensive_check, which only occurs when the output graph is not a MultiGraph. Should do_expensive_check default to True or False?

    improvement breaking 
    opened by eriknw 12
  • [FEA] neighbor sampling in COO/CSR format

    [FEA] neighbor sampling in COO/CSR format

    This pull request adds neighborhood sampling, as needed by GNN frameworks (DGL, PyTorch-Geometric).

    Since I did not hear back on most of the other issues that need to be addressed before this, I am continuing with my plan of first opening a PR with just the API. Once we agree on the final API, and once a minimal version of cugraph-ops is integrated, we can add the implementation of this API.

    In particular, for now I am suggesting that the sampling type is exposed in the public API (it does not exist yet in cugraph-ops since that has not been integrated yet). This must be decided ahead of sampling for best performance (either by the end user or some automatic heuristic on the original graph), which is why it makes sense to have as a separate parameter for this API.

    EDIT: link to issue https://github.com/rapidsai/cugraph/issues/1978

    3 - Ready for Review improvement non-breaking 
    opened by MatthiasKohl 12
  • initial creation of libcugraph_etl.so

    initial creation of libcugraph_etl.so

    The new renumbering implementation will require C++ integration directly with cudf. In order to facilitate that, but also support our customers that won't need cudf, this PR will create a separate library (libcugraph_etl.so) which will ultimately link with libcudf.so and contain the ETL portions of cugraph that require cudf features.

    This way our other libcugraph customers that don't need to reference the new library will not need to install all of the cudf dependencies.

    To seed this, the PR also includes a proposed API for the new renumbering capability.

    3 - Ready for Review improvement non-breaking 
    opened by ChuckHastings 12
  • Build CUDA 11.8 and Python 3.10 Packages

    Build CUDA 11.8 and Python 3.10 Packages

    This PR updates cugraph to build against branch cuda-118 of the shared-action-workflow repository.

    That branch contains updates for CUDA 11.8 and Python 3.10 packages.

    It also includes some minor file renames.

    Depends on https://github.com/rapidsai/raft/pull/1120

    opened by bdice 0
  • Add pagerank to cugraph-service

    Add pagerank to cugraph-service

    The current pagerank API is just a placeholder to indicate that additional APIs beyond just those for sampling are intended.

    This issue tracks the progress of adding a cugraph-service pagerank API.

    opened by rlratzel 0
  • Debugging test failure in CI

    Debugging test failure in CI

    There's a failure that I can't reproduce locally. Python tests are randomly failing at the end of the run during tear down.

    Trying to isolate what might be going on.

    5 - DO NOT MERGE 
    opened by ChuckHastings 0
  • [FEA]: MG PropertyGraph backed by Dask DataFrames

    [FEA]: MG PropertyGraph backed by Dask DataFrames

    Is this a new feature, an improvement, or a change to existing functionality?

    New Feature

    How would you describe the priority of this feature request

    Medium

    Please provide a clear description of problem this feature solves

    Allow MG PropertyGraph to store data with dask.dataframe instead of with dask_cudf. This allows data to be stored in host memory and mirrors functionality in PropertyGraph.

    Describe your ideal solution

    Ideally this can be composed nicely with #2424 where some types can be Dask DataFrames and some can be cudf DataFrames. But, I think this issue can be done before #2424.

    Describe any alternatives you have considered

    No response

    Additional context

    No response

    Code of Conduct

    • [X] I agree to follow cuGraph's Code of Conduct
    • [X] I have searched the open feature requests and have found no duplicates for this feature request
    feature request ? - Needs Triage 
    opened by eriknw 0
  • [BUG]: edge betweenness centrailty results contain incorrect values

    [BUG]: edge betweenness centrailty results contain incorrect values

    Version

    early 2022

    Which installation method(s) does this occur on?

    No response

    Describe the bug.

    ~70K of ~170K edges getting NA values for undirected edge betweenness centrality... these are on what we expect to be some of the highest-centrality.

    Minimum reproducible example

    No response

    Relevant log output

    No response

    Environment details

    No response

    Other/Misc.

    cc @lmeyerov

    Code of Conduct

    • [X] I agree to follow cuGraph's Code of Conduct
    • [X] I have searched the open bugs and have found no duplicates for this bug report
    ? - Needs Triage Fix 
    opened by rlratzel 0
  • [QST]: Saving cugraph object

    [QST]: Saving cugraph object

    What is your question?

    Hi,

    I was wondering if anyone knows how to save a Graph object after it's been created? I'm creating a large DiGraph (1.7 billion edges), so I would preferably like to save the output once it has been created. Is this possible? I looked into pickle and joblib but got errors "cannot pickle 'socket' object" and "TypeError: cannot pickle 'TaskStepMethWrapper' object", respectively

    Code of Conduct

    • [X] I agree to follow cuGraph's Code of Conduct
    • [X] I have searched the open issues and have found no duplicates for this question
    question 
    opened by acjones27 2
Releases(v22.12.00)
  • v22.12.00(Dec 9, 2022)

    🚨 Breaking Changes

    • remove all algorithms from cython.cu (#2955) @ChuckHastings
    • PyG Monorepo Refactor (#2905) @alexbarghi-nv
    • Fix PyG Loaders by properly supporting multi_get_tensor (#2860) @alexbarghi-nv
    • Adds arbitrary server extension support to cugraph-service (#2850) @rlratzel
    • Separate edge weights from graph objects and update primitives to support general edge properties. (#2843) @seunghwak
    • Move weight-related graph_t and graph_view_t member functions to standalone functions (#2841) @seunghwak
    • Avoid directly calling graph constructor (as code cleanup before edge property support in primitives) (#2834) @seunghwak
    • Split Sampler from Graph Store to Support New PyG Sampling API (#2803) @alexbarghi-nv
    • Code cleanup (remove dead code and move legacy files to the legacy directory) (#2798) @seunghwak
    • remove graph broadcast and serialization object, not used (#2783) @ChuckHastings
    • Multi-GPU induced subgraph tests code (#2602) @yang-hu-nv

    🐛 Bug Fixes

    • Removed unused testing code that caused a cudf dependency (#3065) @rlratzel
    • Always build without isolation (#3052) @vyasr
    • Makes cugraph-pyg an optional depenency for cugraph-service tests (#3051) @rlratzel
    • Fix cugraph_c target name in Python builds (#3045) @vyasr
    • Initialize CUDA architectures for all Python cugraph builds (#3041) @vyasr
    • Update the python API to create a PLC graph from a CSR (#3027) @jnke2016
    • Updates experimental warning wrapper and PropertyGraph docs for correct experimental namespace name (#3007) @rlratzel
    • Fix cluster startup script (#2977) @VibhuJawa
    • Don't use CMake 3.25.0 as it has a FindCUDAToolkit show stopping bug (#2957) @robertmaynard
    • Fix build script to install dask main (#2943) @galipremsagar
    • Fixes options added to build.sh for building without cugraph-ops that were dropped in a merge mistake. (#2935) @rlratzel
    • Update dgl dependency to dglcuda=11.6 (#2929) @VibhuJawa
    • Adds option to build.sh to build without cugraphops, updates docs (#2904) @rlratzel
    • Fix bug in how is_symmetric is set when transposing storage (#2898) @ChuckHastings
    • Correct build failures when doing a local build (#2895) @robertmaynard
    • Update cuda-python dependency to 11.7.1 (#2865) @galipremsagar
    • Add package to the list of dependencies (#2858) @jnke2016
    • Add parameter checks to BFS and SSSP in C API (#2844) @ChuckHastings
    • Fix uniform neighborhood sampling memory leak (#2835) @ChuckHastings
    • Fix out of index errors encountered with sampling on out of index samples (#2825) @VibhuJawa
    • Fix MG tests bugs (#2819) @jnke2016
    • Fix MNMG failures in mg_dgl_extensions (#2786) @VibhuJawa
    • Bug fix when -1 is used as a valid external vertex ID (#2776) @seunghwak

    📖 Documentation

    • Update dgl-cuda conda installation instructions (#2972) @VibhuJawa
    • cuGraph Readme pages and Documentation API structure refactoring (#2894) @acostadon
    • Create a page on why we do not support cascading (#2842) @BradReesWork
    • Add ProperyGraph to doc generation and update docstrings (#2826) @acostadon
    • Updated Release Notebook for changes in latest cuGraph release (#2800) @acostadon

    🚀 New Features

    • Add wheel builds (#2964) @vyasr
    • Reenable copy_prs (#2959) @vyasr
    • Provide option to keep original vertex/edge IDs when renumbering (#2951) @eriknw
    • Support cuGraph-Service in cuGraph-PyG (#2946) @alexbarghi-nv
    • Add conda yml forcugraph+torch+DGL dev (#2919) @VibhuJawa
    • Bring up cugraph_dgl_repo (#2896) @VibhuJawa
    • Adds setup.py files and conda recipes for cugraph-service (#2862) @BradReesWork
    • Add remote storage support (#2859) @VibhuJawa
    • Separate edge weights from graph objects and update primitives to support general edge properties. (#2843) @seunghwak
    • GitHub Action adding issues/prs to project board (#2837) @jarmak-nv
    • Replacing markdown issue templates with yml forms (#2836) @jarmak-nv
    • Cugraph-Service Remote Graphs and Algorithm Dispatch (#2832) @alexbarghi-nv
    • Remote Graph Wrappers for cuGraph-Service (#2821) @alexbarghi-nv
    • Updte transform_reduce_e_by_src|dst_key to take a custom reduction op (#2813) @seunghwak
    • C++ minimal CSV reader (#2791) @seunghwak
    • K-hop neighbors (#2782) @seunghwak

    🛠️ Improvements

    • Update dask-cuda version and disable wheel builds in CI (#3009) @vyasr
    • Branch 22.12 merge 22.10 (#3008) @rlratzel
    • Shuffle the vertex pair (#3002) @jnke2016
    • remove all algorithms from cython.cu (#2955) @ChuckHastings
    • Update gitignore to Exclude Egg Files (#2948) @alexbarghi-nv
    • Pin dask and distributed for release (#2940) @galipremsagar
    • Make dgl, pytorch optional imports for cugraph_dgl package (#2936) @VibhuJawa
    • Implement k core (#2933) @ChuckHastings
    • CuGraph-Service Asyncio Fix (#2932) @alexbarghi-nv
    • Debug MG egonet issues (#2926) @ChuckHastings
    • Optimize PG.add_data (#2924) @VibhuJawa
    • Implement C API Similarity (#2923) @ChuckHastings
    • Adds cugraph-dgl conda package, updates CI scripts to build and upload it (#2921) @rlratzel
    • key, value store abstraction (#2920) @seunghwak
    • Implement two_hop_neighbors C API (#2915) @ChuckHastings
    • PyG Monorepo Refactor (#2905) @alexbarghi-nv
    • Update cugraph to support building for Ada and Hopper (#2889) @robertmaynard
    • Optimize dask.uniform_neighbor_sample (#2887) @VibhuJawa
    • Add vector properties (#2882) @eriknw
    • Add view_concat for edge_minor_property_view_t and update transform_reduce_e_by_dst_key to support reduce_op on tuple types (#2879) @naimnv
    • Update egonet implementation (#2874) @jnke2016
    • Use new rapids-cmake functionality for rpath handling. (#2868) @vyasr
    • Update python WCC to leverage the CAPI (#2866) @jnke2016
    • Define and implement C/C++ for MNMG Egonet (#2864) @ChuckHastings
    • Update uniform random walks implementation (#2861) @jnke2016
    • Fix PyG Loaders by properly supporting multi_get_tensor (#2860) @alexbarghi-nv
    • CAPI create graph from CSR (#2856) @ChuckHastings
    • Remove pg dependency from cugraph store.py (#2855) @VibhuJawa
    • Define C API and implement induced subgraph (#2854) @ChuckHastings
    • Adds arbitrary server extension support to cugraph-service (#2850) @rlratzel
    • Remove stale labeler (#2849) @raydouglass
    • Ensure correct data type (#2847) @jnke2016
    • Move weight-related graph_t and graph_view_t member functions to standalone functions (#2841) @seunghwak
    • Move 'graph_store.py' under dgl_extensions (#2839) @VibhuJawa
    • Avoid directly calling graph constructor (as code cleanup before edge property support in primitives) (#2834) @seunghwak
    • removed docs from cugraph build defaults and updated docs clean (#2831) @acostadon
    • Define API for Betweenness Centrality (#2823) @ChuckHastings
    • Adds .git-blame-ignore-revs for recent .py files reformatting by black (#2809) @rlratzel
    • Delete dead code in cython.cu (#2807) @seunghwak
    • Persist more in MGPropertyGraph (#2805) @eriknw
    • Fix concat with different index dtypes in SG PropertyGraph (#2804) @eriknw
    • Split Sampler from Graph Store to Support New PyG Sampling API (#2803) @alexbarghi-nv
    • added a passthrough for storing transposed (#2799) @BradReesWork
    • Code cleanup (remove dead code and move legacy files to the legacy directory) (#2798) @seunghwak
    • PG: join new vertex data by vertex ids (#2796) @eriknw
    • Allow passing a dict in feat_name for add_edge_data and add_node_data (#2795) @VibhuJawa
    • remove graph broadcast and serialization object, not used (#2783) @ChuckHastings
    • Format Python code with black (#2778) @eriknw
    • remove unused mechanism for calling Louvain (#2777) @ChuckHastings
    • Unpin dask and distributed for development (#2772) @galipremsagar
    • Fix auto-merger (#2771) @galipremsagar
    • Fix library version in yml files (#2764) @galipremsagar
    • Refactor k-core (#2731) @jnke2016
    • Adds API option to uniform_neighbor_sample() and UCX-Py infrastructure to allow for a client-side device to directly receive results (#2715) @rlratzel
    • Add or Update Similarity algorithms (#2704) @jnke2016
    • Define a C API for data masking (#2630) @ChuckHastings
    • Multi-GPU induced subgraph tests code (#2602) @yang-hu-nv
    Source code(tar.gz)
    Source code(zip)
  • v23.02.00a(Dec 2, 2022)

    🔗 Links

    🚨 Breaking Changes

    • Adds parameterized benchmarks for uniform_neighbor_sampling, updates benchmarks dir for future additions (#3048) @rlratzel

    🐛 Bug Fixes

    • Bug fix in the C++ CSV file reader (used in C++ testing only). (#3055) @seunghwak

    📖 Documentation

    • Add API's for dgl, pyg, cugraph service (server and client) to sphinx (#3075) @acostadon
    • redo cuGraph main docs (#3060) @acostadon

    🚀 New Features

    • cugraph_dgl benchmarks (#3092) @VibhuJawa
    • Add DGL benchmarks (#3089) @VibhuJawa
    • Add cugraph+UCX build instructions (#3088) @VibhuJawa
    • Update per_v_transform_reduce_incoming|outgoing_e to take a reduction operator. (#2975) @seunghwak

    🛠️ Improvements

    • Updates README for cugraph-service to provide an up-to-date quickstart (#3119) @rlratzel
    • Update workflows for nightly tests (#3098) @ajschmidt8
    • GH Actions Notebook Testing Fixes (#3097) @ajschmidt8
    • Add notebooks testing to GH Actions PR Workflow (#3095) @ajschmidt8
    • Update cugraph recipes (#3091) @ajschmidt8
    • Optimize pg.get_x_data APIs (#3086) @VibhuJawa
    • Add GitHub Actions Workflows (#3076) @bdice
    • Updates conda versioning to install correct dependencies, changes CI script to better track deps from individual build installs (#3066) @seunghwak
    • Use pre-commit for CI style checks. (#3062) @bdice
    • Replace clock_gettime with std::chrono::steady_clock (#3049) @seunghwak
    • Adds parameterized benchmarks for uniform_neighbor_sampling, updates benchmarks dir for future additions (#3048) @rlratzel
    • Add dependencies.yaml for rapids-dependency-file-generator (#3042) @ChuckHastings
    • Unpin dask and distributed for development (#3036) @galipremsagar
    • Forward merge 22.12 into 23.02 (#3033) @vyasr
    • Optimize pg.add_data for vector properties (#3022) @VibhuJawa
    • Adds better reporting of server subprocess errors during testing (#3012) @rlratzel
    • Update cugraph_dgl to use vector_properties (#3000) @VibhuJawa
    • Fix MG C++ Jaccard/Overlap/Sorensen coefficients tests. (#2999) @seunghwak
    • Replace deprecated raft headers (#2978) @lowener
    Source code(tar.gz)
    Source code(zip)
  • v22.10.01(Nov 4, 2022)

    🚨 Breaking Changes

    • Add is_multigraph to PG and change has_duplicate_edges to use types (#2708) @eriknw
    • Enable PLC algos to leverage the PLC graph (#2682) @jnke2016
    • Reduce cuGraph Sampling Overhead for PyG (#2653) @alexbarghi-nv
    • Code cleanup (#2617) @seunghwak
    • Update vertex_frontier_t to take unsorted (tagged-)vertex list with possible duplicates (#2584) @seunghwak
    • CuGraph+PyG Wrappers and Loaders (#2567) @alexbarghi-nv
    • Rename multiple .cuh (.cu) files to .hpp (.cpp) (#2501) @seunghwak

    🐛 Bug Fixes

    • Properly Distribute Start Vertices for MG Uniform Neighbor Sample (#2765) @alexbarghi-nv
    • Removes unneeded test dependency on cugraph from pylibcugraph tests (#2738) @rlratzel
    • Add modularity to return result for louvain (#2706) @ChuckHastings
    • Fixes bug in NumberMap preventing use of string vertex IDs for MG graphs (#2688) @rlratzel
    • Release all inactive futures (#2659) @jnke2016
    • Fix MG PLC algos intermittent hang (#2607) @jnke2016
    • Fix MG Louvain C API test (#2588) @ChuckHastings

    📖 Documentation

    • Adding new classes to api docs (#2754) @acostadon
    • Removed reference to hard limit of 2 billion vertices for dask cugraph (#2680) @acostadon
    • updated list of conferences (#2672) @BradReesWork
    • Refactor Sampling, Structure and Traversal Notebooks (#2628) @acostadon

    🚀 New Features

    • Implement a vertex pair intersection primitive (#2728) @seunghwak
    • Implement a random selection primitive (#2703) @seunghwak
    • adds mechanism to skip notebook directories for different run types (#2693) @acostadon
    • Create graph with edge property values (#2660) @seunghwak
    • Reduce cuGraph Sampling Overhead for PyG (#2653) @alexbarghi-nv
    • Primitive to support gathering one hop neighbors (#2623) @seunghwak
    • Define a selection primtive API (#2586) @seunghwak
    • Leiden C++ API (#2569) @naimnv
    • CuGraph+PyG Wrappers and Loaders (#2567) @alexbarghi-nv
    • create a graph with additional edge properties (#2521) @seunghwak

    🛠️ Improvements

    • Update cuda-python dependency to 11.7.1 (#2848) @shwina
    • Fix docs builds (#2814) @ajschmidt8
    • Add missing entries in update-version.sh (#2763) @galipremsagar
    • Pin dask and distributed for release (#2758) @galipremsagar
    • Allow users to provide their own edge IDS to PropertyGraph (#2757) @eriknw
    • Raise a warning for certain algorithms (#2756) @jnke2016
    • Fix cuGraph compile-time warnings. (#2755) @seunghwak
    • Use new sampling primitives (#2751) @ChuckHastings
    • C++ implementation for unweighted Jaccard/Sorensen/Overlap (#2750) @ChuckHastings
    • suppress expansion of unused raft spectral templates (#2739) @cjnolet
    • Update unit tests to leverage the datasets API (#2733) @jnke2016
    • Update raft import (#2729) @jnke2016
    • Document that minimum required CMake version is now 3.23.1 (#2725) @robertmaynard
    • fix Comms import (#2717) @BradReesWork
    • added tests for triangle count on unweighted graphs and graphs with int64 vertex types (#2716) @acostadon
    • Define k-core API and tests (#2712) @ChuckHastings
    • Add is_multigraph to PG and change has_duplicate_edges to use types (#2708) @eriknw
    • Refactor louvain (#2705) @jnke2016
    • new notebook for loading mag240m (#2701) @BradReesWork
    • PG allow get_vertex_data to accept single type or id (#2698) @eriknw
    • Renumber PG to be contiguous per type (#2697) @eriknw
    • Added SamplingResult cdef class to return cupy "views" for PLC sampling algos instead of copying result data (#2684) @rlratzel
    • Enable PLC algos to leverage the PLC graph (#2682) @jnke2016
    • graph_mask_t and separating raft includes for host_span and device_span (#2679) @cjnolet
    • Promote triangle count from experimental (#2671) @jnke2016
    • Small fix to the MG PyG Test to Account for Current Sampling Behavior (#2666) @alexbarghi-nv
    • Move GaaS sources, tests, docs, scripts from the rapidsai/GaaS repo to the cugraph repo (#2661) @rlratzel
    • C, Pylibcugraph, and Python API Updates for Edge Types (#2629) @alexbarghi-nv
    • Add coverage for uniform neighbor sampling (#2625) @jnke2016
    • Define C and C++ APIs for Jaccard/Sorensen/Overlap (#2624) @ChuckHastings
    • Code cleanup (#2617) @seunghwak
    • Branch 22.10 merge 22.08 (#2599) @rlratzel
    • Restructure Louvain to be more like other algorithms (#2594) @ChuckHastings
    • Hetrograph and dask_cudf support (#2592) @VibhuJawa
    • remove pagerank from cython.cu (#2587) @ChuckHastings
    • MG uniform random walk implementation (#2585) @ChuckHastings
    • Update vertex_frontier_t to take unsorted (tagged-)vertex list with possible duplicates (#2584) @seunghwak
    • Use edge_ids directly in uniform sampling call to prevent cost of edge_id lookup (#2550) @VibhuJawa
    • PropertyGraph set index to vertex and edge ids (#2523) @eriknw
    • Use rapids-cmake 22.10 best practice for RAPIDS.cmake location (#2518) @robertmaynard
    • Unpin dask and distributed for development (#2517) @galipremsagar
    • Use category dtype for type in PropertyGraph (#2510) @eriknw
    • Split edge_partition_src_dst_property.cuh to .hpp and .cuh files. (#2503) @seunghwak
    • Rename multiple .cuh (.cu) files to .hpp (.cpp) (#2501) @seunghwak
    • Fix Forward-Merger Conflicts (#2474) @ajschmidt8
    • Add tests for reading edge and vertex data from single input in PG, implementation to follow. (#2154) @rlratzel
    Source code(tar.gz)
    Source code(zip)
  • v22.10.00(Oct 12, 2022)

    🚨 Breaking Changes

    • Add is_multigraph to PG and change has_duplicate_edges to use types (#2708) @eriknw
    • Enable PLC algos to leverage the PLC graph (#2682) @jnke2016
    • Reduce cuGraph Sampling Overhead for PyG (#2653) @alexbarghi-nv
    • Code cleanup (#2617) @seunghwak
    • Update vertex_frontier_t to take unsorted (tagged-)vertex list with possible duplicates (#2584) @seunghwak
    • CuGraph+PyG Wrappers and Loaders (#2567) @alexbarghi-nv
    • Rename multiple .cuh (.cu) files to .hpp (.cpp) (#2501) @seunghwak

    🐛 Bug Fixes

    • Properly Distribute Start Vertices for MG Uniform Neighbor Sample (#2765) @alexbarghi-nv
    • Removes unneeded test dependency on cugraph from pylibcugraph tests (#2738) @rlratzel
    • Add modularity to return result for louvain (#2706) @ChuckHastings
    • Fixes bug in NumberMap preventing use of string vertex IDs for MG graphs (#2688) @rlratzel
    • Release all inactive futures (#2659) @jnke2016
    • Fix MG PLC algos intermittent hang (#2607) @jnke2016
    • Fix MG Louvain C API test (#2588) @ChuckHastings

    📖 Documentation

    • Adding new classes to api docs (#2754) @acostadon
    • Removed reference to hard limit of 2 billion vertices for dask cugraph (#2680) @acostadon
    • updated list of conferences (#2672) @BradReesWork
    • Refactor Sampling, Structure and Traversal Notebooks (#2628) @acostadon

    🚀 New Features

    • Implement a vertex pair intersection primitive (#2728) @seunghwak
    • Implement a random selection primitive (#2703) @seunghwak
    • adds mechanism to skip notebook directories for different run types (#2693) @acostadon
    • Create graph with edge property values (#2660) @seunghwak
    • Reduce cuGraph Sampling Overhead for PyG (#2653) @alexbarghi-nv
    • Primitive to support gathering one hop neighbors (#2623) @seunghwak
    • Define a selection primtive API (#2586) @seunghwak
    • Leiden C++ API (#2569) @naimnv
    • CuGraph+PyG Wrappers and Loaders (#2567) @alexbarghi-nv
    • create a graph with additional edge properties (#2521) @seunghwak

    🛠️ Improvements

    • Add missing entries in update-version.sh (#2763) @galipremsagar
    • Pin dask and distributed for release (#2758) @galipremsagar
    • Allow users to provide their own edge IDS to PropertyGraph (#2757) @eriknw
    • Raise a warning for certain algorithms (#2756) @jnke2016
    • Fix cuGraph compile-time warnings. (#2755) @seunghwak
    • Use new sampling primitives (#2751) @ChuckHastings
    • C++ implementation for unweighted Jaccard/Sorensen/Overlap (#2750) @ChuckHastings
    • suppress expansion of unused raft spectral templates (#2739) @cjnolet
    • Update unit tests to leverage the datasets API (#2733) @jnke2016
    • Update raft import (#2729) @jnke2016
    • Document that minimum required CMake version is now 3.23.1 (#2725) @robertmaynard
    • fix Comms import (#2717) @BradReesWork
    • added tests for triangle count on unweighted graphs and graphs with int64 vertex types (#2716) @acostadon
    • Define k-core API and tests (#2712) @ChuckHastings
    • Add is_multigraph to PG and change has_duplicate_edges to use types (#2708) @eriknw
    • Refactor louvain (#2705) @jnke2016
    • new notebook for loading mag240m (#2701) @BradReesWork
    • PG allow get_vertex_data to accept single type or id (#2698) @eriknw
    • Renumber PG to be contiguous per type (#2697) @eriknw
    • Added SamplingResult cdef class to return cupy "views" for PLC sampling algos instead of copying result data (#2684) @rlratzel
    • Enable PLC algos to leverage the PLC graph (#2682) @jnke2016
    • graph_mask_t and separating raft includes for host_span and device_span (#2679) @cjnolet
    • Promote triangle count from experimental (#2671) @jnke2016
    • Small fix to the MG PyG Test to Account for Current Sampling Behavior (#2666) @alexbarghi-nv
    • Move GaaS sources, tests, docs, scripts from the rapidsai/GaaS repo to the cugraph repo (#2661) @rlratzel
    • C, Pylibcugraph, and Python API Updates for Edge Types (#2629) @alexbarghi-nv
    • Add coverage for uniform neighbor sampling (#2625) @jnke2016
    • Define C and C++ APIs for Jaccard/Sorensen/Overlap (#2624) @ChuckHastings
    • Code cleanup (#2617) @seunghwak
    • Branch 22.10 merge 22.08 (#2599) @rlratzel
    • Restructure Louvain to be more like other algorithms (#2594) @ChuckHastings
    • Hetrograph and dask_cudf support (#2592) @VibhuJawa
    • remove pagerank from cython.cu (#2587) @ChuckHastings
    • MG uniform random walk implementation (#2585) @ChuckHastings
    • Update vertex_frontier_t to take unsorted (tagged-)vertex list with possible duplicates (#2584) @seunghwak
    • Use edge_ids directly in uniform sampling call to prevent cost of edge_id lookup (#2550) @VibhuJawa
    • PropertyGraph set index to vertex and edge ids (#2523) @eriknw
    • Use rapids-cmake 22.10 best practice for RAPIDS.cmake location (#2518) @robertmaynard
    • Unpin dask and distributed for development (#2517) @galipremsagar
    • Use category dtype for type in PropertyGraph (#2510) @eriknw
    • Split edge_partition_src_dst_property.cuh to .hpp and .cuh files. (#2503) @seunghwak
    • Rename multiple .cuh (.cu) files to .hpp (.cpp) (#2501) @seunghwak
    • Fix Forward-Merger Conflicts (#2474) @ajschmidt8
    • Add tests for reading edge and vertex data from single input in PG, implementation to follow. (#2154) @rlratzel
    Source code(tar.gz)
    Source code(zip)
  • v22.08.00(Aug 18, 2022)

    🚨 Breaking Changes

    • Change default return type PropertyGraph.extract_subgraph() -&gt; cugraph.Graph(directed=True) (#2460) @eriknw
    • cuGraph code cleanup (#2431) @seunghwak
    • Clean up public api (#2398) @ChuckHastings
    • Delete old nbr sampling software (#2371) @ChuckHastings
    • Remove GraphCSC/GraphCSCView object, no longer used (#2354) @ChuckHastings
    • Replace raw pointers with device_span in induced subgraph (#2348) @yang-hu-nv
    • Clean up some unused code in the C API (and beyond) (#2339) @ChuckHastings
    • Performance-optimize storing edge partition source/destination properties in (key, value) pairs (#2328) @seunghwak
    • Remove legacy katz (#2324) @ChuckHastings

    🐛 Bug Fixes

    • Fix PropertyGraph MG tests (#2511) @eriknw
    • Update k_core.py to Check for Graph Direction (#2507) @oorliu
    • fix non-deterministic bug in uniform neighborhood sampling (#2477) @ChuckHastings
    • Fix typos in Python CMakeLists CUDA arch file (#2475) @vyasr
    • Updated imports to be compatible with latest version of cupy (#2473) @rlratzel
    • Fix pandas SettingWithCopyWarning, which really shouldn't be ignored. (#2447) @eriknw
    • fix handling of fanout == -1 (#2435) @ChuckHastings
    • Add options to extract_subgraph() to bypass renumbering and adding edge_data, exclude internal _WEIGHT_ column from edge_property_names, added num_vertices_with_properties attr (#2419) @rlratzel
    • Remove the comms import from cugraph's init file (#2402) @jnke2016
    • Bug fix (providing invalid sentinel value for cuCollection). (#2382) @seunghwak
    • add debug print for betweenness centrality, fix typo (#2369) @jnke2016
    • Bug fix for decompressing partial edge list and using (key, value) pairs for major properties. (#2366) @seunghwak
    • Fix Fanout -1 (#2358) @VibhuJawa
    • Update sampling primitive again, fix hypersparse computations (#2353) @ChuckHastings
    • added test cases and verified that algorithm works for undirected graphs (#2349) @acostadon
    • Fix sampling bug (#2343) @ChuckHastings
    • Fix triangle count (#2325) @ChuckHastings

    📖 Documentation

    • Defer loading of custom.js (#2506) @galipremsagar
    • Centralize common css & js code in docs (#2472) @galipremsagar
    • Fix issues with day & night modes in python docs (#2471) @galipremsagar
    • Use Datasets API to Update Docstring Examples (#2441) @oorliu
    • README updates (#2395) @BradReesWork
    • Switch language from None to &quot;en&quot; in docs build (#2368) @galipremsagar
    • Doxygen improvements to improve documentation of C API (#2355) @ChuckHastings
    • Update multi-GPU example to include data generation (#2345) @charlesbluca

    🚀 New Features

    • Cost Matrix first version (#2377) @acostadon

    🛠️ Improvements

    • Pin dask & distributed for release (#2478) @galipremsagar
    • Update PageRank to leverage pylibcugraph (#2467) @jnke2016
    • Change default return type PropertyGraph.extract_subgraph() -&gt; cugraph.Graph(directed=True) (#2460) @eriknw
    • Updates to Link Notebooks (#2456) @acostadon
    • Only build cugraphmgtestutil when requested (#2454) @robertmaynard
    • Datasets API Update: Add Extra Params and Improve Testing (#2453) @oorliu
    • Uniform neighbor sample (#2450) @VibhuJawa
    • Don't store redundant columns in PropertyGraph Dataframes (#2449) @eriknw
    • Changes to Cores, components and layout notebooks (#2448) @acostadon
    • Added get_vertex_data() and get_edge_data() to SG/MG PropertyGraph (#2444) @rlratzel
    • Remove OpenMP dependencies from CMake (#2443) @seunghwak
    • Use Datasets API to Update Notebook Examples (#2440) @oorliu
    • Refactor MG C++ tests (handle initialization) (#2439) @seunghwak
    • Branch 22.08 merge 22.06 (#2436) @rlratzel
    • Add get_num_vertices and get_num_edges methods to PropertyGraph. (#2434) @eriknw
    • Make cuco a private dependency and leverage rapids-cmake (#2432) @vyasr
    • cuGraph code cleanup (#2431) @seunghwak
    • Add core number to the python API (#2414) @jnke2016
    • Enable concurrent broadcasts in update_edge_partition_minor_property() (#2413) @seunghwak
    • Optimize has_duplicate_edges (#2409) @VibhuJawa
    • Define API for MG random walk (#2407) @ChuckHastings
    • Support building without cugraph-ops (#2405) @ChuckHastings
    • Clean up public api (#2398) @ChuckHastings
    • Community notebook updates structure/testing/improvement (#2397) @acostadon
    • Run relevant CI tests based on what's changed in the ChangeList (#2396) @anandhkb
    • Update Graph to store a Pylibcugraph Graph (SG/MG Graph) (#2394) @alexbarghi-nv
    • Moving Centrality notebooks to new structure and updating/testing (#2388) @acostadon
    • Add conda compilers to env file (#2384) @vyasr
    • Add get_node_storage and get_edge_storage to CuGraphStorage (#2381) @VibhuJawa
    • Pin max version of cuda-python to 11.7.0 (#2380) @Ethyling
    • Update cugraph python build (#2378) @jnke2016
    • Delete old nbr sampling software (#2371) @ChuckHastings
    • Add datasets API to import graph data from configuration/metadata files (#2367) @betochimas
    • Skip reduction for zero (in|out-)degree vertices. (#2365) @seunghwak
    • Update Python version support. (#2363) @bdice
    • Branch 22.08 merge 22.06 (#2362) @rlratzel
    • Support raft updating to new version of cuco (#2360) @ChuckHastings
    • Branch 22.08 merge 22.06 (#2359) @rlratzel
    • Remove topology header (#2357) @ChuckHastings
    • Switch back to PC generator (#2356) @ChuckHastings
    • Remove GraphCSC/GraphCSCView object, no longer used (#2354) @ChuckHastings
    • Resolve Forward merging of branch-22.06 into branch-22.08 (#2350) @jnke2016
    • Replace raw pointers with device_span in induced subgraph (#2348) @yang-hu-nv
    • Some legacy BFS cleanup (#2347) @ChuckHastings
    • Remove legacy sssp implementation (#2344) @ChuckHastings
    • Unpin dask & distributed for development (#2342) @galipremsagar
    • Release notebook: Nx Generators & Adding Perf_counter (#2341) @oorliu
    • Clean up some unused code in the C API (and beyond) (#2339) @ChuckHastings
    • Add core number to the C API (#2338) @betochimas
    • Update the list of algos to benchmark (#2337) @jnke2016
    • Default GPU_COUNT to 1 in cmake file (#2336) @ChuckHastings
    • DOC Fix for Renumber-2.ipynb (#2335) @oorliu
    • Resolve conflicts for merge from branch-22.06 to branch-22.08 (#2334) @rlratzel
    • update versions to 22.08 (#2332) @ChuckHastings
    • Fix experimental labels (#2331) @alexbarghi-nv
    • Performance-optimize storing edge partition source/destination properties in (key, value) pairs (#2328) @seunghwak
    • Remove legacy katz (#2324) @ChuckHastings
    • Add missing Thrust includes (#2310) @bdice
    Source code(tar.gz)
    Source code(zip)
  • v22.06.01(Jul 12, 2022)

  • v22.06.00(Jun 7, 2022)

    🚨 Breaking Changes

    • Fix uniform neighborhood sampling remove duplicates (#2301) @ChuckHastings
    • Split update_v_frontier_from_outgoing_e to two simpler primitives (#2290) @seunghwak
    • Refactor MG neighborhood sampling and add SG implementation (#2285) @jnke2016
    • Resolve inconsistencies in reduction support in primitives (#2257) @seunghwak
    • Revert SG Katz API's signature to previous <22.04 version (#2242) @betochimas
    • Rename primitive functions. (#2234) @seunghwak
    • Graph primitives API updates (#2220) @seunghwak
    • Add Katz Centrality to pylibcugraph, refactor Katz Centrality for cugraph (#2201) @betochimas
    • Update graph/graph primitives API to consistently use vertex/edge centric terminologies instead of matrix centric terminolgies (#2187) @seunghwak
    • Define C API for eigenvector centrality (#2180) @ChuckHastings

    🐛 Bug Fixes

    • fix sampling handling of dscr region (#2321) @ChuckHastings
    • Add test to reproduce issue with double weights, fix issue (graph cre… (#2305) @ChuckHastings
    • Fix MG BFS through C API (#2291) @ChuckHastings
    • fixes BUG 2275 (#2279) @BradReesWork
    • Refactored SG hits and MG katz_centrality (#2276) @betochimas
    • Multi-GPU reduce_v & transform_reduce_v bug fix. (#2269) @seunghwak
    • Update BFS and SSSP to check start/source vertex for validity (#2268) @alexbarghi-nv
    • Update some clustering algos to only support undirected graphs (#2267) @jnke2016
    • Resolves maximum spanning tree bug when using Edgelist instead of Adjlist (#2256) @betochimas
    • cudf moved the default_hash into the cudf::detail namespace (#2244) @ChuckHastings
    • Allow cugraph to be imported in an SG env for SG algorithms (#2241) @betochimas
    • Address some MNMG issues in cython.cu (#2224) @ChuckHastings
    • Fix error from two conflicting merges (#2219) @ChuckHastings
    • Branch 22.06 MNMG bug work and support for Undirected Graphs (#2215) @acostadon
    • Branch 22.06 merge 22.04 (#2190) @rlratzel

    📖 Documentation

    • Fix BFS Docstring (#2318) @alexbarghi-nv
    • small typo (#2250) @hoosierEE
    • Updating issue template and missing docs (#2211) @BradReesWork
    • Python code cleanup across docs, wrappers, testing (#2194) @betochimas

    🚀 New Features

    • Multi GPU Property Graph with basic creation support (#2286) @acostadon
    • Triangle Counting (#2253) @seunghwak
    • Triangle Counts C++ API (#2233) @seunghwak
    • Define C API for eigenvector centrality (#2180) @ChuckHastings

    🛠️ Improvements

    • Pin dask and distributed for release (#2317) @galipremsagar
    • Pin dask & distributed for release (#2312) @galipremsagar
    • Triangle counting C API implementation (#2302) @ChuckHastings
    • Fix uniform neighborhood sampling remove duplicates (#2301) @ChuckHastings
    • Migrate SG and MG SSSP to pylibcugraph (#2295) @alexbarghi-nv
    • Add Louvain to the C API (#2292) @ChuckHastings
    • Split update_v_frontier_from_outgoing_e to two simpler primitives (#2290) @seunghwak
    • Add and test mechanism for creating graph with edge index as weight (#2288) @ChuckHastings
    • Implement eigenvector centrality (#2287) @ChuckHastings
    • Refactor MG neighborhood sampling and add SG implementation (#2285) @jnke2016
    • Migrate SG and MG BFS to pylibcugraph (#2284) @alexbarghi-nv
    • Optimize Sampling for graph_store (#2283) @VibhuJawa
    • Refactor mg symmetrize tests (#2278) @jnke2016
    • Add do_expensive_check to graph primitives (#2274) @seunghwak
    • add bindings for triangle counting (#2273) @jnke2016
    • Define triangle_count C API (#2271) @ChuckHastings
    • Revert old pattern of SG cugraph testing for CI purposes (#2262) @betochimas
    • Branch 22.06 bug fixes + update imports (#2261) @betochimas
    • Raft RNG updated API (#2260) @MatthiasKohl
    • Add Degree Centrality to cugraph (#2259) @betochimas
    • Refactor Uniform Neighborhood Sampling (#2258) @ChuckHastings
    • Resolve inconsistencies in reduction support in primitives (#2257) @seunghwak
    • Add Eigenvector Centrality to pylibcugraph, cugraph APIs (#2255) @betochimas
    • Add MG Hits and MG Neighborhood_sampling to benchmarks (#2254) @jnke2016
    • Undirected graph support for MG graphs (#2247) @jnke2016
    • Branch 22.06 bugs (#2245) @BradReesWork
    • Revert SG Katz API's signature to previous <22.04 version (#2242) @betochimas
    • add API for the new uniform neighborhood sampling (#2236) @ChuckHastings
    • Reverting raft pinned tag (#2235) @cjnolet
    • Rename primitive functions. (#2234) @seunghwak
    • Moves pylibcugraph APIS from 22.04 and earlier out of experimental namespace (#2232) @betochimas
    • Use conda to build python packages during GPU tests (#2230) @Ethyling
    • Fix typos in documentation (#2225) @seunghwak
    • Update CMake pinning to allow newer CMake versions. (#2221) @vyasr
    • Graph primitives API updates (#2220) @seunghwak
    • Enable MG support for small datasets (#2216) @jnke2016
    • Unpin dask & distributed for devlopment (#2214) @galipremsagar
    • updated MG Test code to not use DiGraph (#2213) @BradReesWork
    • renaming detail space functions (#2212) @seunghwak
    • Make diagram and caption consistent in Pagerank.ipynb (#2207) @charlesbluca
    • Add Katz Centrality to pylibcugraph, refactor Katz Centrality for cugraph (#2201) @betochimas
    • Resolve Forward merging of branch-22.04 into branch-22.06 (#2197) @jnke2016
    • Add Katz Centrality to the C API (#2192) @ChuckHastings
    • Update graph/graph primitives API to consistently use vertex/edge centric terminologies instead of matrix centric terminolgies (#2187) @seunghwak
    • Labeling algorithm updates for C API (#2185) @ChuckHastings
    • Added GraphStore Function (#2183) @wangxiaoyunNV
    • Enable building static libs (#2179) @trxcllnt
    • Fix merge conflicts (#2155) @ajschmidt8
    • Remove unused code (gunrock HITS) (#2152) @seunghwak
    • Turn off cuco dependency in RAFT. Re-establish explicit cuco and libcuxx cmake dependencies (#2132) @cjnolet
    • Consolidate C++ conda recipes and add libcugraph-tests package (#2124) @Ethyling
    • Use conda compilers (#2101) @Ethyling
    • Use mamba to build packages (#2051) @Ethyling
    Source code(tar.gz)
    Source code(zip)
  • v22.04.00(Apr 6, 2022)

    🚨 Breaking Changes

    • Remove major/minor from renumber_edgelist public functions. (#2116) @seunghwak
    • Add MG support to the C API (#2110) @ChuckHastings
    • Graph prmitives API update (#2100) @seunghwak
    • Reduce peak memory requirement in graph creation (part 1/2) (#2070) @seunghwak

    🐛 Bug Fixes

    • Pin cmake in conda recipe to <3.23 (#2176) @dantegd
    • Remove unused cython code referencing RAFT APIs that are no longer present (#2125) @rlratzel
    • Add pylibcugraph as a run dep to the cugraph conda package (#2121) @rlratzel
    • update_frontier_v_push_if_out_nbr C++ test bug fix (#2097) @seunghwak
    • extract_if_e bug fix. (#2096) @seunghwak
    • Fix bug Random Walk in array sizes (#2089) @ChuckHastings
    • Coarsening symmetric graphs leads to slightly asymmetric edge weights (#2080) @seunghwak
    • Skips ktruss docstring example for CUDA version 11.4 (#2074) @betochimas
    • Branch 22.04 merge 22.02 (#2072) @rlratzel
    • MG Louvain C++ test R-mat usecase parameters (#2061) @seunghwak
    • Updates to enable NumberMap to generate unique src/dst column names (#2050) @rlratzel
    • Allow class types to be properly represented in the experimental_warning_wrapper() return value (#2048) @rlratzel
    • Improve MG graph creation (#2044) @seunghwak

    📖 Documentation

    • 22.04 Update docs (#2171) @BradReesWork
    • Corrected image in Hits notebook so right node was highlighted. Issue 2079 (#2106) @acostadon
    • API Doc Namespace Edits + SimpleGraphImpl methods (#2086) @betochimas

    🚀 New Features

    • Gather one hop neighbors (#2117) @kaatish
    • Define the uniform neighbor sampling C API (#2112) @ChuckHastings
    • Add node2vec wrapper to cugraph (#2093) @betochimas
    • Add node2vec wrappers to pylibcugraph (#2085) @betochimas
    • Multi gpu sample edges utilities (#2064) @kaatish
    • add libcugraphops as a dependency of cugraph (#2019) @MatthiasKohl

    🛠️ Improvements

    • Updated random_walk_benchmark notebook for API change in cudf (#2164) @mmccarty
    • Neighborhood sampling C API implementation (#2156) @ChuckHastings
    • Enhancement on uniform random sampling of indices near zero. (#2153) @aschaffer
    • Temporarily disable new ops-bot functionality (#2151) @ajschmidt8
    • HITS C API implementation (#2150) @ChuckHastings
    • Use rapids_find_package to get cugraph-ops (#2148) @trxcllnt
    • Pin dask and distributed versions (#2147) @galipremsagar
    • Pin gtest/gmock to 1.10.0 in dev envs (#2127) @trxcllnt
    • Add HITS to the C API (#2123) @ChuckHastings
    • node2vec Python wrapper API changes and refactoring, with improved testing coverage (#2120) @betochimas
    • Add MG neighborhood sampling to pylibcugraph & cugraph APIs (#2118) @betochimas
    • Remove major/minor from renumber_edgelist public functions. (#2116) @seunghwak
    • Upgrade dask and distributed (#2115) @galipremsagar
    • Remove references to gmock (#2114) @ChuckHastings
    • Add .github/ops-bot.yaml config file (#2111) @ajschmidt8
    • Add MG support to the C API (#2110) @ChuckHastings
    • Graph prmitives API update (#2100) @seunghwak
    • Nx compatibility based on making Graph subclass and calling Cugraph algos (#2099) @acostadon
    • Fix cugraph-ops header names (#2095) @kaatish
    • Updating a few headers that have been renamed in raft (#2090) @cjnolet
    • Add MG wrapper for HITS (#2088) @jnke2016
    • Automatically clone raft when the raft pinned tag changes (#2087) @cjnolet
    • updated release performance notebook to also measure using Nx as imput (#2083) @BradReesWork
    • Reduce peak memory requirement in graph creation (part 2/2) (#2081) @seunghwak
    • C API code cleanup (#2077) @ChuckHastings
    • Remove usage of RAFT memory management (#2076) @viclafargue
    • MNMG Neighborhood Sampling (#2073) @aschaffer
    • Allow PropertyGraph default_edge_weight to be used to add an edge weight value on extracted Graphs even when a weight property wasn't specified (#2071) @rlratzel
    • Reduce peak memory requirement in graph creation (part 1/2) (#2070) @seunghwak
    • add node2vec C API implementation (#2069) @ChuckHastings
    • Fixing cugraph for RAFT spectral/lap API changes (#2067) @cjnolet
    • remove unused spmv functions (#2066) @ChuckHastings
    • Improve MG Louvain scalability (#2062) @seunghwak
    • Added pylibcugraph utility for setting up return array values (#2060) @rlratzel
    • Add node2vec to C API - API PR (#2059) @ChuckHastings
    • Add CMake install rules for tests (#2057) @ajschmidt8
    • PropertyGraph updates: added features for DGL, improved extract_subgraph() and num_vertices performance (#2056) @rlratzel
    • Update C++ SG and MG Louvain tests to support Rmat and benchmark tests (#2054) @ChuckHastings
    • Unpin max dask and distributed versions (#2053) @galipremsagar
    • Removal of remaining DiGraph Python mentions (#2049) @betochimas
    • Dgl graph store (#2046) @BradReesWork
    • replace ccache with sccache (#2045) @AyodeAwe
    • Fix Merge Conflicts for 2024 (#2040) @ajschmidt8
    • Improve MG PageRank scalability (#2038) @seunghwak
    • Created initial list of simple Graph creation tests for nx compatibility (#2035) @acostadon
    • neighbor sampling in COO/CSR format (#1982) @MatthiasKohl
    Source code(tar.gz)
    Source code(zip)
  • v22.02.00(Feb 2, 2022)

    🐛 Bug Fixes

    • Always upload libcugraph (#2041) @raydouglass
    • Fix Louvain hang in multi-GPU testing (#2028) @seunghwak
    • fix bug when calculating the number of vertices (#1992) @jnke2016
    • update cuda 11.5 configuration to use clang format 11.1.0 (#1990) @ChuckHastings
    • Update version in libcugraph_etl CMakeLists.txt to 22.02.00 to match libcugraph (#1966) @rlratzel

    📖 Documentation

    • Initial automated doctest, all current examples now pass, other documentation edits (#2014) @betochimas
    • Fix README example (#1981) @gitbuda

    🚀 New Features

    • Add SSSP API, test and implementation (#2016) @ChuckHastings
    • Propose extract_bfs_paths C API (#1955) @ChuckHastings

    🛠️ Improvements

    • Do not build CUDA libs in Python jobs (#2039) @Ethyling
    • updated for release 22.02 (#2034) @BradReesWork
    • Fix raft git ref (#2032) @Ethyling
    • Pin dask & distributed (#2031) @galipremsagar
    • Fix build script (#2029) @Ethyling
    • Prepare upload scripts for Python 3.7 removal (#2027) @Ethyling
    • Python API updates to enable explicit control of internal graph_t creation and deletion (#2023) @rlratzel
    • Updated build.sh help text and test execution steps in SOURCEBUILD.md (#2020) @acostadon
    • Removed unused CI files (#2017) @rlratzel
    • Unpin dask and distributed (#2010) @galipremsagar
    • Fix call to getDeviceAttribute following API change in RMM. (#2008) @shwina
    • drop fa2 cpu code (#2007) @BradReesWork
    • Branch 22.02 merge 21.12 (#2002) @rlratzel
    • Update references to CHECK_CUDA, CUDA_CHECK and CUDA_TRY to use new RAFT_ names (#2000) @ChuckHastings
    • Initial PropertyGraph implementation and tests (#1999) @rlratzel
    • Fix optional and cstddef includes (#1998) @gitbuda
    • Add optimized 2x string column renumbering code (#1996) @chirayuG-nvidia
    • Pass RMM memory allocator to cuco (#1994) @seunghwak
    • Add missing imports tests (#1993) @Ethyling
    • Update ucx-py version on release using rvc (#1991) @Ethyling
    • make C++ tests run faster (fewer tests) (#1989) @ChuckHastings
    • Update the update_frontier_v_push_if_out_nbr primitive & BFS performance (#1988) @seunghwak
    • Remove IncludeCategories from .clang-format (#1987) @codereport
    • Update frontier v push if out nbr prim test (#1985) @kaatish
    • Pass stream to cuco::static_map (#1984) @seunghwak
    • Shutdown the connected scheduler and workers (#1980) @jnke2016
    • Use CUB 1.15.0's new segmented sort (#1977) @seunghwak
    • Improve consistency in C++ test case names and add R-mat tests to graph coarsening (#1976) @seunghwak
    • 22.02 dep fix (#1974) @BradReesWork
    • Extract paths C API implementation (#1973) @ChuckHastings
    • Add rmat tests to Louvain C++ unit tests (#1971) @ChuckHastings
    • Branch 22.02 merge 21.12 (#1965) @rlratzel
    • Update to UCX-Py 0.24 (#1962) @pentschev
    • add rmm pool option for SNMG runs (#1957) @jnke2016
    • Branch 22.02 merge 21.12 (#1953) @rlratzel
    • Update probability params for RMAT call to match Graph500 (#1952) @rlratzel
    • Fix the difference in 2D partitioning of GPUs in python and C++ (#1950) @seunghwak
    • Raft Handle Updates to cuGraph (#1894) @divyegala
    • Remove FAISS dependency, inherit other common dependencies from raft (#1863) @trxcllnt
    Source code(tar.gz)
    Source code(zip)
  • v21.12.00(Dec 8, 2021)

    🚨 Breaking Changes

    • Disable HITS and setup 11.5 env (#1930) @BradReesWork

    🐛 Bug Fixes

    • Updates to libcugraph_etl conda recipe for CUDA Enhanced Compatibility (#1968) @rlratzel
    • Enforce renumbering for MNMG algos (#1943) @jnke2016
    • Bug fix in the R-mat generator (#1929) @seunghwak
    • Updates to support correct comparisons of cuDF Series with different names (#1928) @rlratzel
    • Updated error message and using a proper TypeError exception when an invalid MultiGraph is passed in (#1925) @rlratzel
    • Update calls to cuDF Series ctors, bug fix to cugraph.subgraph() for handling non-renumbered Graphs (#1901) @rlratzel
    • Fix MG test bug (#1897) @seunghwak
    • Temporary workaround for CI issues with 11.0 (#1883) @ChuckHastings
    • Ensuring dask workers are using local space (#1879) @jnke2016
    • Disable WCC test until we get get on an A100 to debug on (#1870) @ChuckHastings

    ?? Documentation

    • Enable crosslink to rmm (#1918) @AyodeAwe

    🚀 New Features

    • C API Create Graph Implementation (#1940) @ChuckHastings
    • Count self-loops and multi-edges (#1939) @seunghwak
    • Add a new graph primitive to filter edges (extract_if_e) (#1938) @seunghwak
    • Add options to drop self-loops & multi_edges in C++ test graph generation (#1934) @seunghwak
    • K-core implementation for undirected graphs (#1933) @seunghwak
    • K-core decomposition API update (#1924) @seunghwak
    • Transpose (#1834) @seunghwak
    • Symmetrize (#1833) @seunghwak

    🛠️ Improvements

    • Fix Changelog Merge Conflicts for branch-21.12 (#1960) @ajschmidt8
    • Pin max dask & distributed to 2021.11.2 (#1958) @galipremsagar
    • Explicitly install cusolver version with the correct ABI version (#1954) @robertmaynard
    • Upgrade clang to 11.1.0 (#1949) @galipremsagar
    • cugraph bring in the same cuco as raft and cudf (#1945) @robertmaynard
    • Re-enable HITS in the python API using the new primitive-based implementation (#1941) @rlratzel
    • Accounting for raft::random detail changes (#1937) @divyegala
    • Use collections.abc.Sequence instead of deprecated collections.Sequence. (#1932) @bdice
    • Update rapids-cmake to 21.12 (#1931) @dantegd
    • Disable HITS and setup 11.5 env (#1930) @BradReesWork
    • add new demo notebook for louvain (#1927) @ChuckHastings
    • Ensure empty shuffled columns have the appropriate dtype (#1926) @jnke2016
    • improved Nx conversion performance (#1921) @BradReesWork
    • Fix metadata mismatch (#1920) @jnke2016
    • Additional improvements to support (key, value) pairs when E/V is small and P is large (#1919) @seunghwak
    • Remove unnecessary host barrier synchronization (#1917) @seunghwak
    • Reduce MNMG memory requirements (#1916) @seunghwak
    • Added separate helpers for moving buffers to either cudf column and series objects (#1915) @rlratzel
    • C API for creating a graph (#1907) @ChuckHastings
    • Add raft ops for reduce_v and transform_reduce_v (#1902) @kaatish
    • Store benchmark results in json files (#1900) @jnke2016
    • HITS primitive based implementation (#1898) @kaatish
    • Update to UCX-Py 0.23 (#1895) @Ethyling
    • Updating WCC/SCC notebook (#1893) @BradReesWork
    • Update input argument check for graph_t constructor and remove expensive input argument check for graph_view_t (#1890) @seunghwak
    • Update conda recipes for Enhanced Compatibility effort (#1889) @ajschmidt8
    • Minor code clean-up (#1888) @seunghwak
    • Sort local neighbors in the graph adjacency list. (#1886) @seunghwak
    • initial creation of libcugraph_etl.so (#1885) @ChuckHastings
    • Fixing Nx and Graph/DiGraph issues (#1882) @BradReesWork
    • Remove unnecessary explicit template instantiation (#1878) @seunghwak
    • node2vec Sampling Implementation (#1875) @aschaffer
    • update docstring and examples (#1866) @jnke2016
    • Copy v transform reduce out test (#1856) @kaatish
    • Unpin dask & distributed (#1849) @galipremsagar
    • Fix automerger for branch-21.12 (#1848) @galipremsagar
    • Extract BFS paths SG implementation (#1838) @ChuckHastings
    • Initial cuGraph C API - biased RW, C tests, script updates, cmake files, C library helpers (#1799) @aschaffer
    Source code(tar.gz)
    Source code(zip)
  • v21.10.00(Oct 6, 2021)

    🚨 Breaking Changes

    • remove tsp implementation from 21.10 (#1812) @ChuckHastings
    • multi seeds BFS with one seed per component (#1591) @afender

    🐛 Bug Fixes

    • make_zip_iterator should be on a make_tuple (#1857) @ChuckHastings
    • Removed NetworkX requirement for type checks, fixed docstring, added new docstrings, import cleanups (#1853) @rlratzel
    • Temporarily disable input argument checks for a currently disabled feature (#1840) @seunghwak
    • Changed value of the expensive check param to false in populate_graph_container (#1839) @rlratzel
    • Accommodate cudf change to is_string_dtype method (#1827) @ChuckHastings
    • Changed code to disable k_truss on CUDA 11.4 differently (#1811) @rlratzel
    • Clean-up artifacts from the multi-source BFS PR (#1591) (#1804) @seunghwak
    • MG WCC bug fix (#1802) @seunghwak
    • Fix MG Louvain test compile errors (#1797) @seunghwak
    • force_atlas2 to support nx hypercube_graph (#1779) @jnke2016
    • Bug louvain reverted fix (#1766) @ChuckHastings
    • Bug dask cudf personalization (#1764) @Iroy30

    📖 Documentation

    • updated to new doc theme (#1793) @BradReesWork
    • Change python docs to pydata theme (#1785) @galipremsagar
    • Initial doc update for running the python E2E benchmarks in a MNMG environment. (#1781) @rlratzel

    🚀 New Features

    • C++ benchmarking for additional algorithms (#1762) @seunghwak

    🛠️ Improvements

    • Updating cuco to latest (#1859) @BradReesWork
    • fix benchmark exit status (#1850) @jnke2016
    • add try/catch for python-louvain (#1842) @BradReesWork
    • Pin max dask and distributed versions to 2021.09.1 (#1841) @galipremsagar
    • add compiler version checks to cmake to fail early (#1836) @ChuckHastings
    • Make sure we keep the rapids-cmake and cugraph cal version in sync (#1830) @robertmaynard
    • Remove obsolete file (#1829) @ChuckHastings
    • Improve memory scaling for low average vertex degree graphs & many GPUs (#1823) @seunghwak
    • Added the reduction op input parameter to host_scalar_(all)reduce utility functions. (#1822) @seunghwak
    • Count if e test (#1821) @kaatish
    • Added Sorensen algorithm to Python API (#1820) @jnke2016
    • Updated to enforce only supported dtypes, changed to use legacy connected_components API (#1817) @rlratzel
    • Group return values of renumber_edgelist and input parameters of graph_t & graph_view_t constructors. (#1816) @seunghwak
    • remove tsp implementation from 21.10 (#1812) @ChuckHastings
    • Changed pylibcugraph connected_components APIs to use duck typing for CAI inputs, added doc placeholders (#1810) @rlratzel
    • Add new new raft symlink path to .gitignore (#1808) @trxcllnt
    • Initial version of pylibcugraph conda package and CI build script updates (#1806) @rlratzel
    • Also building cpp MG tests as part of conda/CI libcugraph builds (#1805) @rlratzel
    • Split many files to separate SG from MG template instantiations (#1803) @ChuckHastings
    • Graph primitives memory scaling improvements for low average vertex degree graphs and many GPUs (Part 1) (#1801) @seunghwak
    • Pylibcugraph connected components (#1800) @Iroy30
    • Transform Reduce E test (#1798) @kaatish
    • Update with rapids cmake new features (#1790) @robertmaynard
    • Update thrust/RMM deprecated calls (#1789) @dantegd
    • Update UCX-Py to 0.22 (#1788) @pentschev
    • Initial version of pylibcugraph source tree and build script updates (#1787) @rlratzel
    • Fix Forward-Merge Conflicts (#1786) @ajschmidt8
    • add conda environment for CUDA 11.4 (#1784) @seunghwak
    • Temporarily pin RMM while refactor removes deprecated calls (#1775) @dantegd
    • MNMG memory footprint improvement for low average vertex degree graphs (part 2) (#1774) @seunghwak
    • Fix unused variables/parameters warnings (#1772) @seunghwak
    • MNMG memory footprint improvement for low average vertex degree graphs (part 1) (#1769) @seunghwak
    • Transform reduce v test (#1768) @kaatish
    • Move experimental source files and a few implementation headers (#1763) @ChuckHastings
    • updating notebooks (#1761) @BradReesWork
    • consolidate tests to use the fixture dask_client (#1758) @jnke2016
    • Move all new graph objects out of experimental namespace (#1757) @ChuckHastings
    • C++ benchmarking for MG PageRank (#1755) @seunghwak
    • Move legacy implementations into legacy directories (#1752) @ChuckHastings
    • Remove hardcoded Pagerank dtype (#1751) @jnke2016
    • Add python end to end benchmark and create new directories (#1750) @jnke2016
    • Modify MNMG louvain to support an empty vertex partition (#1744) @ChuckHastings
    • Fea renumbering test (#1742) @ChuckHastings
    • Fix auto-merger for Branch 21.10 coming from 21.08 (#1740) @galipremsagar
    • Use the new RAPIDS.cmake to fetch rapids-cmake (#1734) @robertmaynard
    • Biased Random Walks for GNN (#1732) @aschaffer
    • Updated MG python tests to run in single and multi-node environments (#1731) @rlratzel
    • ENH Replace gpuci_conda_retry with gpuci_mamba_retry (#1720) @dillon-cullinan
    • Apply modifications to account for RAFT changes (#1707) @viclafargue
    • multi seeds BFS with one seed per component (#1591) @afender
    Source code(tar.gz)
    Source code(zip)
  • v21.08.04(Sep 16, 2021)

  • v21.08.03(Aug 17, 2021)

  • v21.08.02(Aug 16, 2021)

  • v21.08.01(Aug 6, 2021)

  • v21.08.00(Aug 4, 2021)

    🚨 Breaking Changes

    • Removed depricated code (#1705) @BradReesWork
    • Delete legacy renumbering implementation (#1681) @ChuckHastings
    • Migrate old graph to legacy directory/namespace (#1675) @ChuckHastings

    🐛 Bug Fixes

    • Changed cuco cmake function to return early if cuco has already been added as a target (#1746) @rlratzel
    • revert cuco to latest dev branch, issues should be fixed (#1721) @ChuckHastings
    • Fix conda uploads (#1712) @ajschmidt8
    • Updated for CUDA-specific py packages (#1709) @rlratzel
    • Use library_dirs for cython linking, link cudatoolkit libs, allow setting UCX install location (#1698) @trxcllnt
    • Fix the Louvain failure with 64 bit vertex IDs (#1696) @seunghwak
    • Use nested include in destination of install headers to avoid docker permission issues (#1656) @dantegd
    • Added accidentally-removed cpp-mgtests target back to the valid args list (#1652) @rlratzel
    • Update UCX-Py version to 0.21 (#1650) @pentschev

    📖 Documentation

    • Docs for RMAT (#1735) @BradReesWork
    • Doc updates (#1719) @BradReesWork

    🚀 New Features

    • Fea cleanup stream part1 (#1653) @ChuckHastings

    🛠️ Improvements

    • Pinning cuco to a specific commit hash for release (#1741) @rlratzel
    • Pin max version for dask & distributed (#1736) @galipremsagar
    • Fix libfaiss dependency to not expressly depend on conda-forge (#1728) @Ethyling
    • Fix MG_test bug (#1718) @jnke2016
    • Cascaded dispatch for type-erased API (#1711) @aschaffer
    • ReduceV test (#1710) @kaatish
    • Removed depricated code (#1705) @BradReesWork
    • Delete unused/out-dated primitives (#1704) @seunghwak
    • Update primitives to support DCSR (DCSC) segments (Part 2/2) (#1703) @seunghwak
    • Fea speedup compile (#1702) @ChuckHastings
    • Update conda environment name for CI (#1699) @ajschmidt8
    • Count if test (#1697) @kaatish
    • replace cudf assert_eq (#1693) @jnke2016
    • Fix int64 vertex_t (#1691) @Iroy30
    • Update primitives to support DCSR (DCSC) segments (Part 1) (#1690) @seunghwak
    • remove hardcoded dtype (#1689) @Iroy30
    • Updating Clang Version to 11.0.0 (#1688) @codereport
    • CHECK_CUDA macros in debug builds (#1687) @trxcllnt
    • fixing symmetrize_ddf (#1686) @jnke2016
    • Improve Random Walks performance (#1685) @aschaffer
    • Use the 21.08 branch of rapids-cmake as rmm requires it (#1683) @robertmaynard
    • Delete legacy renumbering implementation (#1681) @ChuckHastings
    • Fix vertex partition offsets (#1680) @Iroy30
    • Ues std::optional (or thrust::optional) for optional parameters & first part of DCSR (DCSC) implementation. (#1676) @seunghwak
    • Migrate old graph to legacy directory/namespace (#1675) @ChuckHastings
    • Expose epsilon parameter (precision) through python layer (#1674) @ChuckHastings
    • Fea hungarian expose precision (#1673) @ChuckHastings
    • Branch 21.08 merge 21.06 (#1672) @BradReesWork
    • Update pins to Dask/Distributed >= 2021.6.0 (#1666) @pentschev
    • Fix conflicts in 1643 (#1651) @ajschmidt8
    • Rename include/cugraph/patterns to include/cugraph/prims (#1644) @seunghwak
    • Fix merge conflicts in 1631 (#1639) @ajschmidt8
    • Update to changed rmm::device_scalar API (#1637) @harrism
    • Fix merge conflicts (#1614) @ajschmidt8
    Source code(tar.gz)
    Source code(zip)
  • v21.06.00(Jun 9, 2021)

    🐛 Bug Fixes

    • Delete CUDA_ARCHITECTURES=OFF (#1638) @seunghwak
    • transform_reduce_e bug fixes (#1633) @ChuckHastings
    • Correct install path for include folder to avoid double nesting (#1630) @dantegd
    • Remove thread local thrust::sort (thrust::sort with the execution policy thrust::seq) from copy_v_transform_reduce_key_aggregated_out_nbr (#1627) @seunghwak

    🚀 New Features

    • SG & MG Weakly Connected Components (#1604) @seunghwak

    🛠️ Improvements

    • Remove Pascal guard and test cuGraph use of cuco::static_map on Pascal (#1640) @seunghwak
    • Upgraded recipe and dev envs to NCCL 2.9.9 (#1636) @rlratzel
    • Use UCX-Py 0.20 (#1634) @jakirkham
    • Updated dependencies for CalVer (#1629) @rlratzel
    • MG WCC improvements (#1628) @seunghwak
    • Initialize force_atlas2 old_forces device_uvector, use new rmm::exec_policy (#1625) @trxcllnt
    • Fix developer guide examples for device_buffer (#1619) @harrism
    • Pass rmm memory allocator to cuco::static_map (#1617) @seunghwak
    • Undo disabling MG C++ testing outputs for non-root processes (#1615) @seunghwak
    • WCC bindings (#1612) @Iroy30
    • address 'ValueError: Series contains NULL values' from from_cudf_edge… (#1610) @mattf
    • Fea rmm device buffer change (#1609) @ChuckHastings
    • Update CHANGELOG.md links for calver (#1608) @ajschmidt8
    • Handle int64 in force atlas wrapper and update to uvector (#1607) @hlinsen
    • Update docs build script (#1606) @ajschmidt8
    • WCC performance/memory footprint optimization (#1605) @seunghwak
    • adding test graphs - part 2 (#1603) @ChuckHastings
    • Update the Random Walk binding (#1599) @Iroy30
    • Add mnmg out degree (#1592) @Iroy30
    • Update cugraph to with newest CMake features, including CPM for dependencies (#1585) @robertmaynard
    • Implement Graph Batching functionality (#1580) @aschaffer
    • add multi-column support in algorithms - part 2 (#1571) @Iroy30
    Source code(tar.gz)
    Source code(zip)
  • v0.19.0(Apr 21, 2021)

    🐛 Bug Fixes

    • Fixed copyright date and format (#1526) @rlratzel
    • fix mg_renumber non-deterministic errors (#1523) @Iroy30
    • Updated NetworkX version to 2.5.1 (#1510) @rlratzel
    • pascal renumbering fix (#1505) @Iroy30
    • Fix MNMG test failures and skip tests that are not supported on Pascal (#1498) @jnke2016
    • Revert "Update conda recipes pinning of repo dependencies" (#1493) @raydouglass
    • Update conda recipes pinning of repo dependencies (#1485) @mike-wendt
    • Update to make notebook_list.py compatible with numba 0.53 (#1455) @rlratzel
    • Fix bugs in copy_v_transform_reduce_key_aggregated_out_nbr & groupby_gpuid_and_shuffle (#1434) @seunghwak
    • update default path of setup to use the new directory paths in build … (#1425) @ChuckHastings

    📖 Documentation

    • Create C++ documentation (#1489) @ChuckHastings
    • Create cuGraph developers guide (#1431) @ChuckHastings
    • Add boost 1.0 license file. (#1401) @seunghwak

    🚀 New Features

    • Implement C/CUDA RandomWalks functionality (#1439) @aschaffer
    • Add R-mat generator (#1411) @seunghwak

    🛠️ Improvements

    • Random Walks - Python Bindings (#1516) @jnke2016
    • Updating RAFT tag (#1509) @afender
    • Clean up nullptr cuda_stream_view arguments (#1504) @hlinsen
    • Reduce the size of the cugraph libraries (#1503) @robertmaynard
    • Add indirection and replace algorithms with new renumbering (#1484) @Iroy30
    • Multiple graph generator with power law distribution on sizes (#1483) @afender
    • TSP solver bug fix (#1480) @hlinsen
    • Added cmake function and .hpp template for generating version_config.hpp file. (#1476) @rlratzel
    • Fix for bug in SCC on self-loops (#1475) @aschaffer
    • MS BFS python APIs + EgoNet updates (#1469) @afender
    • Removed unused dependencies from libcugraph recipe, moved non-test script code from test script to gpu build script (#1468) @rlratzel
    • Remove literals passed to device_uvector::set_element_async (#1453) @harrism
    • ENH Change conda build directories to work with ccache (#1452) @dillon-cullinan
    • Updating docs (#1448) @BradReesWork
    • Improve graph primitives performance on graphs with widely varying vertex degrees (#1447) @seunghwak
    • Update Changelog Link (#1446) @ajschmidt8
    • Updated NCCL to version 2.8.4 (#1445) @BradReesWork
    • Update FAISS to 1.7.0 (#1444) @BradReesWork
    • Update graph partitioning scheme (#1443) @seunghwak
    • Add additional datasets to improve coverage (#1441) @jnke2016
    • Update C++ MG PageRank and SG PageRank, Katz Centrality, BFS, and SSSP to use the new R-mat graph generator (#1438) @seunghwak
    • Remove raft handle duplication (#1436) @Iroy30
    • Streams infra + support in egonet (#1435) @afender
    • Prepare Changelog for Automation (#1433) @ajschmidt8
    • Update 0.18 changelog entry (#1429) @ajschmidt8
    • Update and Test Renumber bindings (#1427) @Iroy30
    • Update Louvain to use new graph primitives and pattern accelerators (#1423) @ChuckHastings
    • Replace rmm::device_vector & thrust::host_vector with rmm::device_uvector & std::vector, respectively. (#1421) @seunghwak
    • Update C++ MG PageRank test (#1419) @seunghwak
    • ENH Build with cmake --build & Pass ccache variables to conda recipe & use Ninja in CI (#1415) @Ethyling
    • Adding new primitives: copy_v_transform_reduce_key_aggregated_out_nbr & transform_reduce_by_adj_matrix_row|col_key_e bug fixes (#1399) @seunghwak
    • Add new primitives: compute_in|out_degrees, compute_in|out_weight_sums to graph_view_t (#1394) @seunghwak
    • Rename sort_and_shuffle to groupby_gpuid_and_shuffle (#1392) @seunghwak
    • Matching updates for RAFT comms updates (device_sendrecv, device_multicast_sendrecv, gather, gatherv) (#1391) @seunghwak
    • Fix forward-merge conflicts for #1370 (#1377) @ajschmidt8
    • Add utility function for computing a secondary cost for BFS and SSSP output (#1376) @hlinsen
    Source code(tar.gz)
    Source code(zip)
  • v0.18.0(Feb 24, 2021)

    Bug Fixes 🐛

    • TSP fix route return (#1412) @hlinsen
    • Updated CI scripts to use a different error handling convention, updated LD_LIBRARY_PATH for project flash runs (#1386) @rlratzel
    • Bug fixes for MNMG coarsen_graph, renumber_edgelist, relabel (#1364) @seunghwak
    • Set a specific known working commit hash for gunrock instead of "dev" (#1336) @rlratzel
    • Updated git utils used by copyright.py for compatibility with current CI env (#1325) @rlratzel
    • Fix MNMG Louvain tests on Pascal architecture (#1322) @ChuckHastings
    • FIX Set bash trap after PATH is updated (#1321) @dillon-cullinan
    • Fix graph nodes function and renumbering from series (#1319) @Iroy30
    • Fix Branch 0.18 merge 0.17 (#1314) @BradReesWork
    • Fix EXPERIMENTAL_LOUVAIN_TEST on Pascal (#1312) @ChuckHastings
    • Updated cuxfilter to 0.18, removed datashader indirect dependency in conda dev .yml files (#1311) @rlratzel
    • Update SG PageRank C++ tests (#1307) @seunghwak

    Documentation 📖

    • Enabled MultiGraph class and tests, updated SOURCEBUILD.md to include the latest build.sh options (#1351) @rlratzel

    New Features 🚀

    • EgoNet (#1365) @afender
    • Implement induced subgraph extraction (SG C++) (#1354) @seunghwak

    Improvements 🛠️

    • Update stale GHA with exemptions & new labels (#1413) @mike-wendt
    • Add GHA to mark issues/prs as stale/rotten (#1408) @Ethyling
    • update subgraph tests and remove legacy pagerank (#1378) @Iroy30
    • Update the conda environments and README file (#1369) @BradReesWork
    • Prepare Changelog for Automation (#1368) @ajschmidt8
    • Update CMakeLists.txt files for consistency with RAPIDS and to support cugraph as an external project and other tech debt removal (#1367) @rlratzel
    • Use new coarsen_graph primitive in Louvain (#1362) @ChuckHastings
    • Added initial infrastructure for MG C++ testing and a Pagerank MG test using it (#1361) @rlratzel
    • Add SG TSP (#1360) @hlinsen
    • Build a Dendrogram class, adapt Louvain/Leiden/ECG to use it (#1359) @ChuckHastings
    • Auto-label PRs based on their content (#1358) @jolorunyomi
    • Implement MNMG Renumber (#1355) @aschaffer
    • Enabling pytest code coverage output by default (#1352) @jnke2016
    • Added configuration for new cugraph-doc-codeowners review group (#1344) @rlratzel
    • API update to match RAFT PR #120 (#1343) @drobison00
    • Pin gunrock to v1.2 for version 0.18 (#1342) @ChuckHastings
    • Fix #1340 - Use generic from_edgelist() methods (#1341) @miguelusque
    • Using RAPIDS_DATASET_ROOT_DIR env var in place of absolute path to datasets in tests (#1337) @jnke2016
    • Expose dense implementation of Hungarian algorithm (#1333) @ChuckHastings
    • SG Pagerank transition (#1332) @Iroy30
    • improving error checking and docs (#1327) @BradReesWork
    • Fix mnmg cleanup exceptions (#1326) @Iroy30
    • Create labeler.yml (#1318) @jolorunyomi
    • Updates to support nightly MG test automation (#1308) @rlratzel
    • Add C++ graph functions (coarsen_grpah, renumber_edgelist, relabel) and primitvies (transform_reduce_by_adj_matrix_row_key, transform_reduce_by_adj_matrix_col_key, copy_v_transform_reduce_key_aggregated_out_nbr) (#1257) @seunghwak
    Source code(tar.gz)
    Source code(zip)
  • v0.19.0a(Apr 23, 2021)

    🔗 Links

    🐛 Bug Fixes

    • Fixed copyright date and format (#1526) @rlratzel
    • fix mg_renumber non-deterministic errors (#1523) @Iroy30
    • Updated NetworkX version to 2.5.1 (#1510) @rlratzel
    • pascal renumbering fix (#1505) @Iroy30
    • Fix MNMG test failures and skip tests that are not supported on Pascal (#1498) @jnke2016
    • Revert "Update conda recipes pinning of repo dependencies" (#1493) @raydouglass
    • Update conda recipes pinning of repo dependencies (#1485) @mike-wendt
    • Update to make notebook_list.py compatible with numba 0.53 (#1455) @rlratzel
    • Fix bugs in copy_v_transform_reduce_key_aggregated_out_nbr & groupby_gpuid_and_shuffle (#1434) @seunghwak
    • update default path of setup to use the new directory paths in build … (#1425) @ChuckHastings

    📖 Documentation

    • Create C++ documentation (#1489) @ChuckHastings
    • Create cuGraph developers guide (#1431) @ChuckHastings
    • Add boost 1.0 license file. (#1401) @seunghwak

    🚀 New Features

    • Implement C/CUDA RandomWalks functionality (#1439) @aschaffer
    • Add R-mat generator (#1411) @seunghwak

    🛠️ Improvements

    • Random Walks - Python Bindings (#1516) @jnke2016
    • Updating RAFT tag (#1509) @afender
    • Clean up nullptr cuda_stream_view arguments (#1504) @hlinsen
    • Reduce the size of the cugraph libraries (#1503) @robertmaynard
    • Add indirection and replace algorithms with new renumbering (#1484) @Iroy30
    • Multiple graph generator with power law distribution on sizes (#1483) @afender
    • TSP solver bug fix (#1480) @hlinsen
    • Added cmake function and .hpp template for generating version_config.hpp file. (#1476) @rlratzel
    • Fix for bug in SCC on self-loops (#1475) @aschaffer
    • MS BFS python APIs + EgoNet updates (#1469) @afender
    • Removed unused dependencies from libcugraph recipe, moved non-test script code from test script to gpu build script (#1468) @rlratzel
    • Remove literals passed to device_uvector::set_element_async (#1453) @harrism
    • ENH Change conda build directories to work with ccache (#1452) @dillon-cullinan
    • Updating docs (#1448) @BradReesWork
    • Improve graph primitives performance on graphs with widely varying vertex degrees (#1447) @seunghwak
    • Update Changelog Link (#1446) @ajschmidt8
    • Updated NCCL to version 2.8.4 (#1445) @BradReesWork
    • Update FAISS to 1.7.0 (#1444) @BradReesWork
    • Update graph partitioning scheme (#1443) @seunghwak
    • Add additional datasets to improve coverage (#1441) @jnke2016
    • Update C++ MG PageRank and SG PageRank, Katz Centrality, BFS, and SSSP to use the new R-mat graph generator (#1438) @seunghwak
    • Remove raft handle duplication (#1436) @Iroy30
    • Streams infra + support in egonet (#1435) @afender
    • Prepare Changelog for Automation (#1433) @ajschmidt8
    • Update 0.18 changelog entry (#1429) @ajschmidt8
    • Update and Test Renumber bindings (#1427) @Iroy30
    • Update Louvain to use new graph primitives and pattern accelerators (#1423) @ChuckHastings
    • Replace rmm::device_vector & thrust::host_vector with rmm::device_uvector & std::vector, respectively. (#1421) @seunghwak
    • Update C++ MG PageRank test (#1419) @seunghwak
    • ENH Build with cmake --build & Pass ccache variables to conda recipe & use Ninja in CI (#1415) @Ethyling
    • Adding new primitives: copy_v_transform_reduce_key_aggregated_out_nbr & transform_reduce_by_adj_matrix_row|col_key_e bug fixes (#1399) @seunghwak
    • Add new primitives: compute_in|out_degrees, compute_in|out_weight_sums to graph_view_t (#1394) @seunghwak
    • Rename sort_and_shuffle to groupby_gpuid_and_shuffle (#1392) @seunghwak
    • Matching updates for RAFT comms updates (device_sendrecv, device_multicast_sendrecv, gather, gatherv) (#1391) @seunghwak
    • Fix forward-merge conflicts for #1370 (#1377) @ajschmidt8
    • Add utility function for computing a secondary cost for BFS and SSSP output (#1376) @hlinsen
    Source code(tar.gz)
    Source code(zip)
  • v0.17.0(Dec 10, 2020)

  • v0.16.1(Nov 6, 2020)

  • v0.16.0(Oct 21, 2020)

  • v0.15.0(Sep 16, 2020)

Owner
RAPIDS
Open GPU Data Science
RAPIDS
CUDA integration for Python, plus shiny features

PyCUDA lets you access Nvidia's CUDA parallel computation API from Python. Several wrappers of the CUDA API already exist-so what's so special about P

Andreas Klöckner 1.4k Jan 02, 2023
Python 3 Bindings for NVML library. Get NVIDIA GPU status inside your program.

py3nvml Documentation also available at readthedocs. Python 3 compatible bindings to the NVIDIA Management Library. Can be used to query the state of

Fergal Cotter 212 Jan 04, 2023
ArrayFire: a general purpose GPU library.

ArrayFire is a general-purpose library that simplifies the process of developing software that targets parallel and massively-parallel architectures i

ArrayFire 4k Dec 29, 2022
General purpose GPU compute framework for cross vendor graphics cards (AMD, Qualcomm, NVIDIA & friends). Blazing fast, mobile-enabled, asynchronous and optimized for advanced GPU data processing usecases.

Vulkan Kompute The general purpose GPU compute framework for cross vendor graphics cards (AMD, Qualcomm, NVIDIA & friends). Blazing fast, mobile-enabl

The Institute for Ethical Machine Learning 1k Dec 26, 2022
cuDF - GPU DataFrame Library

cuDF - GPU DataFrames NOTE: For the latest stable README.md ensure you are on the main branch. Resources cuDF Reference Documentation: Python API refe

RAPIDS 5.2k Jan 08, 2023
cuGraph - RAPIDS Graph Analytics Library

cuGraph - GPU Graph Analytics The RAPIDS cuGraph library is a collection of GPU accelerated graph algorithms that process data found in GPU DataFrames

RAPIDS 1.2k Jan 01, 2023
Conda package for artifact creation that enables offline environments. Ideal for air-gapped deployments.

Conda-Vendor Conda Vendor is a tool to create local conda channels and manifests for vendored deployments Installation To install with pip, run: pip i

MetroStar - Tech 13 Nov 17, 2022
BlazingSQL is a lightweight, GPU accelerated, SQL engine for Python. Built on RAPIDS cuDF.

A lightweight, GPU accelerated, SQL engine built on the RAPIDS.ai ecosystem. Get Started on app.blazingsql.com Getting Started | Documentation | Examp

BlazingSQL 1.8k Jan 02, 2023
Library for faster pinned CPU <-> GPU transfer in Pytorch

SpeedTorch Faster pinned CPU tensor - GPU Pytorch variabe transfer and GPU tensor - GPU Pytorch variable transfer, in certain cases. Update 9-29-1

Santosh Gupta 657 Dec 19, 2022
cuSignal - RAPIDS Signal Processing Library

cuSignal The RAPIDS cuSignal project leverages CuPy, Numba, and the RAPIDS ecosystem for GPU accelerated signal processing. In some cases, cuSignal is

RAPIDS 646 Dec 30, 2022
A Python module for getting the GPU status from NVIDA GPUs using nvidia-smi programmically in Python

GPUtil GPUtil is a Python module for getting the GPU status from NVIDA GPUs using nvidia-smi. GPUtil locates all GPUs on the computer, determines thei

Anders Krogh Mortensen 927 Dec 08, 2022
A NumPy-compatible array library accelerated by CUDA

CuPy : A NumPy-compatible array library accelerated by CUDA Website | Docs | Install Guide | Tutorial | Examples | API Reference | Forum CuPy is an im

CuPy 6.6k Jan 05, 2023
A Python function for Slurm, to monitor the GPU information

Gpu-Monitor A Python function for Slurm, where I couldn't use nvidia-smi to monitor the GPU information. whole repo is not finish Installation TODO Mo

Squidward Tentacles 2 Feb 11, 2022
cuML - RAPIDS Machine Learning Library

cuML - GPU Machine Learning Algorithms cuML is a suite of libraries that implement machine learning algorithms and mathematical primitives functions t

RAPIDS 3.1k Jan 04, 2023
A GPU-accelerated library containing highly optimized building blocks and an execution engine for data processing to accelerate deep learning training and inference applications.

NVIDIA DALI The NVIDIA Data Loading Library (DALI) is a library for data loading and pre-processing to accelerate deep learning applications. It provi

NVIDIA Corporation 4.2k Jan 08, 2023
Python 3 Bindings for the NVIDIA Management Library

====== pyNVML ====== *** Patched to support Python 3 (and Python 2) *** ------------------------------------------------ Python bindings to the NVID

Nicolas Hennion 95 Jan 01, 2023
jupyter/ipython experiment containers for GPU and general RAM re-use

ipyexperiments jupyter/ipython experiment containers and utils for profiling and reclaiming GPU and general RAM, and detecting memory leaks. About Thi

Stas Bekman 153 Dec 07, 2022
A PyTorch Extension: Tools for easy mixed precision and distributed training in Pytorch

Introduction This repository holds NVIDIA-maintained utilities to streamline mixed precision and distributed training in Pytorch. Some of the code her

NVIDIA Corporation 6.9k Dec 28, 2022
Python interface to GPU-powered libraries

Package Description scikit-cuda provides Python interfaces to many of the functions in the CUDA device/runtime, CUBLAS, CUFFT, and CUSOLVER libraries

Lev E. Givon 924 Dec 26, 2022
QPT-Quick packaging tool 前项式Python环境快捷封装工具

QPT - Quick packaging tool 快捷封装工具 GitHub主页 | Gitee主页 QPT是一款可以“模拟”开发环境的多功能封装工具,一行命令即可将普通的Python脚本打包成EXE可执行程序,与此同时还可轻松引入CUDA等深度学习加速库, 尽可能在用户使用时复现您的开发环境。

GT-Zhang 545 Dec 28, 2022