从源代码构建和安装 cuSpatial#

先决条件#

  • gcc >= 7.5

  • cmake >= 3.26.4

  • miniforge

获取 cuSpatial 仓库#

export `CUSPATIAL_HOME=$(pwd)/cuspatial` && \
git clone https://github.com/rapidsai/cuspatial.git $CUSPATIAL_HOME

安装依赖项#

  1. export CUSPATIAL_HOME=$(pwd)/cuspatial

  2. 克隆 cuSpatial 仓库

conda env create -n cuspatial --file conda/environments/all_cuda-118_arch-x86_64.yaml

构建 cuSpatial#

在 cuSpatial 开发容器中:#

执行 build-cuspatial-cpp 来构建 libcuspatial。可以添加以下选项。

  • -DBUILD_TESTS=ON: 构建 libcuspatial 单元测试。

  • -DBUILD_BENCHMARKS=ON: 构建 libcuspatial 基准测试。

  • -DCMAKE_BUILD_TYPE=Debug: 创建 libcuspatial 的调试版本 (默认是发布版本)。此外,执行 build-cuspatial-python 来构建 cuSpatial cython 组件。

在裸机上:#

编译 libcuspatial (C++), cuspatial (cython) 和 C++ 测试

cd $CUSPATIAL_HOME && \
chmod +x ./build.sh && \
./build.sh libcuspatial cuspatial tests

此外,以下选项也常用

  • benchmarks: 构建 libcuspatial 基准测试

  • clean: 移除所有现有的构建产物和配置。执行 ./build.sh -h 查看所有可用选项的完整列表。

使用 C++ 和 Python 测试验证安装#

注意

为了管理不同分支和构建类型之间的差异,构建目录位于 $CUSPATIAL_HOME/cpp/build/[release|debug],取决于构建类型,而 $CUSPATIAL_HOME/cpp/build/latest 是指向最新构建目录的符号链接。在裸机构建中,移除下方路径中额外的 latest 这一层级。

  • C++ 测试位于 $CUSPATIAL_HOME/cpp/build/latest/gtests 目录中。

  • Python 测试位于 $CUSPATIAL_HOME/python/cuspatial/cuspatial/tests 目录中。

执行 C++ 测试

ninja -C $CUSPATIAL_HOME/cpp/build/latest test

执行 Python 测试

pytest $CUSPATIAL_HOME/python/cuspatial/cuspatial/tests/