Feat/configurable dataset path - #164
Conversation
- 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
There was a problem hiding this comment.
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.
| # Allow external projects to specify dataset path or disable dataset copy | ||
| option(LIBAMM_SKIP_DATASET_COPY "Skip copying benchmark datasets" OFF) |
There was a problem hiding this comment.
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).
| # 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. |
| 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") |
There was a problem hiding this comment.
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.
| 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") |
- 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
No description provided.