libcuGraph API#
libcugraph is the native GPU-accelerated graph analytics implementation.
Its public interfaces are split by language and intended level of abstraction:
libcugraph_cprovides a stable C ABI used by language bindings.The C++ API provides graph types, algorithms, construction, sampling, and utility functions.
The primitives API provides lower-level C++ building blocks for composing graph operations.
libcugraph_etlprovides tabular vertex-renumbering functionality.
libcuGraph interfaces
- libcugraph_c API
- Core types and resources
- Graph construction and utilities
cugraph_create_vertex_pairs()cugraph_vertex_pairs_get_first()cugraph_vertex_pairs_get_second()cugraph_vertex_pairs_free()cugraph_two_hop_neighbors()cugraph_has_vertex()cugraph_induced_subgraph_get_sources()cugraph_induced_subgraph_get_destinations()cugraph_induced_subgraph_get_edge_weights()cugraph_induced_subgraph_get_edge_ids()cugraph_induced_subgraph_get_edge_type_ids()cugraph_induced_subgraph_get_subgraph_offsets()cugraph_induced_subgraph_result_free()cugraph_extract_induced_subgraph()cugraph_allgather()cugraph_count_multi_edges()cugraph_in_degrees()cugraph_out_degrees()cugraph_degrees()cugraph_degrees_result_get_vertices()cugraph_degrees_result_get_in_degrees()cugraph_degrees_result_get_out_degrees()cugraph_degrees_result_free()cugraph_edgelist_get_sources()cugraph_edgelist_get_destinations()cugraph_edgelist_get_edge_weights()cugraph_edgelist_get_edge_ids()cugraph_edgelist_get_edge_type_ids()cugraph_edgelist_get_edge_offsets()cugraph_edgelist_free()cugraph_decompress_to_edgelist()cugraph_extract_vertex_list()cugraph_renumber_arbitrary_edgelist()cugraph_vertex_pairs_tcugraph_induced_subgraph_result_tcugraph_degrees_result_tcugraph_edgelist_tcugraph_generator_distribution_tcugraph_generate_rmat_edgelist()cugraph_generate_rmat_edgelists()cugraph_generate_edge_weights()cugraph_generate_edge_ids()cugraph_generate_edge_types()cugraph_build_edge_id_and_type_to_src_dst_lookup_map()cugraph_lookup_endpoints_from_edge_ids_and_single_type()cugraph_lookup_endpoints_from_edge_ids_and_types()cugraph_lookup_container_tcugraph_lookup_result_t
- Centrality
cugraph_pagerank()cugraph_pagerank_allow_nonconvergence()cugraph_personalized_pagerank()cugraph_personalized_pagerank_allow_nonconvergence()cugraph_eigenvector_centrality()cugraph_katz_centrality()cugraph_betweenness_centrality()cugraph_edge_betweenness_centrality()cugraph_hits()cugraph_centrality_result_tcugraph_edge_centrality_result_tcugraph_hits_result_t
- Community
cugraph_triangle_count()cugraph_louvain()cugraph_leiden()cugraph_ecg()cugraph_extract_ego()cugraph_k_truss_subgraph()cugraph_balanced_cut_clustering()cugraph_spectral_modularity_maximization()cugraph_analyze_clustering_modularity()cugraph_analyze_clustering_edge_cut()cugraph_analyze_clustering_ratio_cut()cugraph_clustering_result_get_vertices()cugraph_clustering_result_get_clusters()cugraph_clustering_result_free()cugraph_triangle_count_result_tcugraph_hierarchical_clustering_result_tcugraph_clustering_result_t
- Core
- Components
- Layout
- Sampling
cugraph_prior_sources_behavior_tcugraph_temporal_sampling_comparison_tcugraph_compression_type_tcugraph_uniform_random_walks()cugraph_biased_random_walks()cugraph_node2vec_random_walks()cugraph_homogeneous_uniform_neighbor_sample()cugraph_homogeneous_biased_neighbor_sample()cugraph_heterogeneous_uniform_neighbor_sample()cugraph_heterogeneous_biased_neighbor_sample()cugraph_homogeneous_uniform_temporal_neighbor_sample()cugraph_homogeneous_biased_temporal_neighbor_sample()cugraph_heterogeneous_uniform_temporal_neighbor_sample()cugraph_heterogeneous_biased_temporal_neighbor_sample()cugraph_sample_result_get_sources()cugraph_sample_result_get_destinations()cugraph_sample_result_get_offsets()cugraph_random_walk_result_tcugraph_sample_result_tcugraph_sampling_options_tsampling_flags_t
- Similarity
cugraph_jaccard_coefficients()cugraph_sorensen_coefficients()cugraph_overlap_coefficients()cugraph_cosine_similarity_coefficients()cugraph_all_pairs_jaccard_coefficients()cugraph_all_pairs_sorensen_coefficients()cugraph_all_pairs_overlap_coefficients()cugraph_all_pairs_cosine_similarity_coefficients()cugraph_similarity_result_t
- Traversal
- Tree algorithms
- libcuGraph C++ API
- Algorithms
- Graph Functions
renumber_edgelist()renumber_edgelist()renumber_ext_vertices()unrenumber_local_int_vertices()unrenumber_int_vertices()unrenumber_local_int_edges()unrenumber_local_int_edges()renumber_local_ext_vertices()decompress_to_edgelist()symmetrize_edgelist()symmetrize_graph()transpose_graph()transpose_graph_storage()coarsen_graph()relabel()extract_induced_subgraphs()create_graph_from_edgelist()create_graph_from_edgelist()get_two_hop_neighbors()compute_in_weight_sums()compute_out_weight_sums()compute_max_in_weight_sum()compute_max_out_weight_sum()compute_total_edge_weight()select_random_vertices()remove_self_loops()remove_multi_edges()remove_multi_edges()shuffle_ext_edges()shuffle_int_edges()
- Graph Generators
generate_rmat_edgelist()generate_bipartite_rmat_edgelist()generate_rmat_edgelists()generate_path_graph_edgelist()generate_2d_mesh_graph_edgelist()generate_3d_mesh_graph_edgelist()generate_complete_graph_edgelist()generate_erdos_renyi_graph_edgelist_gnp()generate_erdos_renyi_graph_edgelist_gnm()symmetrize_edgelist_from_triangular()scramble_vertex_ids()combine_edgelists()
- Sampling Functions
prior_sources_behavior_thomogeneous_uniform_neighbor_sample()heterogeneous_uniform_neighbor_sample()homogeneous_biased_neighbor_sample()heterogeneous_biased_neighbor_sample()homogeneous_uniform_temporal_neighbor_sample()heterogeneous_uniform_temporal_neighbor_sample()homogeneous_biased_temporal_neighbor_sample()heterogeneous_biased_temporal_neighbor_sample()renumber_and_compress_sampled_edgelist()renumber_and_sort_sampled_edgelist()heterogeneous_renumber_and_sort_sampled_edgelist()sort_sampled_edgelist()build_edge_id_and_type_to_src_dst_lookup_map()lookup_endpoints_from_edge_ids_and_single_type()lookup_endpoints_from_edge_ids_and_types()negative_sampling()
- Shuffle functions
- Collection Wrappers
- Graph Utility Wrappers
copy_or_transform()uniform_random_fill()transform_increment_ints()transform_not_equal()compute_maximum_vertex_id()compute_maximum_vertex_id()is_sorted()is_equal()count_values()inclusive_scan_impl()exclusive_scan_impl()exclusive_scan_impl()operator()()operator()()operator()()scatter_impl()scatter_shift_left_impl()operator()()operator()()sort_impl()operator()()unique_impl()operator()()cugraph::fill_tcugraph::gather_tcugraph::inclusive_scan_tcugraph::exclusive_scan_tcugraph::scatter_tcugraph::sequence_tcugraph::sort_tcugraph::unique_t
- Legacy Graph Functions
get_vertex_identifiers()degree()GraphCOOView()get_source_indices()GraphCompressedSparseBaseView()GraphCSRView()GraphCOO()GraphCompressedSparseBase()GraphCSR()GraphCSR()cugraph::legacy::GraphViewBasecugraph::legacy::GraphCOOViewcugraph::legacy::GraphCompressedSparseBaseViewcugraph::legacy::GraphCSRViewcugraph::legacy::GraphCOOContentscugraph::legacy::GraphCOOcugraph::legacy::GraphCompressedSparseBasecugraph::legacy::GraphCSR
- Complete C++ namespace reference
- libcuGraph primitives API
- count_if_e.cuh
- extract_transform_e.cuh
- extract_transform_if_e.cuh
- transform_e.cuh
- transform_gather_e.cuh
- transform_reduce_e.cuh
- transform_reduce_e_by_src_dst_key.cuh
- count_if_v.cuh
- reduce_v.cuh
- transform_reduce_v.cuh
- edge_bucket.cuh
- vertex_frontier.cuh
- update_v_frontier.cuh
- extract_transform_if_v_frontier_incoming_outgoing_e.cuh
- extract_transform_v_frontier_incoming_outgoing_e.cuh
- transform_reduce_if_v_frontier_outgoing_e_by_dst.cuh
- transform_reduce_v_frontier_outgoing_e_by_dst.cuh
- per_v_pair_src_dst_nbr_intersection.cuh
- per_v_pair_transform_src_dst_nbr_intersection.cuh
- per_v_random_select_transform_outgoing_e.cuh
- per_v_transform_reduce_dst_key_aggregated_outgoing_e.cuh
- per_v_transform_reduce_if_incoming_outgoing_e.cuh
- per_v_transform_reduce_incoming_outgoing_e.cuh
- transform_reduce_src_dst_nbr_intersection_of_e_endpoints_by_v.cuh
- fill_edge_property.cuh
- fill_edge_src_dst_property.cuh
- make_initialized_edge_property.cuh
- make_initialized_edge_src_dst_property.cuh
- update_edge_src_dst_property.cuh
- property_op_utils.cuh
- key_store.cuh
- kv_store.cuh
- reduce_op.cuh
- libcugraph_etl API