DiskANN基于图的近似近邻搜索索引
DiskANN 的目标是构建可扩展、高性能且具有成本效益的近似最近邻搜索算法。该项目采用了 Microsoft 开放源代码行为准则。
Linux 构建:
通过 apt-get 和 Intel MKL 安装以下软件包,方法是下载安装程序或使用 apt
sudo apt install cmake g++ libaio-dev libgoogle-perftools-dev clang-format-4.0 libboost-dev
构建
mkdir build && cd build && cmake .. && make -j
Windows 构建:
Windows 版本已经过 Visual Studio 2017 和 Visual Studio 2019 的企业版测试。它应该也适用于社区版和专业版,无需任何更改。
先决条件:
-
从 https://cmake.org 安装 CMAKE(v3.15.2 或更高版本)
-
从 https://software.intel.com/en-us/mkl 安装 MKL
-
从 https://www.boost.org 安装/下载 Boost
-
环境变量:
- 将名为 INTEL_ROOT 的新系统环境变量设置到 MKL 安装下的“windows”文件夹(例如,如果您的安装文件夹是“C:\Program Files (x86)\IntelSWtools”,请将 INTEL_ROOT 设置为“C:\Program Files” (x86)\IntelSWtools\compilers_and_libraries\windows")
- 将环境变量 BOOST_ROOT 设置为您的 boost 文件夹。
构建步骤:
- 打开一个新的命令提示符窗口
- 在 diskann 下创建一个“build”目录
- 切换到“build”目录并运行
<full-path-to-cmake>\cmake -G "Visual Studio 16 2019" -B. -A x64 ..
或者
<full-path-to-cmake>\cmake -G "Visual Studio 15 2017" -B. -A x64 ..
注意:由于 VS 自带(较旧)版本的 cmake,您必须指定 cmake 的完整路径以确保使用正确的版本。
- 这将在“build”目录中创建一个“diskann”解决方案文件
- 打开“diskann”解决方案并构建“diskann”项目。
- 然后使用作为解决方案一部分的 ALL_BUILD 项目构建所有其他二进制文件
- 生成的二进制文件存储在 diskann/x64/Debug 或 diskann/x64/Release 目录中。
要从命令行构建,请转到“build”目录并使用 msbuild 首先构建“diskpriority_io”和“diskann_dll”项目。然后构建整个解决方案,如下所示。
msbuild src\dll\diskann.vcxproj
msbuild diskann.sln
检查 msbuild 文档以获取其他选项,包括在调试和发布版本之间进行选择。
用法:
我们现在详细介绍主要二进制文件,使用它们可以构建和搜索驻留在内存中的索引以及驻留在 SSD 中的索引。
评论