Introduction to Graphistry's Algorithms

Graphistry offers a diverse range of algorithms to help users analyze and visualize data. These algorithms are broadly categorized into two types: Graph Analytics Algorithms and Graph AI Algorithms. This section focuses on our Graph Analytics Algorithms, particularly those we expose from igraph and cuGraph, as well as highlighting Graphistry's own implementations.

Graph Analytics Algorithms:

The core tools for our graph analytics are:

  • igraph: Primarily operates on the CPU and is suitable for standard graph analytics tasks. igraph is a versatile tool that we utilize for a range of basic graph analysis functions.
  • cuGraph: This is a GPU-based tool optimized for larger datasets. It leverages NVIDIA GPUs for faster processing, making it ideal for handling complex and voluminous data.

We recommend using GPUs for datasets with more than 10,000 elements. The choice between a single GPU and multi-GPU configurations will depend on the specific algorithm and the size of the workload.

Graph Layout at Initial Load:

One of the key features of Graphistry's analytics algorithms is the Graph Layout capability, which focuses on the X & Y positioning of nodes at initial graph load time. This feature ensures that the initial presentation of the graph is both informative and visually coherent, providing an intuitive understanding of the network's structure.

Graph Search Algorithms:

Our pathfinding and traversal algorithms are vital for network analysis. They are implemented in both igraph and cuGraph, catering to different computational needs:

  • In cuGraph (GPU-based): bfs, sssp, shortest_path, and more, optimized for speed and large datasets.
  • In igraph (CPU-based): betweenness, shortest_paths, spanning_tree, offering versatility and detailed network insights.

These algorithms enable users to analyze networks efficiently, from finding the shortest paths to calculating betweenness centrality and spanning trees.