The following dependencies are required to run the project:
- LibTorch (LibTorch_CUDA)
- PostgreSQL
- EvaDB
- tokenizers-cpp
- Spark
- Eigen
- Catch2
- h5cpp
- cpr
- xgboost
- hadoop
- Madlib
- PostgresML
To manually install the dependencies, please refer to INSTALL_DEPENDENCIES.md for more details.
Note: Some paths of the loaded data are hard-coded for the Docker environment. Please modify these paths as necessary when running the code. We are currently working on refactoring this.
We recommend using the provided Dockerfile to set up the environment. See the docker-doc/README.md for more details. Alternatively, you can manually install the dependencies by following the instructions INSTALL_DEPENDENCIES.md. InferF has been tested and supports Linux (x86). For Windows users, we recommend using Docker with Windows Subsystem for Linux (WSL).
After configuring all the dependencies, you can compile the project by following these commands:
# Run Velox setup-ubuntu to install other dependencies
./scripts/setup-ubuntu.sh
# Compile Velox in release mode
make release
# Install Python libraries for baselines
pip install -r db-ml/baseline/requirements.txt
# Compile the project at the root folder
make releaseNote: If you are using an ARM chip, you need to set CPU_TARGET="aarch64" before running setup-ubuntu.sh.
Run the following commands to download the datasets and models used in our paper. The resources will be extracted into the resources directory.
pip install gdown -U
gdown 1Fpb_jGpkxb7d5ZBC8Uqnq25uEgfOc7yV
unzip resources.zip -d resources