What Is Algeon? The Beginner's Guide to GPU Analytics in SQL
CodexFuse Team · 2026-11-05T02:16:24.669Z · 13 min read min read
What Is Algeon? The Beginner's Guide to GPU Analytics in SQL
If you search what is algeon today, you will find a Show HN launch post and little else. Algeon is a days-old open-source query engine that answers a question data engineers have been stuck on for years: why does running graph, vector, and machine-learning analytics on a GPU still mean writing Python glue code, ad-hoc ETL pipelines, and imperative operation calls — when all you really want is to write SQL? Algeon runs on VPS hosting or your own machine with an NVIDIA GPU, and its own tagline states the whole idea in one line: "Run graph, vector, and machine-learning algorithms in one SQL query. Join their results, filter them, and keep querying."
The rest of this guide explains what Algeon is, how it embeds NVIDIA's GPU libraries into plain SQL, what the vendor's own benchmark numbers say, and how to try it yourself. If you will be writing the queries, a SQL formatter helps keep long nested statements readable.
What Is Algeon, Exactly?
Algeon (pronounced "AL-jee-on," per its own README) is an open-source, GPU-accelerated query engine built on Apache DataFusion. Its project page defines it precisely: "Algeon is a query engine built on Apache DataFusion. Currently accelerated on NVIDIA GPUs, it exposes NVIDIA's cuGraph, cuVS and cuML libraries as SQL table functions and runs supported relational operations on cuDF." Each GPU algorithm is a table function whose input is a subquery, so the query that uses the result also builds the graph or vectors — nothing has to be loaded into a separate graph or vector database first.
Do not confuse the name with three unrelated things: Alenka (an older open-source GPU database engine from the 2010s), Algeon Materials (a bioplastics startup), and Aegaeon (Alibaba Cloud's GPU-pooling system for LLM serving). None of them have anything to do with this project.
The core design choice is worth stating plainly, because it is the whole point: Algeon does not write its own GPU kernels. Its site says so directly: "Relational operators come from cuDF and the algorithms from cuGraph, cuVS and cuML. Algeon writes no GPU kernels beyond a few element-wise routines in its cuDF bindings." Instead of inventing new math, Algeon takes NVIDIA's existing, battle-tested GPU libraries and embeds them into Apache DataFusion, so you can call those GPU operations on any arbitrary data while filter, join, and aggregation stay plain SQL.
How Does the Algeon DataFusion Engine Work?
The Algeon DataFusion pairing is native: Algeon works as a physical-optimizer rule inside Apache DataFusion. A query enters through a DataFusion session or the Flight SQL server. Algeon's DataFusion optimizer rule replaces supported plan candidates with GPU execution in the same process, and results return as ordinary Arrow batches. Table data comes from Parquet files on local disk or in S3-compatible object storage.
In practical terms, this means there are two ways to use it. You can run it as a standalone server over Arrow Flight SQL (connect with any ADBC-compatible client), or you can embed it as a Rust library inside your own backend service. The author calls out the second mode as a deliberate design goal: the engine can live inside your backend process so "your query response can be used directly within a single process, saving the transfer cost between the query engine and backend service." GPU analytics becomes an interactive service rather than a batch pipeline.
What Are Algeon's SQL Table Functions?
Algeon's GPU power comes from three NVIDIA libraries, exposed as SQL table functions, plus cuDF for relational operators. NVIDIA describes each library in its own docs. The table below maps them to what they do inside an Algeon query.
| Library | NVIDIA's description | What it does in Algeon SQL |
|---|---|---|
| cuGraph | "An open-source collection of GPU-accelerated graph analytics libraries." | Graph algorithms as table functions — PageRank, connected components, Jaccard, Leiden community detection, betweenness — computed on graphs built from your subquery. |
| cuVS | "A GPU-accelerated library for vector search on the GPU. Vector search includes nearest neighbors, vector compression and clustering." | Vector similarity (for example, brute-force kNN) inside SQL, so embeddings and recommendations are just another function call. |
| cuML | "A suite of fast, GPU-accelerated machine learning algorithms designed for data science and analytical tasks... providing practitioners with the familiar fit-predict-transform paradigm." | ML inference (for example, random-forest scoring) composed with relational filters and joins in the same statement. |
| cuDF | "GPU-Accelerated DataFrames" — accelerates popular libraries like pandas, Polars, and Apache Spark on NVIDIA GPUs. | The relational engine: filters, joins, and aggregations run on the GPU instead of the CPU. |
The composition model is the real innovation, and it is what makes Algeon GPU SQL different from the previous generation: the algorithms live inside the query language instead of beside it. A subquery supplies an algorithm's inputs; the table function runs on the GPU; the result feeds a join, an aggregation, or another algorithm within the same SQL statement. The Algeon cuGraph SQL functions mean graph analytics look like tables you can join, and the Algeon NVIDIA cuVS support means vector search is not a separate service — embeddings are searched by a table function in the same statement that filters them. Before Algeon, that workflow meant duck-typing across DuckDB, scipy, igraph, FAISS, and XGBoost in Python. Algeon collapses it into one query language.
How Do You Run Your First Algeon Query?
The fastest path is the prebuilt server image; the deepest path is embedding the crate in a Rust app. Here is the five-step arc, as of the 0.1.0 release (November 2026).
- Check the requirements. You need Linux, a supported NVIDIA GPU with a compatible CUDA toolkit and host compiler, and (for source builds) Rust 1.95 or newer.
- Run the server image. No source build needed — this runs the Flight SQL server on port 50051 with your local data directory mounted read-only:
docker run --rm --gpus all -p 127.0.0.1:50051:50051 \ -v "$PWD:/data:ro" ghcr.io/algeon-dev/algeon-server
- Connect with an ADBC client. Any Arrow Flight SQL client can open a session against the server.
- Write a composed query. The pattern is always the same: a subquery builds the input, the GPU table function runs on it, and plain SQL does the rest. The simplified illustration below shows the shape (function names follow the project's own benchmark examples):
-- simplified illustration: vector search, then relational filter SELECT id, distance FROM cuvs_brute_force_knn( (SELECT id, embedding FROM items), (SELECT query_embedding FROM queries LIMIT 1), 10 ) AS knn JOIN items i ON i.id = knn.id WHERE i.in_stock = true;
- Iterate in SQL. The author's pitch is that agents — and humans — can "use declarative SQL to test their hypotheses and build the next query based on the previous response, making GPU OLAP an interactive service." Change the subquery, re-run, compare.
If you want Algeon inside your own service instead of as a separate server, add algeon-datafusion = "=0.1.0" to your Rust dependencies and enable the cugraph, cuvs, or cuml features for the SQL functions (plus server for the embedded Flight SQL API and nvml for device diagnostics). The release notes warn that native RAPIDS libraries and Algeon shims must be built from the matching source tag for source builds — packaged releases that remove the native build requirement are promised on the roadmap.
How Fast Is Algeon? (Vendor Benchmarks)
Algeon's vendor-published benchmarks claim 1.4×–7.8× speedups over CPU pipelines on graph/ML workloads, and 29×–51× on exact vector search — but treat these as the vendor's own numbers, not independent measurements. The project ran them on an Intel Xeon Platinum 8559C (32 vCPU), 256 GiB of RAM, and an NVIDIA RTX PRO 6000 (96 GB), using a MerRec dataset of 1,268,092,738 events and 82,614,392 items. Times are medians with first runs excluded.
| Query | GPU (Algeon) | CPU pipeline | Speedup |
|---|---|---|---|
| Session audit (weakly connected components) | 1.58 s | 12.35 s (DuckDB + scipy) | 7.8× |
| Barbie tie-ins (personalized PageRank ×2 + PageRank ×2) | 3.05 s | 23.27 s (DuckDB + igraph) | 7.6× |
| Audience funnel (PageRank + kNN + forest inference) | 8.15 s | 40.34 s (DuckDB + igraph + FAISS + XGBoost) | 5.0× |
| Propensity model (forest inference) | 6.54 s | 16.12 s (DuckDB + XGBoost) | 2.5× |
| Brand twins (Jaccard) | 3.34 s | 6.57 s (DuckDB) | 2.0× |
| Pokemon lookalikes (brute-force kNN) | 13.68 s | 25.96 s (DuckDB + FAISS) | 1.9× |
| Shopping worlds (Jaccard + Leiden) | 5.85 s | 9.64 s (DuckDB + igraph) | 1.6× |
| World bridges (Jaccard + Leiden + betweenness) | 8.15 s | 11.78 s (DuckDB + networkit) | 1.4× |
On exact k-nearest-neighbors over 2.1 million vectors, the project reports 29×–51× over FAISS on CPU (0.11 s vs 3.10 s at 100 queries; 1.98 s vs 101.40 s at 100,000 queries). On relational work, all 22 TPC-H queries at scale factor 100 ran on the GPU path with outputs matching the CPU, and all 99 TPC-DS queries at scale factor 100 ran on the GPU path — with the GPU faster on 69 and the CPU faster on 30.
Two caveats matter. First, the CPU baselines are composite Python pipelines (DuckDB plus scipy, igraph, FAISS, XGBoost, or networkit), so the speedups measure "GPU-in-SQL vs CPU-in-Python-glue" rather than GPU vs an optimized CPU database. If you want to learn that baseline world, our DuckDB beginner guide is the right starting point. Second, the TPC-derived numbers carry the vendor's own disclaimer: "These runs are derived from the TPC-H and TPC-DS benchmarks. They are not audited TPC results and are not comparable to published TPC results."
Algeon vs BlazingSQL: What's Different?
Algeon is not the first attempt at GPU SQL — but it asks a different question than the last generation. The previous era's headline act was BlazingSQL, a GPU-accelerated SQL engine built on the RAPIDS ecosystem that went 100% open source in August 2019 under Apache 2.0. NVIDIA's own GTC 2019 session described it as "RAPIDS' open source SQL engine," built on cuDF and cuIO to eliminate "the need to build and deploy a database."
BlazingSQL accelerated relational operators on the GPU. Algeon accelerates the analytics that surround the relational operators — graph algorithms, vector search, and ML inference — and makes them composable inside a single SQL statement via table functions. One page in the older era ran SQL fast on GPUs; Algeon lets you write one query that finds the graph community, searches the vectors, scores the ML model, and joins the results, all without leaving SQL or building an ETL pipeline. Comparisons, not rivals: if your workload is pure relational OLAP, the older generation's framing still applies.
Who Is Algeon For, and Who Should Skip It?
Algeon is for data engineers and agent builders who want declarative, interactive GPU analytics on lakehouse data; it is not for everyone yet. The sweet spot is ad-hoc graph/vector/ML pipelines on Parquet data where the alternative is Python glue across five libraries. The project's own words on who should look elsewhere: "Not a fit yet: working sets larger than one GPU's memory, sources other than Parquet, and long-lived vector indexes or models."
For the embedded-in-your-backend use case, think of it alongside other OLAP workhorses: if your analytics already run on a columnar OLAP engine, our ClickHouse beginner guide covers the CPU-native lane, while Algeon covers the GPU-composable lane.
Honest state of the project, as of November 2026: Algeon is experimental. Its README carries a plain warning: "Algeon is experimental. APIs and query behavior may change incompatibly. Stability and result verification remain incomplete. Compare outputs against trusted reference results." The first crates.io release (0.1.0) ships 14 crates under Apache 2.0, the GitHub repo (github.com/algeon-dev/algeon, created October 19, 2026) has a handful of stars and seven open issues — including plans to integrate cuOpt as a GPU table-function family, read Iceberg tables, and upgrade the RAPIDS stack to v26.10.00. Try it for exploration and agent loops; verify results before trusting them.
Where Did Algeon Come From?
Algeon started as cuDF Rust FFI bindings. The author's own launch post tells the origin story directly: "I started building Algeon last year. At first, it was cuDF Rust FFI bindings that aimed to bring GPU ETL pipelines into a single backend process, and it worked very well. Then I realized it might be possible to move GPU data science workloads into an OLAP query engine, since the NVIDIA RAPIDS ecosystem and DataFusion are mature."
That origin explains the architecture: the bindings persist as the FFI/shim layer under the engine ("a few element-wise routines in its cuDF bindings" are the only GPU kernels the project writes). And the host it sits on, Apache DataFusion, is "an extensible query engine written in Rust that uses Apache Arrow as its in-memory format" — which is why Algeon's results can return as ordinary Arrow batches that your application already understands.
Sources
- Algeon project site — https://algeon.dev/ (tagline, project definition, table-function mechanism, architecture, benchmark figures, experimental-fit statements; fetched 2026-11-05)
- Show HN: "Algeon – Compose GPU graph, vector, and ML algorithms in SQL" — https://news.ycombinator.com/item?id=50274573 (author's launch post, 2026-11-01; fetched 2026-11-05)
- Algeon GitHub repository — https://github.com/algeon-dev/algeon (Apache-2.0 license, created 2026-10-19, 0.1.0 release notes, install commands, pronunciation; fetched 2026-11-05)
- Apache DataFusion repository — https://github.com/apache/datafusion (query-engine definition; fetched 2026-11-05)
- NVIDIA cuGraph documentation — https://docs.nvidia.com/cugraph/latest/ (graph analytics library description; fetched 2026-11-05)
- NVIDIA cuVS documentation — https://docs.nvidia.com/cuvs/home (vector search description; fetched 2026-11-05)
- NVIDIA cuML documentation — https://docs.nvidia.com/cuml/latest/ (ML algorithms description; fetched 2026-11-05)
- Open Source For You — "GPU SQL Engine BlazingSQL Is Now 100 Percent Open Source" (published 2019-08-07; fetched 2026-11-05)
Frequently Asked Questions
Is Algeon a database?
Not in the traditional sense. It is a query engine: data stays in Parquet files on local disk or S3-compatible storage, and Algeon executes GPU-accelerated queries against it, returning Arrow batches. There is no separate storage layer to load into — the query that uses a table function's result also builds the graph or vectors from your data.
Does Algeon require an NVIDIA GPU?
Yes. The project states it is "currently accelerated on NVIDIA GPUs," and the 0.1.0 release requires Linux, a supported NVIDIA GPU, a compatible CUDA toolkit, and (for source builds) Rust 1.95 or newer. Working sets must also fit within one GPU's memory — larger-than-GPU workloads are explicitly listed as not a fit yet.
How is Algeon different from just using cuDF, cuGraph, cuVS, or cuML directly?
Those libraries give you imperative, per-library APIs. Algeon embeds them as SQL table functions inside Apache DataFusion, so you can compose a graph algorithm, a vector search, an ML model, and plain relational joins and filters in a single declarative query — no Python glue code, no ad-hoc ETL between steps.
Is Algeon production-ready?
Not yet. The README says plainly: "Algeon is experimental. APIs and query behavior may change incompatibly. Stability and result verification remain incomplete. Compare outputs against trusted reference results." It is at version 0.1.0, and the project itself recommends comparing outputs against trusted references.
Can AI agents use Algeon?
That is one of the author's stated motivations: agents answering complex questions on a datalake can "use declarative SQL to test their hypotheses and build the next query based on the previous response, making GPU OLAP an interactive service." The Flight SQL server and the embeddable Rust library both serve that pattern.

