Skip to content

Commit 02562c7

Browse files
committed
Change the script to use default branch and simplify install script. Add H100 result too
1 parent a88ee07 commit 02562c7

4 files changed

Lines changed: 124 additions & 124 deletions

File tree

sirius/benchmark.sh

Lines changed: 27 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,63 @@
11
#!/bin/bash
2+
# ClickBench benchmark for Sirius (GPU-accelerated DuckDB extension)
3+
#
4+
# Usage: ./benchmark.sh
5+
# Prerequisites: NVIDIA GPU with CUDA driver, internet access
26

3-
# Install dependencies (ensure the filename matches your setup script)
47
source dependencies.sh
58

6-
# Ensure Pixi is in the PATH for the current script
7-
export PATH="$HOME/.pixi/bin:$PATH"
9+
# Verify pixi is available
10+
if ! command -v pixi &> /dev/null; then
11+
echo "Error: pixi not found. Check dependencies.sh output."
12+
exit 1
13+
fi
814

9-
# Clean up any broken previous runs
15+
# ---------------------------------------------------------------------------
16+
# 1. Build Sirius
17+
# ---------------------------------------------------------------------------
1018
rm -rf sirius
11-
12-
# Build Sirius from your optimized fork
13-
git clone --recurse-submodules -b clickbench https://github.com/sirius-db/sirius.git
19+
git clone --recurse-submodules https://github.com/sirius-db/sirius.git
1420
cd sirius
1521

16-
# Enable strict error checking: fail immediately if the build crashes
1722
set -e
1823

19-
# Set up the substrait extension as an external extension (required by sirius)
20-
mkdir -p duckdb/extension_external
21-
git clone https://github.com/duckdb/substrait.git duckdb/extension_external/substrait
22-
git -C duckdb/extension_external/substrait reset --hard ec9f8725df7aa22bae7217ece2f221ac37563da4
23-
24-
# Install the pixi environment first so the prefix path exists
2524
pixi install
26-
27-
# LIBCUDF_ENV_PREFIX must be set before cmake runs (CMakeLists.txt checks it at configure time)
2825
export LIBCUDF_ENV_PREFIX="$(pwd)/.pixi/envs/default"
26+
pixi run make -j"$(nproc)"
2927

30-
# Execute the build process inside the isolated Pixi environment
31-
pixi run make -j$(nproc)
32-
33-
# Inject the Pixi environment variables into the current bash session
28+
# Make the build artifacts available
3429
eval "$(pixi shell-hook)"
35-
36-
# Add the compiled duckdb binary to the PATH
37-
export PATH="$(pwd)/build/release/:$PATH"
38-
39-
# Return to the parent directory
30+
export PATH="$(pwd)/build/release:$PATH"
4031
cd ..
4132

42-
# Turn strict error checking back off for the benchmark phase
4333
set +e
4434

45-
# Load the data
35+
# ---------------------------------------------------------------------------
36+
# 2. Load data
37+
# ---------------------------------------------------------------------------
4638
wget --continue --progress=dot:giga 'https://datasets.clickhouse.com/hits_compatible/hits.parquet'
4739

4840
echo -n "Load time: "
4941
command time -f '%e' duckdb hits.db -f create.sql -f load.sql
5042

51-
# Run the queries
43+
# ---------------------------------------------------------------------------
44+
# 3. Run benchmark
45+
# ---------------------------------------------------------------------------
5246
./run.sh 2>&1 | tee log.txt
5347

5448
echo -n "Data size: "
5549
wc -c hits.db
5650

51+
# ---------------------------------------------------------------------------
52+
# 4. Format results
53+
# ---------------------------------------------------------------------------
5754
cat log.txt | \
5855
grep -P '^\d|Killed|Segmentation|^Run Time \(s\): real' | \
59-
sed -r -e 's/^.*(Killed|Segmentation).*$/null\nnull\nnull/; s/^Run Time \(s\): real\s*([0-9.]+).*$/\1/' | \
56+
sed -r -e 's/^.(Killed|Segmentation).$/null\nnull\nnull/; s/^Run Time \(s\): real\s*([0-9.]+).*$/\1/' | \
6057
awk '{
6158
buf[i++] = $1
6259
if (i == 4) {
6360
printf "[%s,%s,%s],\n", buf[1], buf[2], buf[3]
6461
i = 0
6562
}
66-
}'
63+
}'

sirius/dependencies.sh

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
#!/bin/bash
2-
echo "Checking dependencies..."
2+
#!/bin/bash
3+
# Install system dependencies required to build Sirius and run ClickBench.
34

5+
echo "Installing system dependencies..."
46
sudo apt-get update -y
57
sudo apt-get install -y git wget curl build-essential time
68

7-
# Install Pixi globally so it is available to all scripts without PATH hacks
9+
# Install Pixi package manager (used to manage CUDA/cuDF toolchain)
810
if ! command -v pixi &> /dev/null; then
9-
echo "Pixi not found. Installing globally..."
11+
echo "Pixi not found. Installing..."
1012
curl -fsSL https://pixi.sh/install.sh | sudo PIXI_BIN_DIR=/usr/local/bin PIXI_NO_PATH_UPDATE=1 bash
1113
fi
14+
15+
echo "All dependencies installed."

sirius/results/lambda-GH200.json

Lines changed: 45 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,57 @@
11
{
22
"system": "Sirius",
3-
"date": "2026-03-06",
3+
"date": "2026-03-09",
44
"machine": "lambda-GH200",
55
"cluster_size": 1,
66
"proprietary": "no",
77
"hardware": "gpu",
88
"tuned": "no",
99
"tags": ["C++","column-oriented","embedded"],
10-
"load_time": 21.54,
10+
"load_time": 25.30,
1111
"data_size": 26887598080,
1212
"result": [
13-
[0.015,0.001,0.001],
14-
[0.346,0.001,0.002],
15-
[0.706,0.002,0.003],
16-
[0.727,0.002,0.002],
17-
[0.486,0.005,0.005],
18-
[2.033,0.008,0.008],
19-
[0.252,0.002,0.002],
20-
[0.245,0.002,0.003],
21-
[0.843,0.012,0.010],
22-
[1.220,0.093,0.092],
23-
[1.556,0.005,0.003],
24-
[1.566,0.005,0.004],
25-
[1.733,0.013,0.013],
26-
[2.149,0.019,0.017],
27-
[1.959,0.015,0.014],
28-
[0.501,0.011,0.011],
29-
[2.209,0.026,0.026],
30-
[2.135,0.024,0.023],
31-
[3.192,0.044,0.044],
32-
[0.462,0.002,0.002],
33-
[9.283,0.039,0.039],
34-
[8.037,0.012,0.012],
35-
[15.642,0.023,0.023],
36-
[68.510,0.061,0.062],
37-
[3.150,0.007,0.008],
38-
[1.688,0.008,0.008],
39-
[2.272,0.007,0.007],
40-
[10.939,0.132,0.132],
41-
[8.658,0.240,0.240],
42-
[0.523,0.034,0.033],
43-
[2.969,0.008,0.008],
44-
[3.713,0.013,0.012],
45-
[1.497,0.062,0.061],
46-
[6.336,0.053,0.052],
47-
[6.301,0.055,0.055],
48-
[0.433,0.018,0.017],
49-
[6.758,0.005,0.004],
50-
[7.578,0.004,0.004],
51-
[6.656,0.003,0.003],
52-
[14.840,0.007,0.007],
53-
[3.172,0.004,0.003],
54-
[1.883,0.003,0.003],
55-
[1.448,0.003,0.002]
13+
[0.015,0.001,0.000],
14+
[0.369,0.001,0.002],
15+
[0.705,0.003,0.002],
16+
[0.763,0.002,0.002],
17+
[0.471,0.010,0.009],
18+
[1.743,0.020,0.019],
19+
[0.263,0.002,0.001],
20+
[0.240,0.003,0.002],
21+
[0.849,0.017,0.016],
22+
[1.234,0.134,0.135],
23+
[1.406,0.005,0.004],
24+
[1.405,0.005,0.005],
25+
[1.341,0.016,0.016],
26+
[1.787,0.024,0.023],
27+
[1.582,0.017,0.017],
28+
[0.485,0.014,0.013],
29+
[1.771,0.031,0.031],
30+
[1.800,0.028,0.028],
31+
[2.875,0.048,0.048],
32+
[0.438,0.002,0.001],
33+
[10.325,0.039,0.038],
34+
[7.736,0.042,0.042],
35+
[16.230,0.088,0.086],
36+
[68.376,0.061,0.060],
37+
[2.300,0.008,0.007],
38+
[1.315,0.009,0.007],
39+
[1.868,0.007,0.007],
40+
[8.857,0.157,0.157],
41+
[7.839,0.286,0.285],
42+
[0.451,0.033,0.031],
43+
[2.516,0.013,0.012],
44+
[3.305,0.021,0.020],
45+
[1.483,0.117,0.117],
46+
[6.224,0.079,0.078],
47+
[6.292,0.084,0.083],
48+
[0.428,0.024,0.024],
49+
[6.667,0.005,0.005],
50+
[8.194,0.005,0.003],
51+
[6.585,0.003,0.003],
52+
[13.916,0.008,0.007],
53+
[2.962,0.003,0.003],
54+
[1.740,0.003,0.003],
55+
[1.359,0.003,0.003]
5656
]
5757
}

sirius/results/p5.4xlarge.json

Lines changed: 45 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"system": "Sirius",
3-
"date": "2025-12-07",
3+
"date": "2026-03-09",
44
"machine": "p5.4xlarge",
55
"cluster_size": 1,
66
"proprietary": "no",
@@ -10,49 +10,48 @@
1010
"load_time": 237.18,
1111
"data_size": 26921938944,
1212
"result": [
13-
[0.028,0.000,0.001],
14-
[1.468,0.002,0.001],
15-
[3.838,0.003,0.002],
16-
[3.447,0.002,0.002],
17-
[3.028,0.005,0.005],
18-
[6.696,0.008,0.008],
19-
[1.168,0.002,0.002],
20-
[1.840,0.003,0.002],
21-
[5.249,0.092,0.093],
22-
[7.568,0.098,0.097],
23-
[6.409,0.015,0.015],
24-
[6.295,0.015,0.015],
25-
[6.824,0.069,0.068],
26-
[9.907,0.191,0.192],
27-
[8.017,0.075,0.074],
28-
[3.551,0.012,0.011],
29-
[9.769,0.121,0.121],
30-
[9.751,0.024,0.024],
31-
[13.273,0.161,0.160],
32-
[2.906,0.002,0.001],
33-
[41.637,0.040,0.040],
34-
[47.953,0.012,0.012],
35-
[81.308,0.031,0.031],
36-
[224.830,0.065,0.065],
37-
[11.813,0.008,0.008],
38-
[6.547,0.007,0.007],
39-
[12.030,0.128,0.129],
40-
[43.496,0.164,0.163],
41-
[32.878,0.274,0.274],
42-
[2.226,0.038,0.036],
43-
[13.673,0.008,0.007],
44-
[19.490,0.012,0.012],
45-
[13.002,0.081,0.081],
46-
[42.224,0.545,0.547],
47-
[42.345,0.556,0.552],
48-
[2.619,0.019,0.019],
49-
[45.643,0.009,0.009],
50-
[33.959,0.004,0.004],
51-
[45.765,0.003,0.003],
52-
[73.482,0.020,0.020],
53-
[16.912,0.003,0.003],
54-
[14.177,0.003,0.002],
55-
[9.339,0.003,0.002]
13+
[0.028,0.001,0.000],
14+
[1.331,0.002,0.002],
15+
[3.862,0.003,0.002],
16+
[3.468,0.002,0.002],
17+
[3.334,0.010,0.009],
18+
[6.078,0.020,0.019],
19+
[1.217,0.003,0.001],
20+
[1.696,0.003,0.003],
21+
[4.523,0.018,0.018],
22+
[8.371,0.141,0.140],
23+
[6.283,0.006,0.004],
24+
[8.090,0.006,0.005],
25+
[6.460,0.016,0.017],
26+
[9.827,0.024,0.024],
27+
[7.784,0.018,0.017],
28+
[3.622,0.015,0.014],
29+
[8.422,0.032,0.031],
30+
[9.131,0.029,0.029],
31+
[12.604,0.051,0.051],
32+
[3.382,0.002,0.002],
33+
[43.575,0.041,0.040],
34+
[47.567,0.044,0.043],
35+
[75.496,0.091,0.090],
36+
[218.280,0.065,0.064],
37+
[11.345,0.008,0.007],
38+
[6.019,0.008,0.008],
39+
[11.176,0.007,0.007],
40+
[44.371,0.151,0.151],
41+
[33.973,0.288,0.286],
42+
[2.267,0.038,0.039],
43+
[11.605,0.014,0.013],
44+
[16.902,0.021,0.022],
45+
[13.003,0.126,0.124],
46+
[43.721,0.080,0.080],
47+
[43.739,0.085,0.085],
48+
[3.042,0.025,0.025],
49+
[46.731,0.005,0.005],
50+
[34.366,0.005,0.004],
51+
[46.588,0.004,0.003],
52+
[74.694,0.008,0.007],
53+
[16.826,0.004,0.003],
54+
[13.496,0.004,0.003],
55+
[9.627,0.003,0.003]
5656
]
57-
}
58-
57+
}

0 commit comments

Comments
 (0)