CANDY
收藏资源简介:
CANDY数据集由新加坡科技设计大学等机构创建,专注于连续近似最近邻搜索的动态数据摄取。该数据集包含多种应用领域的真实世界工作负载,如文本嵌入、图像处理和音频处理,以及一个新合成数据集WTE。创建过程中,数据集采用了先进的数据处理策略,如数据丢弃和微批处理,以模拟真实世界的动态数据摄取。CANDY数据集主要用于评估和优化近似最近邻算法在动态环境中的适应性和性能,旨在解决实时数据更新和分布变化带来的挑战。
The CANDY dataset was developed by institutions including the Singapore University of Technology and Design (SUTD), focusing on dynamic data ingestion for continuous approximate nearest neighbor (ANN) search. This dataset includes real-world workloads from diverse application domains, such as text embedding, image processing, and audio processing, alongside a newly synthesized dataset named WTE. During its development, advanced data processing strategies including data dropping and micro-batching were adopted to simulate real-world dynamic data ingestion scenarios. The CANDY dataset is primarily used to evaluate and optimize the adaptability and performance of approximate nearest neighbor algorithms in dynamic environments, aiming to address the challenges posed by real-time data updates and distribution shifts.
CANDY 数据集概述
构建选项
- ENABLE_PAPI:启用基于 PAPI 的性能工具(默认关闭)。
- ENABLE_HDF5:启用从 HDF5 加载数据(默认关闭)。
- ENABLE_PYBIND:启用 Python 绑定(默认关闭)。
一键构建示例
- buildWithCuda.sh:构建支持 CUDA 的 CANDY 和 PyCANDY。
- buildCPUOnly.sh:仅 CPU 版本的构建。
手动构建要求
- G++11:适用于 Ubuntu 22.04 及以上版本。
- BLAS 和 LAPACK:需要安装 liblapack-dev 和 libblas-dev。
- Torch:需要安装 PyTorch,参考 https://pytorch.org/get-started/locally/。
可选依赖
- PAPI:包含在 thirdparty/papi_7_0_1 中。
- Graphviz:用于可视化。
- Ray:用于分布式 CANDY。
构建步骤
- CUDA 相关:仅在 PyTorch 支持 CUDA 时需要。
- Shell 构建:使用
cmake和make进行构建。
评估脚本
- 位置:位于
build/benchmark/scripts目录下。 - 使用示例:扫描矩阵 A 的行元素数量。
已知问题
- Python 兼容性:存在一些已知问题。




