Figure: Clustering animation when neighbor edges weigh more than non-neighbors Graphistry v2.30.26 is a fast and worthwhile follow on to our big v2.29 introduction of the 2.0 API for quickly uploading big graphs (Apache Arrow + RAPIDS!) and the 2.30.11 launch of Graphistry Hub for free open visual investigations on managed Graphistry GPU instances. […]
Graphistry 2.30.26: Graph gallery, edge weighting, a faster release schedule, and more
Graphistry 2.30.11: Graphistry Hub, PyGraphistry 2.0 API, & RAPIDS 0.14
Release 2.30.11 is a fast and worthwhile follow on the big 2.29 release. If you didn’t get Graphistry 2.29 with our new Graphistry 2.0 API — 100X faster & bigger uploads! — now is your chance with 2.30. The latest release also introduces Graphistry Hub, RAPIDS 0.14, open registration mode, and more. As a reminder, […]
Graphistry 2.29.5: Upload 100X+ more, RAPIDS 0.13, LearnRAPIDS.com, and more!
Updated: 6.24.2020 to reflect PyGraphistry now supporting the 2.0 Upload API The Graphistry team has been quite busy with v2.29. While we’ve been quiet on the tool side as we’ve been directing attention to our volunteer efforts like ProjectDomino.org for medical anti-misinformation, and as you’ll see, a lot has been happening! As usual, get the […]
Graphistry 2.27.8: RAPIDS 0.11, NodeXL imports, speedups, & hardening
We recommend upgrading to Graphistry 2.27.8 to improve your existing flows and plug into more data such as NodeXL for social media analysis. Read on for an overview of March’s release. For a full breakdown and upgrade considerations, see the detailed release notes. Binaries are now available for enterprise users and JS/Python clients are […]
Graphistry’s 2019 in open source has numbers that signal a rising tide in the data world
Graphistry 2019 in open source signals quite a change: PyGraphistry: βοΈ1K+ stars and π¨βπ§100+ forks PyGraphistry is a library to extract, transform, and visually explore big graphs Apache Arrow: πTop 2019 data project (O’Reilly), π¨βπ§400+ contributors Apache Arrow is a cross-language development platform for in-memory data. It specifies a standardized language-independent columnar memory format for […]
The Future of GPU Analytics Using NVIDIA RAPIDS and Graphistry
When everything runs on GPUs, we can fundamentally shift the way we experience data analysis much like video moving to HD or shifting from black-and-white to color. What if you could load your full dataset, ask whole-table questions like what are the patterns, and get the answers… immediately? What if you could do that visually, replacing writing queries with simple infinite zoom and direct manipulations down to the level of individual data points? Core analytics areas like security, fraud, operations, and customer 360 are entering this sci-fi-level world of rapid hypothesis iteration.
Running analytics end-to-end on GPUs, all the way from the data warehouse to what’s on screen in your browser, is not easy. Graphistry first brought that experience to investigating event and graph data. Starting from before the Rapids team was even officially formed, we have been collaborating with them on how to get these techniques into the hands of all analysts. With the official project announcement of Rapids, we thought it would help to share our promising early experiences.
Enter Apache Arrow & GoAi
RAPIDS is one of NVIDIA’s biggest contributions to the GPU Open Analytics Initiative (GoAi), and is poised to become its computational backbone. (We previously overviewed GoAi for the web and visual analytics.) Big data framework developers are shifting to fast data — handling more data at millisecond levels. Similar to how many SQL analytics tasks moved to distributed Hadoop, and then Hadoop moved to in-memory Spark, we are seeing the rise of in-GPU GoAi. Contributors already include most GPU database developers (OmniSci, BlazingDB, FastData, u2026), visual analytics developers (Graphistry), and broader data eco-system OSS companies like Conda.
To make the set of tools work together, GoAi members rallied around Apache Arrow. It is a file format and set of protocols that support in-memory typed dataframes with zero-copy data transfers between tasks and libraries. Clouds let you rent instances with multiple GPUs that have 16GB GPU RAM each, and NVIDIA DGX nodes already store 512GB+ in-GPU RAM. This unlocks running most tasks entirely in the GPU, and as streaming frameworks emerge, nearly everything is fair game.
For a taste of what happens when you switch to streaming of Arrow files between GPUs, the following videos show a before/after of the Graphistry 2.0 engine. The first video shows our original hand-written visual analytics engine: GPUs in the browser, GPUs in the data center, and optimized networking. This year, we rewrote our interop code into Arrow (forming the core of Apache Arrow[JS]): the result is our new visual analytics engine — which runs in any browser — takes much less code, handles about 5X more data, and runs visibly faster:
Graphistry 1.0 Engine
Graphistry 2.0 Engine
NVIDIA RAPIDS
Apache Arrow unlocks and speeds up interoperability between analytics tools, and RAPIDS provides convenient GPU IO and compute layers. This can help all the way across the data pipeline: sending data from CPU Spark to GPU frameworks, converting untyped CSVs to typed Arrow, performing tabular operations like filtering, and under the same family, supporting additional analytics areas like ML and graph. Enterprise-grade GPU analytics tools like Graphistry (visual analytics) and BlazingDB (warehouse interop) are incorporating it as part of a common core that is better than CPU alternatives but not fundamentally differentiating between specific analytic tool categories: Rapids is part of the GoAi rising tide.
RAPIDS is still early, but the numbers already look great. As a few examples of core data tasks, on a Titan V single GPU with 12GB GPU RAM and 32GB CPU RAM, similar to a cloud device, we see significant speedups on loading data and a simple cross-filtering task (filtering followed by histogramming). The result is 100M-1B row datasets become interactive!
Test setup:
- Titan V single GPU, 12GB GPU RAM, 32GB CPU RAM machine
- Representative of a $1.0/hr AWS P3.2 preemptible
- IO: Load 100M rows (x 6 floats) or 1.5B rows (x 1 float) of data, as CSV and Arrow
- Compute: Cross-filter (filter + histogram)
- Compare CPU (Pandas) with GPU (PyGDF for filtering and Numba for histograms)
The early results are spectacular — 20-30s computations become subsecond, 100M-1B row datasets become easy… and that is when bursting on just one GPU.
Graphistry + NVIDIA RAPIDS
Think of Graphistry as a UI for accessing RAPIDS tech without coding. Graphistry is the only full-stack GPU visual analytics platform, meaning we use GPUs all the way from your browser to the data center. The platform has been architecting to use Arrow end-to-end in the pipeline over the last year and helping bring similar Arrow-based workflows to the web, and RAPIDS has been a big motivator for that. As new RAPIDS functionality become available, they become drop-in replacements along our pipeline. The result is visual analytics users get to leverage RAPIDS — and broader GoAi frameworks — without writing code.
Our results around GoAi have been raising eyebrows all the way from operational analyst to bank executives. NVIDIA RAPIDS has been a key investment for us, and not discussed here, especially in terms of marching to a multi-node multi-GPU future. Hard tech startups have to be targeted in the bets they make, and Graphistry is excited to welcome RAPIDS into the GoAi community!
Connecting JS to modern GPU and ML frameworks: Update from Nvidia GTC 2018
2018/4/4 10:00