Skip to content

Feat/configurable dataset path - #164

Merged
ShuhaoZhangTony merged 3 commits into
mainfrom
feat/configurable-dataset-path
Nov 11, 2025
Merged

ShuhaoZhangTony merged 3 commits into
mainfrom
feat/configurable-dataset-path

Conversation

@ShuhaoZhangTony

Copy link
Copy Markdown
Collaborator

No description provided.

- Add LIBAMM_SKIP_DATASET_COPY option to disable dataset copying
- Add LIBAMM_DATASET_SOURCE_DIR to specify custom dataset location
- Gracefully handle missing datasets with informative messages
- Allows embedding projects to manage datasets independently
- Reduces build size when datasets are not needed

This enables projects like sageDB to:
1. Skip dataset copy when not needed (saves space and time)
2. Point to centralized dataset repositories (e.g., sageData)
3. Avoid CI failures when datasets are not available
BREAKING CHANGE: Benchmark datasets removed from LibAMM repository

- Deleted ~325MB of benchmark datasets from repository
- Added README.md with migration instructions
- Datasets now centrally managed in sageData repository
- Reduces LibAMM repository size significantly

Migration details:
- New location: https://github.com/intellistream/sageData
- Path: libamm-benchmark/datasets/
- Managed with Git LFS for efficient storage
- All datasets preserved and accessible

Users who need datasets should either:
1. Set LIBAMM_SKIP_DATASET_COPY=ON (default for library usage)
2. Clone sageData and set LIBAMM_DATASET_SOURCE_DIR

Related commits:
- feat: Make benchmark dataset path configurable (previous commit)
- intellistream/sageData feat/add-libamm-datasets

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This pull request implements a configurable dataset path feature for LibAMM, allowing better control over benchmark dataset management. The main changes include:

  • Moving datasets to a centralized external repository (sageData)
  • Adding CMake options to configure dataset source path or skip dataset copying
  • Removing dataset files and their README documentation from the repository

Reviewed Changes

Copilot reviewed 20 out of 35 changed files in this pull request and generated 2 comments.

File Description
CMakeLists.txt Adds configurable dataset path options with LIBAMM_SKIP_DATASET_COPY and LIBAMM_DATASET_SOURCE_DIR
benchmark/datasets/README.md Updates documentation to point to new centralized sageData repository
benchmark/datasets/*/README.md Removes dataset-specific documentation files
benchmark/datasets// Removes actual dataset files (binary and data files)

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread CMakeLists.txt
Comment on lines +166 to +167
# Allow external projects to specify dataset path or disable dataset copy
option(LIBAMM_SKIP_DATASET_COPY "Skip copying benchmark datasets" OFF)

Copilot AI Nov 11, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These new CMake options lack inline comments explaining their purpose and usage. Consider adding comments above each option to clarify when users should set them (e.g., when using LibAMM as an embedded library vs. standalone).

Suggested change
# Allow external projects to specify dataset path or disable dataset copy
option(LIBAMM_SKIP_DATASET_COPY "Skip copying benchmark datasets" OFF)
# Allow external projects to specify dataset path or disable dataset copy
# Option to skip copying benchmark datasets during installation.
# Set to ON if you do not need the datasets (e.g., when embedding LibAMM or using your own datasets).
option(LIBAMM_SKIP_DATASET_COPY "Skip copying benchmark datasets" OFF)
# Path to the source directory containing LibAMM benchmark datasets.
# Change this if your datasets are located elsewhere, or if you want to use custom datasets.

Copilot uses AI. Check for mistakes.
Comment thread CMakeLists.txt
file(COPY ${source_directory} DESTINATION ${destination_directory})
else()
message(STATUS "LibAMM datasets not found at ${LIBAMM_DATASET_SOURCE_DIR}, skipping dataset copy")
message(STATUS "Set LIBAMM_DATASET_SOURCE_DIR to specify a different path, or set LIBAMM_SKIP_DATASET_COPY=ON to disable")

Copilot AI Nov 11, 2025

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The guidance message could be more actionable. Consider specifying the expected sageData repository URL in the message to help users know where to obtain the datasets.

Suggested change
message(STATUS "Set LIBAMM_DATASET_SOURCE_DIR to specify a different path, or set LIBAMM_SKIP_DATASET_COPY=ON to disable")
message(STATUS "Set LIBAMM_DATASET_SOURCE_DIR to specify a different path, or set LIBAMM_SKIP_DATASET_COPY=ON to disable. You can obtain the required datasets from: https://github.com/sage-org/sageData")

Copilot uses AI. Check for mistakes.
- Added -DLIBAMM_SKIP_DATASET_COPY=ON to CI configuration
- Unit tests use test/datasets/toy/, not benchmark/datasets/
- Benchmark datasets moved to sageData repository
- Keeps CI builds fast and efficient
@ShuhaoZhangTony
ShuhaoZhangTony merged commit 06f1c2d into main Nov 11, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants