LDBC SNB Interactive v1 Benchmark #175
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: LDBC SNB Interactive v1 Benchmark | |
on: | |
schedule: | |
- cron: "0 5 * * *" | |
workflow_dispatch: | |
inputs: | |
scale_factor: | |
description: 'Scale factor' | |
required: true | |
default: "1" | |
type: choice | |
options: | |
- "1" | |
- "10" | |
- "30" | |
- "100" | |
jobs: | |
benchmark: | |
name: interactive-v1-benchmark | |
runs-on: kuzu-self-hosted-benchmarking-xl | |
env: | |
SCALE_FACTOR: ${{ github.event.inputs.scale_factor }} | |
NUM_THREADS: 128 | |
steps: | |
- name: Set env for scheduled run | |
if: ${{ github.event_name == 'schedule' }} | |
run: | | |
echo "SCALE_FACTOR=1" >> $GITHUB_ENV | |
- name: Set env for workflow dispatch | |
if: ${{ github.event_name == 'workflow_dispatch' }} | |
run: | | |
echo "SCALE_FACTOR=${{ github.event.inputs.scale_factor }}" >> $GITHUB_ENV | |
- name: Set checkout dir | |
run: | | |
echo "KUZU_DIR=$(pwd)" >> $GITHUB_ENV | |
- name: Set CSV dir | |
run: | | |
echo "KUZU_CSV_DIR=$CSV_DIR/interactive-v1-dataset/social_network-sf${SCALE_FACTOR}-CsvComposite-LongDateFormatter/" >> $GITHUB_ENV | |
- uses: actions/checkout@v4 | |
- name: Build kuzu | |
run: | | |
pip3 install -r tools/python_api/requirements_dev.txt | |
make python | |
make java | |
- name: Clone driver | |
uses: actions/checkout@v4 | |
with: | |
repository: ldbc/ldbc_snb_interactive_v1_driver | |
path: ldbc_snb_interactive_v1_driver | |
- name: Build driver | |
working-directory: ldbc_snb_interactive_v1_driver | |
run: mvn clean install -DskipTests | |
- name: Clone implementation | |
uses: actions/checkout@v4 | |
with: | |
repository: kuzudb/ldbc_snb_interactive_v1_impl | |
token: ${{ secrets.DOC_PUSH_TOKEN }} | |
path: ldbc_snb_interactive_v1_impl | |
- name: Update implementation | |
working-directory: ldbc_snb_interactive_v1_impl | |
run: | | |
mkdir -p kuzu/src/main/resources | |
ln -s $KUZU_DIR/tools/java_api/build/kuzu_java.jar kuzu/src/main/resources/kuzu_java.jar | |
mvn clean package -DskipTests | |
- name: Load database | |
working-directory: ldbc_snb_interactive_v1_impl/kuzu | |
run: | | |
workflow_scripts/load-in-one-step.sh | |
- name: Run benchmark | |
working-directory: ldbc_snb_interactive_v1_impl/kuzu | |
run: | | |
echo "ldbc.snb.interactive.updates_dir=${KUZU_CSV_DIR}" >> driver/benchmark.properties | |
echo "ldbc.snb.interactive.parameters_dir=$CSV_DIR/interactive-v1-dataset/substitution_parameters-sf${SCALE_FACTOR}/" >> driver/benchmark.properties | |
driver/benchmark.sh | tee LDBC-SNB.log | |
- name: Upload results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: LDBC-SNB-interactive-v1-results | |
path: ldbc_snb_interactive_v1_impl/kuzu/results/LDBC-SNB-results.json | |
- name: Upload log | |
uses: actions/upload-artifact@v4 | |
with: | |
name: LDBC-SNB-interactive-v1-log | |
path: ldbc_snb_interactive_v1_impl/kuzu/LDBC-SNB.log | |
- name: Report result to server | |
working-directory: ldbc_snb_interactive_v1_impl/kuzu | |
run: | | |
python3 scripts/report_results.py |