Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add GPU and CPU packages for ANN benchmarks #1773

Merged
merged 110 commits into from
Sep 5, 2023
Merged
Show file tree
Hide file tree
Changes from 109 commits
Commits
Show all changes
110 commits
Select commit Hold shift + click to select a range
bd738ec
ANN-benchmarks: switch to use gbench
achirkin Aug 9, 2023
7473c62
Disable NVTX if the nvtx3 headers are missing
achirkin Aug 9, 2023
aa10d7c
Merge branch 'branch-23.10' into enh-google-benchmarks
achirkin Aug 10, 2023
bed126c
Merge branch 'branch-23.10' into enh-google-benchmarks
achirkin Aug 10, 2023
09ea7a7
Merge remote-tracking branch 'upstream/branch-23.10' into python-ann-…
divyegala Aug 11, 2023
2917886
try to run gbench executable
divyegala Aug 12, 2023
49732b1
Allow to compile ANN_BENCH without CUDA
achirkin Aug 17, 2023
76cfb40
Merge remote-tracking branch 'rapidsai/branch-23.10' into enh-google-…
achirkin Aug 17, 2023
9b588af
Fix style
achirkin Aug 17, 2023
6d6c17d
Adapt ANN benchmark python scripts
achirkin Aug 17, 2023
b89b27d
Make the default behavior to produce one executable per benchmark
achirkin Aug 17, 2023
163a40c
Fix style problems / pre-commit
achirkin Aug 17, 2023
0bb51a3
Merge branch 'branch-23.10' into enh-google-benchmarks
achirkin Aug 22, 2023
2b9f649
Merge remote-tracking branch 'rapidsai/branch-23.10' into enh-google-…
achirkin Aug 23, 2023
9728f7e
Merge branch 'branch-23.10' into enh-google-benchmarks
achirkin Aug 24, 2023
7b1bf01
Merge remote-tracking branch 'origin/branch-23.10' into enh-google-be…
cjnolet Aug 24, 2023
1daf2bf
Adding k and batch-size options to run.py
cjnolet Aug 24, 2023
4e0a53e
Merge branch 'branch-23.10' - CONFIGS ONLY - dataset_memtype follows …
achirkin Aug 24, 2023
04893c9
Add dataset_memory_type/query_memory_type as build/search parameters
achirkin Aug 24, 2023
b24fcf7
middle of merge, not building
divyegala Aug 24, 2023
30f7467
Tuning guide
cjnolet Aug 24, 2023
3e35121
Merge remote-tracking branch 'artem/enh-google-benchmarks' into enh-g…
cjnolet Aug 24, 2023
f927f69
compiling, index building successful, search failing
divyegala Aug 24, 2023
404cd10
Merge remote-tracking branch 'corey/enh-google-benchmarks' into pytho…
divyegala Aug 24, 2023
2f19c44
FEA first commit rebasing changes on gbench branch
dantegd Aug 25, 2023
e0586de
FIX fixing straggling changes from rebase
dantegd Aug 25, 2023
0eaa7e0
Fix FAISS using a destroyed stream from previous benchmark case
achirkin Aug 25, 2023
9896963
Merge remote-tracking branch 'artem/enh-google-benchmarks' into enh-g…
cjnolet Aug 25, 2023
4062d6f
Fixing issue in conf file and stubbing out parameter tuning guide
cjnolet Aug 25, 2023
7141c21
Adding CAGRA to tuning guide
cjnolet Aug 25, 2023
7c42a78
Adding ivf-flat description to tuning guide
cjnolet Aug 25, 2023
92a37a8
Updating ivf-flat and ivf-pq
cjnolet Aug 25, 2023
3982840
Adding tuning guide tables for ivf-flat and ivf-pq for faiss and raft
cjnolet Aug 25, 2023
d2bfc11
Reatio is not required
cjnolet Aug 25, 2023
80482fb
Merge remote-tracking branch 'corey/enh-google-benchmarks' into pytho…
divyegala Aug 25, 2023
31594e7
FIX changes that got lost during rebasing
dantegd Aug 25, 2023
82f195e
write build,search results
divyegala Aug 25, 2023
be6eb56
FIX PEP8 fixes
dantegd Aug 25, 2023
0cf1c6f
CLeaning up a couple configs
cjnolet Aug 25, 2023
f5bf15a
FIX typo in cmake conditional
dantegd Aug 25, 2023
617c60f
add tuning guide for cagra, modify build param
divyegala Aug 25, 2023
3948f0c
Merge remote-tracking branch 'corey/enh-google-benchmarks' into pytho…
divyegala Aug 26, 2023
74c9a1b
remove data_export, use gbench csvs to plot
divyegala Aug 26, 2023
902f9f4
fix typo in docs path for results
divyegala Aug 26, 2023
9b82f85
Merge pull request #2 from divyegala/python-ann-bench-use-gbench
cjnolet Aug 26, 2023
1198e1a
for plotting, pick up recall/qps from anywhere in the csv columns
divyegala Aug 26, 2023
24c1619
Merge remote-tracking branch 'divye/python-ann-bench-use-gbench' into…
cjnolet Aug 26, 2023
3f647c3
add output-filepath for plot.py
divyegala Aug 26, 2023
354287d
fix typo in docs
divyegala Aug 26, 2023
e0dfbab
Reverting changes to deep-100M
cjnolet Aug 26, 2023
16e233b
FIX typo in build.sh
dantegd Aug 27, 2023
cac89d0
DBG Make cmake verbose
dantegd Aug 27, 2023
bb3a194
Merge branch 'branch-23.10' into enh-google-benchmarks
achirkin Aug 28, 2023
7d8ee13
FAISS refinement
cjnolet Aug 28, 2023
1720e11
Merge branch 'enh-google-benchmarks' of github.com:cjnolet/raft into …
cjnolet Aug 28, 2023
c0ee323
FIX typo in build.sh
dantegd Aug 28, 2023
aa608d2
DBG single commit of changes
dantegd Aug 28, 2023
697ab89
FIX Add openmp changes from main branch
dantegd Aug 28, 2023
8b0c4c2
FIX recipe env variables
dantegd Aug 28, 2023
49fd31d
adding build time plot
divyegala Aug 28, 2023
be3da1a
merging corey's upstream
divyegala Aug 28, 2023
e92827a
FIX flag in the wrong conditional in build.sh
dantegd Aug 28, 2023
b9e7771
Merge pull request #4 from divyegala/python-ann-bench-use-gbench
cjnolet Aug 28, 2023
8e5ab5d
Merge remote-tracking branch 'artem/enh-google-benchmarks' into enh-g…
cjnolet Aug 29, 2023
f331a94
Merge branch 'enh-google-benchmarks' of github.com:cjnolet/raft into …
cjnolet Aug 29, 2023
b9defb7
FIX remove accidentally deleted file
dantegd Aug 29, 2023
b569861
ENH merge changes from debug PR
dantegd Aug 29, 2023
cdd8d6b
ENH merge changes from enh-google-benchmark branch and create package…
dantegd Aug 29, 2023
b9e9ea6
FIX build.sh flag that was deleted in a bad merge
dantegd Aug 29, 2023
e420593
Merge branch 'branch-23.10' into enh-google-benchmarks
achirkin Aug 29, 2023
913dec2
Move the 'dump_parameters' earlier in the benchmarks to have higher c…
achirkin Aug 29, 2023
8861fc8
Implementing some of the review feedback
cjnolet Aug 29, 2023
2f52b02
Bench ann
cjnolet Aug 29, 2023
c28326c
Merge remote-tracking branch 'artem/enh-google-benchmarks' into enh-g…
cjnolet Aug 29, 2023
521b696
Fixing a couple potential merge artifacts
cjnolet Aug 29, 2023
94296ca
FIX multiple fixes
dantegd Aug 29, 2023
0a35608
FIX multiple fixes
dantegd Aug 30, 2023
d11043c
Merge branch 'enh-google-benchmarks' into dev-enh-google-benchmarks
cjnolet Aug 30, 2023
d6757c1
Merge branch 'branch-23.10' into dev-enh-google-benchmarks
cjnolet Aug 30, 2023
78356aa
Merging python (will need some more fixes later but this will work fo…
cjnolet Aug 30, 2023
9ce6ce0
Merge branch 'branch-23.10' into dev-enh-google-benchmarks
cjnolet Aug 30, 2023
184c46d
FIX merge conflicts from fork and local
dantegd Aug 31, 2023
0dc3ce4
FIX many improvements and small fixes
dantegd Aug 31, 2023
5dd7db2
FIX small fixes from minor errors in prior merges
dantegd Aug 31, 2023
14bcb92
ANN-bench: more flexible cuda_stub.hpp
achirkin Aug 31, 2023
50c9fe2
Make dlopen more flexible looking for the cudart version to link.
achirkin Aug 31, 2023
c6df11a
Fixing style
cjnolet Aug 31, 2023
aaaa182
Merge remote-tracking branch 'artem/enh-ann-bench-flexible-stub' into…
cjnolet Aug 31, 2023
9ffd68e
Fixing omp error
cjnolet Aug 31, 2023
c947004
Merge branch 'branch-23.10' into enh-ann-bench-flexible-stub
achirkin Aug 31, 2023
11f353b
FIxing a couple thing in conf files
cjnolet Aug 31, 2023
858d0a5
Merge branch 'branch-23.10' into dev-enh-google-benchmarks
dantegd Sep 1, 2023
d236090
Adding data_export
cjnolet Sep 1, 2023
c47a1bf
Merge branch 'dev-enh-google-benchmarks' of github.com:dantegd/raft i…
cjnolet Sep 1, 2023
615807a
Merge branch 'branch-23.10' into enh-ann-bench-flexible-stub
achirkin Sep 1, 2023
feef4f3
Merge branch 'branch-23.10' into dev-enh-google-benchmarks
cjnolet Sep 1, 2023
fb2140f
Merge remote-tracking branch 'artem/enh-ann-bench-flexible-stub' into…
cjnolet Sep 1, 2023
998bf48
fix dask pinnings in raft-dask recipe
divyegala Sep 1, 2023
be85537
FIX PR review feedback and readme updates
dantegd Sep 1, 2023
abb4f69
Merge branch 'branch-23.10' into dev-enh-google-benchmarks
dantegd Sep 1, 2023
076d2de
DOC doc updates
dantegd Sep 1, 2023
c6014a9
FIX pep8
dantegd Sep 1, 2023
5a12ce3
FIX docs and plot datasets path
dantegd Sep 1, 2023
fbdc1fa
FIX found typo in cmake
dantegd Sep 1, 2023
954aa87
FIX missing parameter in python
dantegd Sep 1, 2023
15b0dc0
FIX correct conditional
dantegd Sep 1, 2023
d863ce6
FIX for single gpu arch detection in CMake
dantegd Sep 2, 2023
0d60c56
FIX PR review fixes and a {yea}
dantegd Sep 2, 2023
fcc158a
Merge remote-tracking branch 'origin/branch-23.10' into dev-enh-googl…
cjnolet Sep 2, 2023
1274b21
Update util.hpp
cjnolet Sep 5, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 16 additions & 3 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ ARGS=$*
# scripts, and that this script resides in the repo dir!
REPODIR=$(cd $(dirname $0); pwd)

VALIDARGS="clean libraft pylibraft raft-dask docs tests template bench-prims bench-ann clean --uninstall -v -g -n --compile-lib --compile-static-lib --allgpuarch --no-nvtx --show_depr_warn --incl-cache-stats --time -h"
VALIDARGS="clean libraft pylibraft raft-dask docs tests template bench-prims bench-ann clean --uninstall -v -g -n --compile-lib --compile-static-lib --allgpuarch --no-nvtx --cpu-only --show_depr_warn --incl-cache-stats --time -h"
HELP="$0 [<target> ...] [<flag> ...] [--cmake-args=\"<args>\"] [--cache-tool=<tool>] [--limit-tests=<targets>] [--limit-bench-prims=<targets>] [--limit-bench-ann=<targets>] [--build-metrics=<filename>]
where <target> is:
clean - remove all existing build artifacts and configuration (start over)
Expand All @@ -39,6 +39,7 @@ HELP="$0 [<target> ...] [<flag> ...] [--cmake-args=\"<args>\"] [--cache-tool=<to
--uninstall - uninstall files for specified targets which were built and installed prior
--compile-lib - compile shared library for all components
--compile-static-lib - compile static library for all components
--cpu-only - build CPU only components without CUDA. Applies to bench-ann only currently.
--limit-tests - semicolon-separated list of test executables to compile (e.g. NEIGHBORS_TEST;CLUSTER_TEST)
--limit-bench-prims - semicolon-separated list of prims benchmark executables to compute (e.g. NEIGHBORS_PRIMS_BENCH;CLUSTER_PRIMS_BENCH)
--limit-bench-ann - semicolon-separated list of ann benchmark executables to compute (e.g. HNSWLIB_ANN_BENCH;RAFT_IVF_PQ_ANN_BENCH)
Expand Down Expand Up @@ -71,6 +72,7 @@ BUILD_TESTS=OFF
BUILD_TYPE=Release
BUILD_PRIMS_BENCH=OFF
BUILD_ANN_BENCH=OFF
BUILD_CPU_ONLY=OFF
COMPILE_LIBRARY=OFF
INSTALL_TARGET=install
BUILD_REPORT_METRICS=""
Expand Down Expand Up @@ -152,7 +154,7 @@ function limitTests {
# Remove the full LIMIT_TEST_TARGETS argument from list of args so that it passes validArgs function
ARGS=${ARGS//--limit-tests=$LIMIT_TEST_TARGETS/}
TEST_TARGETS=${LIMIT_TEST_TARGETS}
echo "Limiting tests to $TEST_TARGETS"
echo "Limiting tests to $TEST_TARGETS"
fi
fi
}
Expand Down Expand Up @@ -347,7 +349,13 @@ fi
if hasArg bench-ann || (( ${NUMARGS} == 0 )); then
BUILD_ANN_BENCH=ON
CMAKE_TARGET="${CMAKE_TARGET};${ANN_BENCH_TARGETS}"
COMPILE_LIBRARY=ON
if hasArg --cpu-only; then
COMPILE_LIBRARY=OFF
BUILD_CPU_ONLY=ON
NVTX=OFF
else
COMPILE_LIBRARY=ON
fi
fi

if hasArg --no-nvtx; then
Expand Down Expand Up @@ -420,6 +428,7 @@ if (( ${NUMARGS} == 0 )) || hasArg libraft || hasArg docs || hasArg tests || has
-DBUILD_TESTS=${BUILD_TESTS} \
-DBUILD_PRIMS_BENCH=${BUILD_PRIMS_BENCH} \
-DBUILD_ANN_BENCH=${BUILD_ANN_BENCH} \
-DBUILD_CPU_ONLY=${BUILD_CPU_ONLY} \
-DCMAKE_MESSAGE_LOG_LEVEL=${CMAKE_LOG_LEVEL} \
${CACHE_ARGS} \
${EXTRA_CMAKE_ARGS}
Expand Down Expand Up @@ -493,6 +502,10 @@ if (( ${NUMARGS} == 0 )) || hasArg raft-dask; then
python -m pip install --no-build-isolation --no-deps ${REPODIR}/python/raft-dask
fi

# Build and (optionally) install the raft-ann-bench Python package
if (( ${NUMARGS} == 0 )) || hasArg bench-ann; then
python -m pip install --no-build-isolation --no-deps ${REPODIR}/python/raft-ann-bench -vvv
fi

if hasArg docs; then
set -x
Expand Down
20 changes: 19 additions & 1 deletion ci/build_python.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/bash
# Copyright (c) 2022, NVIDIA CORPORATION.
# Copyright (c) 2022-2023, NVIDIA CORPORATION.

set -euo pipefail

Expand All @@ -26,4 +26,22 @@ rapids-mamba-retry mambabuild \
--channel "${RAPIDS_CONDA_BLD_OUTPUT_DIR}" \
conda/recipes/raft-dask

# Build ann-bench for each cuda and python version
rapids-mamba-retry mambabuild \
--no-test \
--channel "${CPP_CHANNEL}" \
--channel "${RAPIDS_CONDA_BLD_OUTPUT_DIR}" \
conda/recipes/raft-ann-bench

# Build ann-bench-cpu only in CUDA 11 jobs since it only depends on python
# version
RAPIDS_CUDA_MAJOR="${RAPIDS_CUDA_VERSION%%.*}"
if [[ ${RAPIDS_CUDA_MAJOR} == "11" ]]; then
rapids-mamba-retry mambabuild \
--no-test \
--channel "${CPP_CHANNEL}" \
--channel "${RAPIDS_CONDA_BLD_OUTPUT_DIR}" \
conda/recipes/raft-ann-bench-cpu
fi

rapids-upload-conda-to-s3 python
3 changes: 0 additions & 3 deletions conda/environments/bench_ann_cuda-118_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,9 @@ dependencies:
- libcusparse-dev=11.7.5.86
- libcusparse=11.7.5.86
- libfaiss>=1.7.1
- matplotlib
- nccl>=2.9.9
- ninja
- nlohmann_json>=3.11.2
- pandas
- pyyaml
- scikit-build>=0.13.1
- sysroot_linux-64==2.17
name: bench_ann_cuda-118_arch-x86_64
2 changes: 1 addition & 1 deletion conda/recipes/libraft/build_libraft.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env bash
# Copyright (c) 2022-2023, NVIDIA CORPORATION.

./build.sh libraft --allgpuarch --compile-lib --build-metrics=compile_lib --incl-cache-stats --no-nvtx
./build.sh libraft -v --allgpuarch --compile-lib --build-metrics=compile_lib --incl-cache-stats --no-nvtx
2 changes: 1 addition & 1 deletion conda/recipes/libraft/build_libraft_headers.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/env bash
# Copyright (c) 2022-2023, NVIDIA CORPORATION.

./build.sh libraft --allgpuarch --no-nvtx
./build.sh libraft -v --allgpuarch --no-nvtx
2 changes: 1 addition & 1 deletion conda/recipes/libraft/build_libraft_template.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
# Copyright (c) 2022-2023, NVIDIA CORPORATION.

# Just building template so we verify it uses libraft.so and fail if it doesn't build
./build.sh template
./build.sh template -v
2 changes: 1 addition & 1 deletion conda/recipes/libraft/build_libraft_tests.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# Copyright (c) 2022-2023, NVIDIA CORPORATION.

./build.sh tests bench-prims --allgpuarch --no-nvtx --build-metrics=tests_bench_prims --incl-cache-stats
./build.sh tests bench-prims -v --allgpuarch --no-nvtx --build-metrics=tests_bench_prims --incl-cache-stats
cmake --install cpp/build --component testing
59 changes: 0 additions & 59 deletions conda/recipes/libraft/meta.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -320,62 +320,3 @@ outputs:
home: https://rapids.ai/
license: Apache-2.0
summary: libraft template
- name: libraft-ann-bench
version: {{ version }}
script: build_libraft_nn_bench.sh
build:
script_env: *script_env
number: {{ GIT_DESCRIBE_NUMBER }}
string: cuda{{ cuda_major }}_{{ date_string }}_{{ GIT_DESCRIBE_HASH }}_{{ GIT_DESCRIBE_NUMBER }}
ignore_run_exports_from:
{% if cuda_major == "11" %}
- {{ compiler('cuda11') }}
{% endif %}
requirements:
build:
- {{ compiler('c') }}
- {{ compiler('cxx') }}
{% if cuda_major == "11" %}
- {{ compiler('cuda11') }} ={{ cuda_version }}
{% else %}
- {{ compiler('cuda') }}
{% endif %}
- cuda-version ={{ cuda_version }}
- cmake {{ cmake_version }}
- ninja
- sysroot_{{ target_platform }} {{ sysroot_version }}
host:
- {{ pin_subpackage('libraft', exact=True) }}
- cuda-version ={{ cuda_version }}
{% if cuda_major == "11" %}
- cuda-profiler-api {{ cuda11_cuda_profiler_api_run_version }}
- libcublas {{ cuda11_libcublas_host_version }}
- libcublas-dev {{ cuda11_libcublas_host_version }}
{% else %}
- cuda-profiler-api
- libcublas-dev
{% endif %}
- glog {{ glog_version }}
- nlohmann_json {{ nlohmann_json_version }}
# Temporarily ignore faiss benchmarks on CUDA 12 because packages do not exist yet
{% if cuda_major == "11" %}
- faiss-proc=*=cuda
- libfaiss {{ faiss_version }}
{% endif %}
run:
- {{ pin_subpackage('libraft', exact=True) }}
- {{ pin_compatible('cuda-version', max_pin='x', min_pin='x') }}
{% if cuda_major == "11" %}
- cudatoolkit
{% endif %}
- glog {{ glog_version }}
# Temporarily ignore faiss benchmarks on CUDA 12 because packages do not exist yet
{% if cuda_major == "11" %}
- faiss-proc=*=cuda
- libfaiss {{ faiss_version }}
{% endif %}
- h5py {{ h5py_version }}
about:
home: https://rapids.ai/
license: Apache-2.0
summary: libraft ann bench
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/usr/bin/env bash
# Copyright (c) 2023, NVIDIA CORPORATION.

./build.sh bench-ann --allgpuarch --no-nvtx --build-metrics=bench_ann --incl-cache-stats
./build.sh bench-ann --cpu-only --no-nvtx --build-metrics=bench_ann_cpu --incl-cache-stats
cmake --install cpp/build --component ann_bench
20 changes: 20 additions & 0 deletions conda/recipes/raft-ann-bench-cpu/conda_build_config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
c_compiler_version:
- 11

cxx_compiler_version:
- 11

sysroot_version:
- "2.17"

cmake_version:
- ">=3.26.4"

glog_version:
- ">=0.6.0"

h5py_version:
- ">=3.8.0"

nlohmann_json_version:
- ">=3.11.2"
64 changes: 64 additions & 0 deletions conda/recipes/raft-ann-bench-cpu/meta.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Copyright (c) 2022-2023, NVIDIA CORPORATION.

# Usage:
# conda build . -c conda-forge -c nvidia -c rapidsai
{% set version = environ.get('GIT_DESCRIBE_TAG', '0.0.0.dev').lstrip('v') %}
{% set minor_version = version.split('.')[0] + '.' + version.split('.')[1] %}
{% set py_version = environ['CONDA_PY'] %}
{% set cuda_version = '.'.join(environ['RAPIDS_CUDA_VERSION'].split('.')[:2]) %}
{% set date_string = environ['RAPIDS_DATE_STRING'] %}

package:
name: raft-ann-bench-cpu
version: {{ version }}
script: build.sh

source:
git_url: ../../..

build:
script_env:
- AWS_ACCESS_KEY_ID
- AWS_SECRET_ACCESS_KEY
- AWS_SESSION_TOKEN
- CMAKE_C_COMPILER_LAUNCHER
- CMAKE_CUDA_COMPILER_LAUNCHER
- CMAKE_CXX_COMPILER_LAUNCHER
- CMAKE_GENERATOR
- PARALLEL_LEVEL
- RAPIDS_ARTIFACTS_DIR
- SCCACHE_BUCKET
- SCCACHE_IDLE_TIMEOUT
- SCCACHE_REGION
- SCCACHE_S3_KEY_PREFIX=libraft-aarch64 # [aarch64]
- SCCACHE_S3_KEY_PREFIX=libraft-linux64 # [linux64]
- SCCACHE_S3_USE_SSL
number: {{ GIT_DESCRIBE_NUMBER }}
string: py{{ py_version }}_{{ date_string }}_{{ GIT_DESCRIBE_HASH }}_{{ GIT_DESCRIBE_NUMBER }}

requirements:
build:
- {{ compiler('c') }}
- {{ compiler('cxx') }}
- cmake {{ cmake_version }}
- ninja
- sysroot_{{ target_platform }} {{ sysroot_version }}

host:
- glog {{ glog_version }}
- matplotlib
- nlohmann_json {{ nlohmann_json_version }}
- python
- pyyaml

run:
- glog {{ glog_version }}
- h5py {{ h5py_version }}
- matplotlib
- python
- pyyaml

about:
home: https://rapids.ai/
license: Apache-2.0
summary: libraft ann bench
5 changes: 5 additions & 0 deletions conda/recipes/raft-ann-bench/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/usr/bin/env bash
# Copyright (c) 2023, NVIDIA CORPORATION.

./build.sh bench-ann -v --allgpuarch --no-nvtx --build-metrics=bench_ann --incl-cache-stats
cmake --install cpp/build --component ann_bench
73 changes: 73 additions & 0 deletions conda/recipes/raft-ann-bench/conda_build_config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
c_compiler_version:
- 11

cxx_compiler_version:
- 11

cuda_compiler:
- cuda-nvcc

cuda11_compiler:
- nvcc

sysroot_version:
- "2.17"

cmake_version:
- ">=3.26.4"

nccl_version:
- ">=2.9.9"

gtest_version:
- ">=1.13.0"

glog_version:
- ">=0.6.0"

faiss_version:
- ">=1.7.1"

h5py_version:
- ">=3.8.0"

nlohmann_json_version:
- ">=3.11.2"

# The CTK libraries below are missing from the conda-forge::cudatoolkit package
# for CUDA 11. The "*_host_*" version specifiers correspond to `11.8` packages
# and the "*_run_*" version specifiers correspond to `11.x` packages.

cuda11_libcublas_host_version:
- "=11.11.3.6"

cuda11_libcublas_run_version:
- ">=11.5.2.43,<12.0.0"

cuda11_libcurand_host_version:
- "=10.3.0.86"

cuda11_libcurand_run_version:
- ">=10.2.5.43,<10.3.1"

cuda11_libcusolver_host_version:
- "=11.4.1.48"

cuda11_libcusolver_run_version:
- ">=11.2.0.43,<11.4.2"

cuda11_libcusparse_host_version:
- "=11.7.5.86"

cuda11_libcusparse_run_version:
- ">=11.6.0.43,<12.0.0"

# `cuda-profiler-api` only has `11.8.0` and `12.0.0` packages for all
# architectures. The "*_host_*" version specifiers correspond to `11.8` packages and the
# "*_run_*" version specifiers correspond to `11.x` packages.

cuda11_cuda_profiler_api_host_version:
- "=11.8.86"

cuda11_cuda_profiler_api_run_version:
- ">=11.4.240,<12"
Loading