diff --git a/.mvn/maven.config b/.mvn/maven.config new file mode 100644 index 0000000..c83cb17 --- /dev/null +++ b/.mvn/maven.config @@ -0,0 +1,6 @@ +-e +-B +-Daether.connector.basic.downstreamThreads=1 +-Daether.transport.http.retryHandler.count=5 +-Daether.transport.http.retryHandler.interval=10000 +-Dmaven.wagon.http.retryHandler.count=5 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 3ef7e29..a40771e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION. +# SPDX-FileCopyrightText: Copyright (c) 2025-2026, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 repos: @@ -9,8 +9,9 @@ repos: - id: trailing-whitespace - id: end-of-file-fixer - id: check-symlinks + - id: check-xml - repo: https://github.com/rapidsai/pre-commit-hooks - rev: v1.4.2 + rev: v1.5.1 hooks: - id: verify-copyright name: verify-copyright @@ -24,7 +25,7 @@ repos: dependencies[.]yaml$| ^[.]pre-commit-config[.]yaml$ - repo: https://github.com/rapidsai/dependency-file-generator - rev: v1.20.2 + rev: v1.21.0 hooks: - id: rapids-dependency-file-generator args: ["--clean", "--warn-all", "--strict"] @@ -33,6 +34,6 @@ repos: hooks: - id: shellcheck - repo: https://github.com/zizmorcore/zizmor-pre-commit - rev: v1.24.1 + rev: v1.26.1 hooks: - id: zizmor diff --git a/README.md b/README.md index d88d340..7e177c4 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ This library provides a new [KnnVectorFormat](https://lucene.apache.org/core/10_ ## Building ### Prerequisites + - [CUDA 12.0+](https://developer.nvidia.com/cuda-toolkit-archive), - [Maven 3.9.6+](https://maven.apache.org/download.cgi), - [JDK 22](https://jdk.java.net/archive/) @@ -16,9 +17,11 @@ This library provides a new [KnnVectorFormat](https://lucene.apache.org/core/10_ ```sh mvn clean compile package ``` + The artifacts would be built and available in the target / folder. ### Running Tests + ```sh export LD_LIBRARY_PATH={ PATH TO YOUR LOCAL libcuvs_c.so }:$LD_LIBRARY_PATH && mvn clean test ``` diff --git a/bench/pom.xml b/bench/pom.xml index de46107..04ea66c 100644 --- a/bench/pom.xml +++ b/bench/pom.xml @@ -11,11 +11,65 @@ com.nvidia.cuvs.lucene.benchmarks cuvs-lucene-benchmarks - 26.02.0 + 26.08.0 jar cuvs-lucene-benchmarks + + + + gcs-maven-central-mirror + GCS Maven Central mirror + https://maven-central.storage-download.googleapis.com/maven2/ + + true + + + false + + + + + central + Maven Central + https://repo.maven.apache.org/maven2 + + true + + + false + + + + + + + + gcs-maven-central-mirror + GCS Maven Central mirror + https://maven-central.storage-download.googleapis.com/maven2/ + + true + + + false + + + + + central + Maven Plugin Repository + https://repo.maven.apache.org/maven2 + + true + + + false + + + + org.openjdk.jmh diff --git a/examples/README.md b/examples/README.md index 26aa83b..1c3876b 100644 --- a/examples/README.md +++ b/examples/README.md @@ -3,6 +3,7 @@ This maven project contains basic examples that showcase how `cuvs-lucene` can be used. ## Prerequisites + - [Docker](https://www.docker.com/) - [Nvidia Container Toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html) - A machine with an Nvidia GPU @@ -10,26 +11,31 @@ This maven project contains basic examples that showcase how `cuvs-lucene` can b ## Steps If you are currently in this directory (and to be in the `cuvs-lucene's` root directory) do: + ```sh cd .. ``` Then do: + ```sh docker run --rm --gpus all --pull=always --volume $PWD:$PWD --workdir $PWD -it rapidsai/ci-conda:26.08-cuda13.2.0-ubuntu24.04-py3.13 ``` Inside the docker container (and in the `cuvs-lucene's` root directory) do: + ```sh ./ci/build_java.sh && conda activate java && cd examples ``` To run Accelerated HNSW example do: + ```sh mvn clean install && java -Djava.util.logging.config.file=src/main/resources/logging.properties -cp target/examples-26.08.0-jar-with-merged-services.jar com.nvidia.cuvs.lucene.examples.AcceleratedHnswExample ``` To run the Index and Search on GPU example do: + ```sh mvn clean install && java -Djava.util.logging.config.file=src/main/resources/logging.properties -cp target/examples-26.08.0-jar-with-merged-services.jar com.nvidia.cuvs.lucene.examples.IndexAndSearchonGPUExample ``` diff --git a/examples/pom.xml b/examples/pom.xml index 1bc5cdd..c719123 100644 --- a/examples/pom.xml +++ b/examples/pom.xml @@ -21,10 +21,59 @@ UTF-8 - - - - + + + + gcs-maven-central-mirror + GCS Maven Central mirror + https://maven-central.storage-download.googleapis.com/maven2/ + + true + + + false + + + + + central + Maven Central + https://repo.maven.apache.org/maven2 + + true + + + false + + + + + + + + gcs-maven-central-mirror + GCS Maven Central mirror + https://maven-central.storage-download.googleapis.com/maven2/ + + true + + + false + + + + + central + Maven Plugin Repository + https://repo.maven.apache.org/maven2 + + true + + + false + + + diff --git a/pom.xml b/pom.xml index e13e5d2..1439039 100644 --- a/pom.xml +++ b/pom.xml @@ -43,6 +43,60 @@ UTF-8 + + + + gcs-maven-central-mirror + GCS Maven Central mirror + https://maven-central.storage-download.googleapis.com/maven2/ + + true + + + false + + + + + central + Maven Central + https://repo.maven.apache.org/maven2 + + true + + + false + + + + + + + + gcs-maven-central-mirror + GCS Maven Central mirror + https://maven-central.storage-download.googleapis.com/maven2/ + + true + + + false + + + + + central + Maven Plugin Repository + https://repo.maven.apache.org/maven2 + + true + + + false + + + + org.apache.lucene