{"slug": "benchmarking-duckdb-v2-0-dev-on-nvidia-vera", "title": "Benchmarking DuckDB v2.0-dev on NVIDIA Vera", "summary": "DuckDB Labs benchmarked a preview build of DuckDB v2.0 (1.6.0.dev379) on NVIDIA's new Vera CPU, which posted a median TPC-H composite score of 3,131,306 QphH@Size at scale factor 1,000 versus 2,120,588.82 for an Intel Xeon 6 x86 baseline. The Vera system ran DuckDB's unmodified arm64 build on a single 88-core socket with Spatial Multithreading and up to 1.2 TB/s of memory bandwidth, while the Xeon 6 baseline used 96 of its 192 threads. Both machines ran Ubuntu 26.04 with 768 GB of memory and a single 3+ TB NVMe SSD, and the benchmark used the duckdb-tpch harness with the full TPC-H workload including update streams.", "body_md": "# Benchmarking DuckDB v2.0-dev on NVIDIA Vera\n\n*TL;DR: We put NVIDIA's new Vera CPU through its paces using the full TPC-H workload on scale factor 1,000.*\n\nWe love running benchmarks on all sorts of new hardware.\nThis often includes\n[somewhat](https://duckdb.org/everywhere/raspberry-pi-5/)\n[exotic](https://duckdb.org/everywhere/iphone-17-pro/)\n[hardware](https://duckdb.org/everywhere/morefine-m700s/) –\nwhere we sometimes need to compile a new DuckDB binary.\nThis time, in collaboration with the NVIDIA team,\nwe got our hands on their new Vera chip, aimed at agentic workloads.\n\n[NVIDIA Vera](https://www.nvidia.com/en-us/data-center/vera-cpu/) comes with 88 “Olympus” cores, Spatial Multithreading and\nup to 1.2 terabytes per second (TB/s) of memory bandwidth.\nWhat's more, Vera runs arm64 binaries – so it runs DuckDB's regular build without any modifications.\n\nTo see how this new hardware performs, we ran the full TPC-H benchmark (not just the read queries!) on scale factor 1,000. Our setup included two server platforms: an x86 baseline (Intel Xeon 6) and NVIDIA Vera.\n\n## \n[Environment](#environment)\n\n### \n[System Setup](#system-setup)\n\nBoth machines ran Ubuntu 26.04.\nTheir hardware included 768 GB of memory and a single NVMe SSD with 3+ TB of storage, formatted as ext4.\nAt the time of writing, DuckDB v2.0 was [not released yet](https://duckdb.org/2026/09/02/try-duckdb-20-alpha.html), so we used a [preview build](https://duckdb.org/install/?version=preview), `1.6.0.dev379`.\n\nTo run the experiments, we used the [`duckdb-tpch` benchmark harness](https://github.com/duckdb/duckdb-tpch/).\nTo re-create our benchmark environment, see our script below.\n\n## Click here to reveal the setup script.\n\n```\n# make sure you have the required tools\nsudo apt install git g++ cmake python3-pip\n\n# clone the repository at the commit used for the experiments\ngit clone https://github.com/duckdb/duckdb-tpch\ncd duckdb-tpch\ngit reset --hard cf096cea8a0a054cefe0e695c842ca5bca6ec04d\n\n# install the required Python dependencies\npython3 -m venv venv\nsource venv/bin/activate\npython3 -m pip install -r requirements.txt\npython3 -m pip install duckdb==1.6.0.dev379\n\n# build the dbgen tool\ncd tpch_tools_3.0.1/dbgen/\nmake\ncd ../..\n\n# generate the dataset, query streams and update streams\nexport SF=1000\n./generate.sh\n```\n\nTip To generate the large-scale TPC-H dataset efficiently,\nthe repository uses the wonderful [`tpchgen-cli` tool](https://pypi.org/project/tpchgen-cli/),\na parallel Rust rewrite of the TPC-H data generator.\nIt also uses the old generator to produce update and query streams.\n\nThis workload is relatively large-scale (SF1,000) and highly concurrent during the throughput run. To get the best performance out of DuckDB, we set the following flags:\n\n```\nSET block_allocator_memory = '500G';\nSET allocator_background_threads = true;\n```\n\n### \n[x86 Baseline: Intel Xeon 6](#x86-baseline-intel-xeon-6)\n\nThe x86 baseline setup used an Intel Xeon 6 CPU.\nThe CPU had 96 cores with [hyper-threading](https://en.wikipedia.org/wiki/Hyper-threading),\nyielding 192 threads.\nHowever, we found that DuckDB performs best when using 96 threads, so we configured it accordingly:\n\n```\nSET threads = 96;\n```\n\n### \n[NVIDIA Vera](#nvidia-vera)\n\nThe second machine had the NVIDIA Vera CPU, which packs 88 cores with [Spatial Multithreading](https://developer.nvidia.com/blog/inside-nvidia-vera-cpu-olympus-cores-built-for-maximum-single-threaded-performance-in-agentic-ai/).\nWe conducted the benchmark on a dual-socket system but restricted DuckDB to a single socket using the `numactl` command:\n\n```\nnumactl --cpunodebind=0 --membind=0 python3 benchmark.py\n```\n\nWe also pinned the number of threads:\n\n```\nSET threads = 88;\n```\n\n## \n[Benchmark Runs and Results](#benchmark-runs-and-results)\n\nWe performed an initial warmup run and discarded its result.\nThen, we conducted three complete runs in sequence and took the median value of the *QphH@Size* composite scores:\n\n|  | x86 QphH@Size | Vera QphH@Size | \n|---|---|---|\n| Run 1 | 2,120,588.82 | 3,073,292.99 | \n| Run 2 | 2,022,795.01 | 3,131,306.27 | \n| Run 3 | 2,109,782.19 | 3,052,102.87 | \n| **Median score** | **2,109,782.19** | **3,073,292.99** | \n\nThe results show that the Vera platform has a 46% performance advantage on TPC-H SF1,000 over the x86 baseline (Intel Xeon 6).\nIn fact, if we were to audit these results through the official TPC-H channels, both would stand a chance to be in the top 3 among the [TPC-H Top Performance Results](https://www.tpc.org/tpch/results/tpch_perf_results5.asp?resulttype=noncluster&version=4) on SF1,000.\n\nWe attribute the performance advantage of Vera to three key factors. First, the high memory bandwidth enables fast scans. Second, combined with low memory latency, it keeps the cores continuously occupied during processing. Finally, the Olympus cores' large caches allow efficient access to the hash tables built during aggregations and joins.\n\nWe are looking forward to continuing this benchmark by using DuckDB v2.0.0's stable build, running on the full dual-socket setup and incorporating different benchmarks.", "url": "https://wpnews.pro/news/benchmarking-duckdb-v2-0-dev-on-nvidia-vera", "canonical_source": "https://duckdb.org/2026/10/16/nvidia-vera-benchmark.html", "published_at": "2026-10-16 00:00:00+00:00", "updated_at": "2026-10-16 06:04:24.025873+00:00", "lang": "en", "topics": ["ai-infrastructure", "ai-chips"], "entities": ["DuckDB", "DuckDB v2.0", "NVIDIA", "NVIDIA Vera", "Intel Xeon 6", "Olympus cores", "duckdb-tpch", "Ubuntu 26.04"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/benchmarking-duckdb-v2-0-dev-on-nvidia-vera", "markdown": "https://wpnews.pro/news/benchmarking-duckdb-v2-0-dev-on-nvidia-vera.md", "text": "https://wpnews.pro/news/benchmarking-duckdb-v2-0-dev-on-nvidia-vera.txt", "jsonld": "https://wpnews.pro/news/benchmarking-duckdb-v2-0-dev-on-nvidia-vera.jsonld"}}