You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/README.md
+28-6Lines changed: 28 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,22 @@ Sirius is a GPU acceleration layer for SQL analytics. It plugs into existing eng
17
17
- CUDA >= 11.2
18
18
- CMake >= 3.30.4 (follow this [instruction](https://medium.com/@yulin_li/how-to-update-cmake-on-ubuntu-9602521deecb) to upgrade CMake)
19
19
20
-
## Installing dependencies
20
+
## Dependencies (Option 1): Use Docker Image
21
+
To use the docker image with dependencies fully installed:
22
+
```
23
+
sudo docker run --gpus all -it yifeiyang7/sirius_dependencies:latest bash
24
+
```
25
+
26
+
Make sure both `nvidia-driver` and `nvidia-container-toolkit` are installed, `nvidia-driver` can be installed by
27
+
```
28
+
sudo apt install nvidia-driver-535
29
+
```
30
+
and `nvidia-container-toolkit` can be installed following the [instructions](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html). Then restart docker by
The `--recurse-submodules` will ensure DuckDB is pulled which is required to build the extension.
62
78
63
-
## Building Sirius
64
79
To build Sirius:
65
80
```
66
81
make -j {nproc}
67
82
```
68
83
69
-
## Generating TPC-H dataset
70
-
Unzip `dbgen.zip` and run `./dbgen -s {SF}`.
84
+
## Generating and Loading TPC-H dataset
85
+
To generate the TPC-H dataset
86
+
```
87
+
unzip dbgen.zip
88
+
cd dbgen
89
+
./dbgen -s 1 && mkdir s1 && mv *.tbl s1 # this generates dataset of SF1
90
+
cd ..
91
+
```
92
+
71
93
To load the TPC-H dataset to duckdb:
72
94
```
73
95
./build/release/duckdb {DATABASE_NAME}.duckdb
@@ -79,7 +101,7 @@ To run Sirius, simply start the shell with `./build/release/duckdb {DATABASE_NAM
79
101
From the duckdb shell, initialize the Sirius buffer manager with `call gpu_buffer_init`. This API accepts 2 parameters, the GPU caching region size and the GPU processing region size. The GPU caching region is a memory region where the raw data is stored in GPUs, whereas the GPU processing region is where intermediate results are stored in GPUs (hash tables, join results .etc).
80
102
For example, to set the caching region as 1 GB and the processing region as 2 GB, we can run the following command:
81
103
```
82
-
call gpu_buffer_init("1 GB", "2 GB")
104
+
call gpu_buffer_init("1 GB", "2 GB");
83
105
```
84
106
85
107
After setting up Sirius, we can execute SQL queries using the `call gpu_processing`:
0 commit comments