diff --git a/fern/build_docs.sh b/fern/build_docs.sh
index 3dd001814b..58613e5ae6 100755
--- a/fern/build_docs.sh
+++ b/fern/build_docs.sh
@@ -52,8 +52,22 @@ require_node_22() {
require_node_22
+fern_config_version() {
+ python3 - "${SCRIPT_DIR}/fern.config.json" <<'PY'
+import json
+import sys
+
+with open(sys.argv[1], encoding="utf-8") as f:
+ print(json.load(f).get("version", "*"))
+PY
+}
+
+FERN_VERSION="$(fern_config_version)"
+
if [[ -n "${FERN_CLI:-}" ]]; then
FERN_CMD=("${FERN_CLI}")
+elif [[ "${FERN_VERSION}" != "*" ]]; then
+ FERN_CMD=("npx" "--yes" "fern-api@${FERN_VERSION}")
elif command -v fern >/dev/null 2>&1; then
FERN_CMD=("fern")
else
diff --git a/fern/docs.yml b/fern/docs.yml
index 6a7260306d..adc7034efd 100644
--- a/fern/docs.yml
+++ b/fern/docs.yml
@@ -30,6 +30,22 @@ redirects:
destination: "/cuvs/developer-guide/coding-guidelines/cpp-guidelines"
- source: "/cuvs/developer-guide/guidelines/python-guidelines"
destination: "/cuvs/developer-guide/coding-guidelines/python-guidelines"
+ - source: "/cuvs/user-guide/compatibility"
+ destination: "/cuvs/user-guide/field-guide/compatibility"
+ - source: "/cuvs/user-guide/integration-patterns"
+ destination: "/cuvs/user-guide/field-guide/integration-patterns"
+ - source: "/cuvs/user-guide/advanced-topics"
+ destination: "/cuvs/user-guide/field-guide"
+ - source: "/cuvs/user-guide/advanced-topics/jit-compilation"
+ destination: "/cuvs/user-guide/field-guide/jit-compilation"
+ - source: "/cuvs/user-guide/advanced-topics/udf-usage"
+ destination: "/cuvs/user-guide/field-guide/udf-usage"
+ - source: "/cuvs/developer-guide/advanced-topics/jit-compilation"
+ destination: "/cuvs/user-guide/field-guide/jit-compilation"
+ - source: "/cuvs/developer-guide/abi-stability"
+ destination: "/cuvs/developer-guide/advanced-topics/abi-stability"
+ - source: "/cuvs/developer-guide/link-time-optimization"
+ destination: "/cuvs/developer-guide/advanced-topics/link-time-optimization"
layout:
searchbar-placement: "header"
page-width: "1376px"
@@ -206,13 +222,13 @@ navigation:
- page: "Wiki-all Dataset"
hidden: true
path: "./pages/cuvs_bench/wiki_all_dataset.md"
- - page: "Compatibility"
- path: "./pages/user_guide/abi_stability.md"
- - page: "Integration Patterns"
- path: "./pages/user_guide/integration_patterns.md"
- - section: "Advanced Topics"
- path: "./pages/advanced_topics.md"
+ - section: "Field Guide"
+ path: "./pages/field_guide.md"
contents:
+ - page: "Compatibility"
+ path: "./pages/user_guide/abi_stability.md"
+ - page: "Integration Patterns"
+ path: "./pages/user_guide/integration_patterns.md"
- page: "JIT Compilation"
path: "./pages/jit_compilation.md"
- page: "UDF Usage"
@@ -233,10 +249,12 @@ navigation:
path: "./pages/java_guidelines.md"
- page: "Python Guidelines"
path: "./pages/python_guidelines.md"
- - page: "ABI Stability"
- path: "./developer_guide/abi_stability.md"
- - page: "Link-time Optimization"
- path: "./pages/jit_lto_guide.md"
+ - section: "Advanced Topics"
+ contents:
+ - page: "ABI Stability"
+ path: "./developer_guide/abi_stability.md"
+ - page: "Link-time Optimization"
+ path: "./pages/jit_lto_guide.md"
- page: "Contributing"
path: "./pages/contributing.md"
- section: "API Reference"
diff --git a/fern/fern.config.json b/fern/fern.config.json
index 08c703bf54..5495dca9a7 100644
--- a/fern/fern.config.json
+++ b/fern/fern.config.json
@@ -1,4 +1,4 @@
{
"organization": "nvidia",
- "version": "*"
+ "version": "5.44.3"
}
diff --git a/fern/pages/advanced_topics.md b/fern/pages/advanced_topics.md
deleted file mode 100644
index 8d96e3752d..0000000000
--- a/fern/pages/advanced_topics.md
+++ /dev/null
@@ -1,13 +0,0 @@
----
-slug: user-guide/advanced-topics
----
-
-# Advanced Topics
-
-Use these pages when working on specialized NVIDIA cuVS development topics that need lower-level implementation context, runtime behavior, or platform-specific guidance.
-
-## Topic Guides
-
-- [ABI Stability](/developer-guide/abi-stability): understand ABI expectations for developer-facing APIs and downstream integrations.
-- [JIT Compilation](/developer-guide/advanced-topics/jit-compilation): understand when NVIDIA cuVS triggers just-in-time compilation, how caches behave, and how to warm up JIT-compiled kernels.
-- [Link-time Optimization](/developer-guide/link-time-optimization): use JIT LTO for CUDA compilation, fragment generation, and runtime linking workflows.
diff --git a/fern/pages/api_guide.md b/fern/pages/api_guide.md
index 37ceb1cc89..411d8c02c8 100644
--- a/fern/pages/api_guide.md
+++ b/fern/pages/api_guide.md
@@ -6,7 +6,7 @@ slug: user-guide/api-guides
Use these pages to find task-focused NVIDIA cuVS API examples for clustering, vector indexing, preprocessing, and supporting routines.
-NVIDIA cuVS is written in C++ at its core and wrapped by a stable C API layer. The Python, Java, Rust, and Go bindings use that C layer so they can share the same ABI boundary; see [Compatibility](/user-guide/compatibility) for why that matters. These API guides are intended for general use and include examples for supported programming languages where possible, but some guides document C++ concepts explicitly because all NVIDIA cuVS algorithm implementations are C++ at the core.
+NVIDIA cuVS is written in C++ at its core and wrapped by a stable C API layer. The Python, Java, Rust, and Go bindings use that C layer so they can share the same ABI boundary; see [Compatibility](/user-guide/field-guide/compatibility) for why that matters. These API guides are intended for general use and include examples for supported programming languages where possible, but some guides document C++ concepts explicitly because all NVIDIA cuVS algorithm implementations are C++ at the core.
## Common Types
diff --git a/fern/pages/c_api/c-api-cluster-kmeans.md b/fern/pages/c_api/c-api-cluster-kmeans.md
index 90d093d140..2af8b259bc 100644
--- a/fern/pages/c_api/c-api-cluster-kmeans.md
+++ b/fern/pages/c_api/c-api-cluster-kmeans.md
@@ -63,7 +63,7 @@ struct cuvsKMeansParams {
| `tol` | `double` | Relative tolerance with regards to inertia to declare convergence. |
| `n_init` | `int` | Number of instance k-means algorithm will be run with different seeds. |
| `oversampling_factor` | `double` | Oversampling factor for use in the k-means\|\| algorithm |
-| `batch_samples` | `int` | batch_samples and batch_centroids are used to tile 1NN computation which is useful to optimize/control the memory footprint Default tile is [batch_samples x n_clusters] i.e. when batch_centroids is 0 then don't tile the centroids |
+| `batch_samples` | `int` | batch_samples and batch_centroids are used to tile 1NN computation which is useful to optimize/control the memory footprint
Default tile is [batch_samples x n_clusters] i.e. when batch_centroids is 0 then don't tile the centroids |
| `batch_centroids` | `int` | if 0 then batch_centroids = n_clusters |
| `inertia_check` | `bool` | Deprecated, ignored. Kept for ABI compatibility. |
| `hierarchical` | `bool` | Whether to use hierarchical (balanced) kmeans or not |
@@ -105,7 +105,7 @@ struct cuvsKMeansParams_v2 {
| `tol` | `double` | Relative tolerance with regards to inertia to declare convergence. |
| `n_init` | `int` | Number of instance k-means algorithm will be run with different seeds. |
| `oversampling_factor` | `double` | Oversampling factor for use in the k-means\|\| algorithm |
-| `batch_samples` | `int` | batch_samples and batch_centroids are used to tile 1NN computation which is useful to optimize/control the memory footprint Default tile is [batch_samples x n_clusters] i.e. when batch_centroids is 0 then don't tile the centroids |
+| `batch_samples` | `int` | batch_samples and batch_centroids are used to tile 1NN computation which is useful to optimize/control the memory footprint
Default tile is [batch_samples x n_clusters] i.e. when batch_centroids is 0 then don't tile the centroids |
| `batch_centroids` | `int` | if 0 then batch_centroids = n_clusters |
| `hierarchical` | `bool` | Whether to use hierarchical (balanced) kmeans or not |
| `hierarchical_n_iters` | `int` | For hierarchical k-means , defines the number of training iterations |
@@ -119,7 +119,7 @@ struct cuvsKMeansParams_v2 {
Allocate KMeans params, and populate with default values
```c
-CUVS_EXPORT cuvsError_t cuvsKMeansParamsCreate(cuvsKMeansParams_t* params);
+cuvsError_t cuvsKMeansParamsCreate(cuvsKMeansParams_t* params);
```
**Note:** In cuVS 26.08 (next ABI major version) this signature will be
replaced by cuvsKMeansParamsCreate_v2.
@@ -132,7 +132,7 @@ CUVS_EXPORT cuvsError_t cuvsKMeansParamsCreate(cuvsKMeansParams_t* params);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsKMeansParamsDestroy
@@ -140,7 +140,7 @@ CUVS_EXPORT cuvsError_t cuvsKMeansParamsCreate(cuvsKMeansParams_t* params);
De-allocate KMeans params
```c
-CUVS_EXPORT cuvsError_t cuvsKMeansParamsDestroy(cuvsKMeansParams_t params);
+cuvsError_t cuvsKMeansParamsDestroy(cuvsKMeansParams_t params);
```
**Note:** In cuVS 26.08 (next ABI major version) this signature will be
replaced by cuvsKMeansParamsDestroy_v2.
@@ -153,7 +153,7 @@ CUVS_EXPORT cuvsError_t cuvsKMeansParamsDestroy(cuvsKMeansParams_t params);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsKMeansParamsCreate_v2
@@ -161,7 +161,7 @@ CUVS_EXPORT cuvsError_t cuvsKMeansParamsDestroy(cuvsKMeansParams_t params);
Allocate KMeans params
```c
-CUVS_EXPORT cuvsError_t cuvsKMeansParamsCreate_v2(cuvsKMeansParams_v2_t* params);
+cuvsError_t cuvsKMeansParamsCreate_v2(cuvsKMeansParams_v2_t* params);
```
Mirrors cuvsKMeansParamsCreate but operates on cuvsKMeansParams_v2. Will become the unsuffixed cuvsKMeansParamsCreate in cuVS 26.08.
@@ -174,7 +174,7 @@ Mirrors cuvsKMeansParamsCreate but operates on cuvsKMeansParams_v2. Will become
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsKMeansParamsDestroy_v2
@@ -182,7 +182,7 @@ Mirrors cuvsKMeansParamsCreate but operates on cuvsKMeansParams_v2. Will become
De-allocate KMeans params allocated by cuvsKMeansParamsCreate_v2.
```c
-CUVS_EXPORT cuvsError_t cuvsKMeansParamsDestroy_v2(cuvsKMeansParams_v2_t params);
+cuvsError_t cuvsKMeansParamsDestroy_v2(cuvsKMeansParams_v2_t params);
```
**Parameters**
@@ -193,7 +193,7 @@ CUVS_EXPORT cuvsError_t cuvsKMeansParamsDestroy_v2(cuvsKMeansParams_v2_t params)
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsKMeansType
@@ -222,7 +222,7 @@ typedef enum {
Find clusters with k-means algorithm.
```c
-CUVS_EXPORT cuvsError_t cuvsKMeansFit(cuvsResources_t res,
+cuvsError_t cuvsKMeansFit(cuvsResources_t res,
cuvsKMeansParams_t params,
DLManagedTensor* X,
DLManagedTensor* sample_weight,
@@ -251,7 +251,7 @@ X may reside on either host (CPU) or device (GPU) memory. When X is on the host
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsKMeansFit_v2
@@ -259,7 +259,7 @@ X may reside on either host (CPU) or device (GPU) memory. When X is on the host
Find clusters with k-means algorithm (v2 params layout).
```c
-CUVS_EXPORT cuvsError_t cuvsKMeansFit_v2(cuvsResources_t res,
+cuvsError_t cuvsKMeansFit_v2(cuvsResources_t res,
cuvsKMeansParams_v2_t params,
DLManagedTensor* X,
DLManagedTensor* sample_weight,
@@ -284,7 +284,7 @@ Mirrors cuvsKMeansFit but takes cuvsKMeansParams_v2_t. Will become the unsuffixe
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsKMeansPredict
@@ -292,7 +292,7 @@ Mirrors cuvsKMeansFit but takes cuvsKMeansParams_v2_t. Will become the unsuffixe
Predict the closest cluster each sample in X belongs to.
```c
-CUVS_EXPORT cuvsError_t cuvsKMeansPredict(cuvsResources_t res,
+cuvsError_t cuvsKMeansPredict(cuvsResources_t res,
cuvsKMeansParams_t params,
DLManagedTensor* X,
DLManagedTensor* sample_weight,
@@ -319,7 +319,7 @@ double* inertia);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsKMeansPredict_v2
@@ -327,7 +327,7 @@ double* inertia);
Predict the closest cluster each sample in X belongs to (v2 params layout).
```c
-CUVS_EXPORT cuvsError_t cuvsKMeansPredict_v2(cuvsResources_t res,
+cuvsError_t cuvsKMeansPredict_v2(cuvsResources_t res,
cuvsKMeansParams_v2_t params,
DLManagedTensor* X,
DLManagedTensor* sample_weight,
@@ -354,7 +354,7 @@ Mirrors cuvsKMeansPredict but takes cuvsKMeansParams_v2_t. Will become the unsuf
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsKMeansClusterCost
@@ -362,7 +362,7 @@ Mirrors cuvsKMeansPredict but takes cuvsKMeansParams_v2_t. Will become the unsuf
Compute cluster cost
```c
-CUVS_EXPORT cuvsError_t cuvsKMeansClusterCost(cuvsResources_t res,
+cuvsError_t cuvsKMeansClusterCost(cuvsResources_t res,
DLManagedTensor* X,
DLManagedTensor* centroids,
double* cost);
@@ -379,4 +379,4 @@ double* cost);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
diff --git a/fern/pages/c_api/c-api-core-c-api.md b/fern/pages/c_api/c-api-core-c-api.md
index 21f85540b2..14a14ce46b 100644
--- a/fern/pages/c_api/c-api-core-c-api.md
+++ b/fern/pages/c_api/c-api-core-c-api.md
@@ -33,12 +33,12 @@ typedef enum {
Returns a string describing the last seen error on this thread, or NULL if the last function succeeded.
```c
-CUVS_EXPORT const char* cuvsGetLastErrorText();
+const char* cuvsGetLastErrorText();
```
**Returns**
-`CUVS_EXPORT const char*`
+`const char*`
### cuvsSetLastErrorText
@@ -46,7 +46,7 @@ CUVS_EXPORT const char* cuvsGetLastErrorText();
Sets a string describing an error seen on the thread. Passing NULL clears any previously seen error message.
```c
-CUVS_EXPORT void cuvsSetLastErrorText(const char* error);
+void cuvsSetLastErrorText(const char* error);
```
**Parameters**
@@ -57,7 +57,7 @@ CUVS_EXPORT void cuvsSetLastErrorText(const char* error);
**Returns**
-`CUVS_EXPORT void`
+`void`
## cuVS Logging
@@ -96,12 +96,12 @@ typedef enum {
Returns the current log level
```c
-CUVS_EXPORT cuvsLogLevel_t cuvsGetLogLevel();
+cuvsLogLevel_t cuvsGetLogLevel();
```
**Returns**
-[`CUVS_EXPORT cuvsLogLevel_t`](/api-reference/c-api-core-c-api#cuvsloglevel-t)
+[`cuvsLogLevel_t`](/api-reference/c-api-core-c-api#cuvsloglevel-t)
### cuvsSetLogLevel
@@ -109,7 +109,7 @@ CUVS_EXPORT cuvsLogLevel_t cuvsGetLogLevel();
Sets the log level
```c
-CUVS_EXPORT void cuvsSetLogLevel(cuvsLogLevel_t);
+void cuvsSetLogLevel(cuvsLogLevel_t);
```
**Parameters**
@@ -120,7 +120,7 @@ CUVS_EXPORT void cuvsSetLogLevel(cuvsLogLevel_t);
**Returns**
-`CUVS_EXPORT void`
+`void`
## cuVS Resources Handle
@@ -139,7 +139,7 @@ typedef uintptr_t cuvsResources_t;
Create an Initialized opaque C handle for C++ type `raft::resources`
```c
-CUVS_EXPORT cuvsError_t cuvsResourcesCreate(cuvsResources_t* res);
+cuvsError_t cuvsResourcesCreate(cuvsResources_t* res);
```
**Parameters**
@@ -150,7 +150,7 @@ CUVS_EXPORT cuvsError_t cuvsResourcesCreate(cuvsResources_t* res);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsResourcesDestroy
@@ -158,7 +158,7 @@ CUVS_EXPORT cuvsError_t cuvsResourcesCreate(cuvsResources_t* res);
Destroy and de-allocate opaque C handle for C++ type `raft::resources`
```c
-CUVS_EXPORT cuvsError_t cuvsResourcesDestroy(cuvsResources_t res);
+cuvsError_t cuvsResourcesDestroy(cuvsResources_t res);
```
**Parameters**
@@ -169,7 +169,7 @@ CUVS_EXPORT cuvsError_t cuvsResourcesDestroy(cuvsResources_t res);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsStreamSet
@@ -177,7 +177,7 @@ CUVS_EXPORT cuvsError_t cuvsResourcesDestroy(cuvsResources_t res);
Set cudaStream_t on cuvsResources_t to queue CUDA kernels on APIs that accept a cuvsResources_t handle
```c
-CUVS_EXPORT cuvsError_t cuvsStreamSet(cuvsResources_t res, cudaStream_t stream);
+cuvsError_t cuvsStreamSet(cuvsResources_t res, cudaStream_t stream);
```
**Parameters**
@@ -189,7 +189,7 @@ CUVS_EXPORT cuvsError_t cuvsStreamSet(cuvsResources_t res, cudaStream_t stream);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsStreamGet
@@ -197,7 +197,7 @@ CUVS_EXPORT cuvsError_t cuvsStreamSet(cuvsResources_t res, cudaStream_t stream);
Get the cudaStream_t from a cuvsResources_t
```c
-CUVS_EXPORT cuvsError_t cuvsStreamGet(cuvsResources_t res, cudaStream_t* stream);
+cuvsError_t cuvsStreamGet(cuvsResources_t res, cudaStream_t* stream);
```
**Parameters**
@@ -209,7 +209,7 @@ CUVS_EXPORT cuvsError_t cuvsStreamGet(cuvsResources_t res, cudaStream_t* stream)
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsStreamSync
@@ -217,7 +217,7 @@ CUVS_EXPORT cuvsError_t cuvsStreamGet(cuvsResources_t res, cudaStream_t* stream)
Syncs the current CUDA stream on the resources object
```c
-CUVS_EXPORT cuvsError_t cuvsStreamSync(cuvsResources_t res);
+cuvsError_t cuvsStreamSync(cuvsResources_t res);
```
**Parameters**
@@ -228,7 +228,7 @@ CUVS_EXPORT cuvsError_t cuvsStreamSync(cuvsResources_t res);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsDeviceIdGet
@@ -236,7 +236,7 @@ CUVS_EXPORT cuvsError_t cuvsStreamSync(cuvsResources_t res);
Get the id of the device associated with this cuvsResources_t
```c
-CUVS_EXPORT cuvsError_t cuvsDeviceIdGet(cuvsResources_t res, int* device_id);
+cuvsError_t cuvsDeviceIdGet(cuvsResources_t res, int* device_id);
```
**Parameters**
@@ -248,7 +248,7 @@ CUVS_EXPORT cuvsError_t cuvsDeviceIdGet(cuvsResources_t res, int* device_id);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsMultiGpuResourcesCreate
@@ -256,7 +256,7 @@ CUVS_EXPORT cuvsError_t cuvsDeviceIdGet(cuvsResources_t res, int* device_id);
Create an Initialized opaque C handle for C++ type `raft::device_resources_snmg` for multi-GPU operations
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuResourcesCreate(cuvsResources_t* res);
+cuvsError_t cuvsMultiGpuResourcesCreate(cuvsResources_t* res);
```
**Parameters**
@@ -267,7 +267,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuResourcesCreate(cuvsResources_t* res);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsMultiGpuResourcesCreateWithDeviceIds
@@ -275,7 +275,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuResourcesCreate(cuvsResources_t* res);
Create an Initialized opaque C handle for C++ type `raft::device_resources_snmg` for multi-GPU operations with specific device IDs
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuResourcesCreateWithDeviceIds(cuvsResources_t* res,
+cuvsError_t cuvsMultiGpuResourcesCreateWithDeviceIds(cuvsResources_t* res,
DLManagedTensor* device_ids);
```
@@ -288,7 +288,7 @@ DLManagedTensor* device_ids);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsMultiGpuResourcesDestroy
@@ -296,7 +296,7 @@ DLManagedTensor* device_ids);
Destroy and de-allocate opaque C handle for C++ type `raft::device_resources_snmg`
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuResourcesDestroy(cuvsResources_t res);
+cuvsError_t cuvsMultiGpuResourcesDestroy(cuvsResources_t res);
```
**Parameters**
@@ -307,7 +307,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuResourcesDestroy(cuvsResources_t res);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsMultiGpuResourcesSetMemoryPool
@@ -315,7 +315,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuResourcesDestroy(cuvsResources_t res);
Set a memory pool on all devices managed by the multi-GPU resources
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuResourcesSetMemoryPool(cuvsResources_t res, int percent_of_free_memory);
+cuvsError_t cuvsMultiGpuResourcesSetMemoryPool(cuvsResources_t res, int percent_of_free_memory);
```
**Parameters**
@@ -327,7 +327,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuResourcesSetMemoryPool(cuvsResources_t res,
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## cuVS Memory Allocation
@@ -337,7 +337,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuResourcesSetMemoryPool(cuvsResources_t res,
Allocates device memory using RMM
```c
-CUVS_EXPORT cuvsError_t cuvsRMMAlloc(cuvsResources_t res, void** ptr, size_t bytes);
+cuvsError_t cuvsRMMAlloc(cuvsResources_t res, void** ptr, size_t bytes);
```
**Parameters**
@@ -350,7 +350,7 @@ CUVS_EXPORT cuvsError_t cuvsRMMAlloc(cuvsResources_t res, void** ptr, size_t byt
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsRMMFree
@@ -358,7 +358,7 @@ CUVS_EXPORT cuvsError_t cuvsRMMAlloc(cuvsResources_t res, void** ptr, size_t byt
Deallocates device memory using RMM
```c
-CUVS_EXPORT cuvsError_t cuvsRMMFree(cuvsResources_t res, void* ptr, size_t bytes);
+cuvsError_t cuvsRMMFree(cuvsResources_t res, void* ptr, size_t bytes);
```
**Parameters**
@@ -371,7 +371,7 @@ CUVS_EXPORT cuvsError_t cuvsRMMFree(cuvsResources_t res, void* ptr, size_t bytes
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsRMMPoolMemoryResourceEnable
@@ -379,7 +379,7 @@ CUVS_EXPORT cuvsError_t cuvsRMMFree(cuvsResources_t res, void* ptr, size_t bytes
Switches the working memory resource to use the RMM pool memory resource, which will bypass unnecessary synchronizations by allocating a chunk of device memory up front and carving that up for temporary memory allocations within algorithms. Be aware that this function will change the memory resource for the whole process and the new memory resource will be used until explicitly changed.
```c
-CUVS_EXPORT cuvsError_t cuvsRMMPoolMemoryResourceEnable(int initial_pool_size_percent,
+cuvsError_t cuvsRMMPoolMemoryResourceEnable(int initial_pool_size_percent,
int max_pool_size_percent,
bool managed);
```
@@ -394,7 +394,7 @@ bool managed);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsRMMMemoryResourceReset
@@ -402,12 +402,12 @@ bool managed);
Resets the memory resource to use the default memory resource (cuda_memory_resource)
```c
-CUVS_EXPORT cuvsError_t cuvsRMMMemoryResourceReset();
+cuvsError_t cuvsRMMMemoryResourceReset();
```
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsRMMHostAlloc
@@ -415,7 +415,7 @@ CUVS_EXPORT cuvsError_t cuvsRMMMemoryResourceReset();
Allocates pinned memory on the host using RMM
```c
-CUVS_EXPORT cuvsError_t cuvsRMMHostAlloc(void** ptr, size_t bytes);
+cuvsError_t cuvsRMMHostAlloc(void** ptr, size_t bytes);
```
**Parameters**
@@ -427,7 +427,7 @@ CUVS_EXPORT cuvsError_t cuvsRMMHostAlloc(void** ptr, size_t bytes);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsRMMHostFree
@@ -435,7 +435,7 @@ CUVS_EXPORT cuvsError_t cuvsRMMHostAlloc(void** ptr, size_t bytes);
Deallocates pinned memory on the host using RMM
```c
-CUVS_EXPORT cuvsError_t cuvsRMMHostFree(void* ptr, size_t bytes);
+cuvsError_t cuvsRMMHostFree(void* ptr, size_t bytes);
```
**Parameters**
@@ -447,7 +447,7 @@ CUVS_EXPORT cuvsError_t cuvsRMMHostFree(void* ptr, size_t bytes);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsVersionGet
@@ -455,7 +455,7 @@ CUVS_EXPORT cuvsError_t cuvsRMMHostFree(void* ptr, size_t bytes);
Get the version of the cuVS library
```c
-CUVS_EXPORT cuvsError_t cuvsVersionGet(uint16_t* major, uint16_t* minor, uint16_t* patch);
+cuvsError_t cuvsVersionGet(uint16_t* major, uint16_t* minor, uint16_t* patch);
```
**Parameters**
@@ -468,7 +468,7 @@ CUVS_EXPORT cuvsError_t cuvsVersionGet(uint16_t* major, uint16_t* minor, uint16_
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsMatrixCopy
@@ -476,7 +476,7 @@ CUVS_EXPORT cuvsError_t cuvsVersionGet(uint16_t* major, uint16_t* minor, uint16_
Copy a matrix
```c
-CUVS_EXPORT cuvsError_t cuvsMatrixCopy(cuvsResources_t res, DLManagedTensor* src, DLManagedTensor* dst);
+cuvsError_t cuvsMatrixCopy(cuvsResources_t res, DLManagedTensor* src, DLManagedTensor* dst);
```
This function copies a matrix from dst to src. This lets you copy a matrix from device memory to host memory (or vice versa), while accounting for differences in strides.
@@ -493,7 +493,7 @@ Both src and dst must have the same shape and dtype, but can have different stri
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsMatrixSliceRows
@@ -501,7 +501,7 @@ Both src and dst must have the same shape and dtype, but can have different stri
Slices rows from a matrix
```c
-CUVS_EXPORT cuvsError_t cuvsMatrixSliceRows(
+cuvsError_t cuvsMatrixSliceRows(
cuvsResources_t res, DLManagedTensor* src, int64_t start, int64_t end, DLManagedTensor* dst);
```
@@ -517,4 +517,4 @@ cuvsResources_t res, DLManagedTensor* src, int64_t start, int64_t end, DLManaged
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
diff --git a/fern/pages/c_api/c-api-distance-pairwise-distance.md b/fern/pages/c_api/c-api-distance-pairwise-distance.md
index daeed917f8..98bd15ba96 100644
--- a/fern/pages/c_api/c-api-distance-pairwise-distance.md
+++ b/fern/pages/c_api/c-api-distance-pairwise-distance.md
@@ -14,7 +14,7 @@ _Source header: `cuvs/distance/pairwise_distance.h`_
Compute pairwise distances for two matrices
```c
-CUVS_EXPORT cuvsError_t cuvsPairwiseDistance(cuvsResources_t res,
+cuvsError_t cuvsPairwiseDistance(cuvsResources_t res,
DLManagedTensor* x,
DLManagedTensor* y,
DLManagedTensor* dist,
@@ -37,4 +37,4 @@ Usage example:
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
diff --git a/fern/pages/c_api/c-api-neighbors-all-neighbors.md b/fern/pages/c_api/c-api-neighbors-all-neighbors.md
index 67f23031b6..9c15676edf 100644
--- a/fern/pages/c_api/c-api-neighbors-all-neighbors.md
+++ b/fern/pages/c_api/c-api-neighbors-all-neighbors.md
@@ -62,7 +62,7 @@ struct cuvsAllNeighborsIndexParams {
Create a default all-neighbors index parameters struct.
```c
-CUVS_EXPORT cuvsError_t cuvsAllNeighborsIndexParamsCreate(cuvsAllNeighborsIndexParams_t* index_params);
+cuvsError_t cuvsAllNeighborsIndexParamsCreate(cuvsAllNeighborsIndexParams_t* index_params);
```
**Parameters**
@@ -73,7 +73,7 @@ CUVS_EXPORT cuvsError_t cuvsAllNeighborsIndexParamsCreate(cuvsAllNeighborsIndexP
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsAllNeighborsIndexParamsDestroy
@@ -81,7 +81,7 @@ CUVS_EXPORT cuvsError_t cuvsAllNeighborsIndexParamsCreate(cuvsAllNeighborsIndexP
Destroy an all-neighbors index parameters struct.
```c
-CUVS_EXPORT cuvsError_t cuvsAllNeighborsIndexParamsDestroy(cuvsAllNeighborsIndexParams_t index_params);
+cuvsError_t cuvsAllNeighborsIndexParamsDestroy(cuvsAllNeighborsIndexParams_t index_params);
```
**Parameters**
@@ -92,7 +92,7 @@ CUVS_EXPORT cuvsError_t cuvsAllNeighborsIndexParamsDestroy(cuvsAllNeighborsIndex
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## All-neighbors C-API build
@@ -102,7 +102,7 @@ CUVS_EXPORT cuvsError_t cuvsAllNeighborsIndexParamsDestroy(cuvsAllNeighborsIndex
Build an all-neighbors k-NN graph automatically detecting host vs device dataset.
```c
-CUVS_EXPORT cuvsError_t cuvsAllNeighborsBuild(cuvsResources_t res,
+cuvsError_t cuvsAllNeighborsBuild(cuvsResources_t res,
cuvsAllNeighborsIndexParams_t params,
DLManagedTensor* dataset,
DLManagedTensor* indices,
@@ -127,4 +127,4 @@ The function automatically detects whether the dataset is host-resident or devic
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
diff --git a/fern/pages/c_api/c-api-neighbors-brute-force.md b/fern/pages/c_api/c-api-neighbors-brute-force.md
index ba43e0f355..0a7fb8a2d8 100644
--- a/fern/pages/c_api/c-api-neighbors-brute-force.md
+++ b/fern/pages/c_api/c-api-neighbors-brute-force.md
@@ -33,7 +33,7 @@ typedef struct {
Allocate BRUTEFORCE index
```c
-CUVS_EXPORT cuvsError_t cuvsBruteForceIndexCreate(cuvsBruteForceIndex_t* index);
+cuvsError_t cuvsBruteForceIndexCreate(cuvsBruteForceIndex_t* index);
```
**Parameters**
@@ -44,7 +44,7 @@ CUVS_EXPORT cuvsError_t cuvsBruteForceIndexCreate(cuvsBruteForceIndex_t* index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsBruteForceIndexDestroy
@@ -52,7 +52,7 @@ CUVS_EXPORT cuvsError_t cuvsBruteForceIndexCreate(cuvsBruteForceIndex_t* index);
De-allocate BRUTEFORCE index
```c
-CUVS_EXPORT cuvsError_t cuvsBruteForceIndexDestroy(cuvsBruteForceIndex_t index);
+cuvsError_t cuvsBruteForceIndexDestroy(cuvsBruteForceIndex_t index);
```
**Parameters**
@@ -63,17 +63,20 @@ CUVS_EXPORT cuvsError_t cuvsBruteForceIndexDestroy(cuvsBruteForceIndex_t index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Bruteforce index build
### cuvsBruteForceBuild
-Build a BRUTEFORCE index with a `DLManagedTensor` which has underlying `DLDeviceType` equal to `kDLCUDA`, `kDLCUDAHost`, `kDLCUDAManaged`, or `kDLCPU`. Also, acceptable underlying types are: 1. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32` 2. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 16`
+Build a BRUTEFORCE index with a `DLManagedTensor` which has underlying `DLDeviceType` equal to `kDLCUDA`, `kDLCUDAHost`, `kDLCUDAManaged`, or `kDLCPU`. Also, acceptable underlying types are:
+
+1. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32`
+2. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 16`
```c
-CUVS_EXPORT cuvsError_t cuvsBruteForceBuild(cuvsResources_t res,
+cuvsError_t cuvsBruteForceBuild(cuvsResources_t res,
DLManagedTensor* dataset,
cuvsDistanceType metric,
float metric_arg,
@@ -92,17 +95,21 @@ cuvsBruteForceIndex_t index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Bruteforce index search
### cuvsBruteForceSearch
-Search a BRUTEFORCE index with a `DLManagedTensor` which has underlying `DLDeviceType` equal to `kDLCUDA`, `kDLCUDAHost`, `kDLCUDAManaged`. It is also important to note that the BRUTEFORCE index must have been built with the same type of `queries`, such that `index.dtype.code == queries.dl_tensor.dtype.code` Types for input are: 1. `queries`: `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32` or `kDLDataType.bits = 16` 2. `neighbors`: `kDLDataType.code == kDLUInt` and `kDLDataType.bits = 32` 3. `distances`: `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32`
+Search a BRUTEFORCE index with a `DLManagedTensor` which has underlying `DLDeviceType` equal to `kDLCUDA`, `kDLCUDAHost`, `kDLCUDAManaged`. It is also important to note that the BRUTEFORCE index must have been built with the same type of `queries`, such that `index.dtype.code == queries.dl_tensor.dtype.code` Types for input are:
+
+1. `queries`: `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32` or `kDLDataType.bits = 16`
+2. `neighbors`: `kDLDataType.code == kDLUInt` and `kDLDataType.bits = 32`
+3. `distances`: `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32`
```c
-CUVS_EXPORT cuvsError_t cuvsBruteForceSearch(cuvsResources_t res,
+cuvsError_t cuvsBruteForceSearch(cuvsResources_t res,
cuvsBruteForceIndex_t index,
DLManagedTensor* queries,
DLManagedTensor* neighbors,
@@ -123,7 +130,7 @@ cuvsFilter prefilter);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## BRUTEFORCE C-API serialize functions
@@ -133,7 +140,7 @@ cuvsFilter prefilter);
Save the index to file.
```c
-CUVS_EXPORT cuvsError_t cuvsBruteForceSerialize(cuvsResources_t res,
+cuvsError_t cuvsBruteForceSerialize(cuvsResources_t res,
const char* filename,
cuvsBruteForceIndex_t index);
```
@@ -150,7 +157,7 @@ The serialization format can be subject to changes, therefore loading an index s
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsBruteForceDeserialize
@@ -158,7 +165,7 @@ The serialization format can be subject to changes, therefore loading an index s
Load index from file.
```c
-CUVS_EXPORT cuvsError_t cuvsBruteForceDeserialize(cuvsResources_t res,
+cuvsError_t cuvsBruteForceDeserialize(cuvsResources_t res,
const char* filename,
cuvsBruteForceIndex_t index);
```
@@ -175,4 +182,4 @@ The serialization format can be subject to changes, therefore loading an index s
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
diff --git a/fern/pages/c_api/c-api-neighbors-cagra.md b/fern/pages/c_api/c-api-neighbors-cagra.md
index d268713f06..2ebddfbebd 100644
--- a/fern/pages/c_api/c-api-neighbors-cagra.md
+++ b/fern/pages/c_api/c-api-neighbors-cagra.md
@@ -133,7 +133,7 @@ struct cuvsCagraIndexParams {
Allocate CAGRA Index params, and populate with default values
```c
-CUVS_EXPORT cuvsError_t cuvsCagraIndexParamsCreate(cuvsCagraIndexParams_t* params);
+cuvsError_t cuvsCagraIndexParamsCreate(cuvsCagraIndexParams_t* params);
```
**Parameters**
@@ -144,7 +144,7 @@ CUVS_EXPORT cuvsError_t cuvsCagraIndexParamsCreate(cuvsCagraIndexParams_t* param
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsCagraIndexParamsDestroy
@@ -152,7 +152,7 @@ CUVS_EXPORT cuvsError_t cuvsCagraIndexParamsCreate(cuvsCagraIndexParams_t* param
De-allocate CAGRA Index params
```c
-CUVS_EXPORT cuvsError_t cuvsCagraIndexParamsDestroy(cuvsCagraIndexParams_t params);
+cuvsError_t cuvsCagraIndexParamsDestroy(cuvsCagraIndexParams_t params);
```
**Parameters**
@@ -163,7 +163,7 @@ CUVS_EXPORT cuvsError_t cuvsCagraIndexParamsDestroy(cuvsCagraIndexParams_t param
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsCagraCompressionParamsCreate
@@ -171,7 +171,7 @@ CUVS_EXPORT cuvsError_t cuvsCagraIndexParamsDestroy(cuvsCagraIndexParams_t param
Allocate CAGRA Compression params, and populate with default values
```c
-CUVS_EXPORT cuvsError_t cuvsCagraCompressionParamsCreate(cuvsCagraCompressionParams_t* params);
+cuvsError_t cuvsCagraCompressionParamsCreate(cuvsCagraCompressionParams_t* params);
```
**Parameters**
@@ -182,7 +182,7 @@ CUVS_EXPORT cuvsError_t cuvsCagraCompressionParamsCreate(cuvsCagraCompressionPar
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsCagraCompressionParamsDestroy
@@ -190,7 +190,7 @@ CUVS_EXPORT cuvsError_t cuvsCagraCompressionParamsCreate(cuvsCagraCompressionPar
De-allocate CAGRA Compression params
```c
-CUVS_EXPORT cuvsError_t cuvsCagraCompressionParamsDestroy(cuvsCagraCompressionParams_t params);
+cuvsError_t cuvsCagraCompressionParamsDestroy(cuvsCagraCompressionParams_t params);
```
**Parameters**
@@ -201,7 +201,7 @@ CUVS_EXPORT cuvsError_t cuvsCagraCompressionParamsDestroy(cuvsCagraCompressionPa
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsAceParamsCreate
@@ -209,7 +209,7 @@ CUVS_EXPORT cuvsError_t cuvsCagraCompressionParamsDestroy(cuvsCagraCompressionPa
Allocate ACE params, and populate with default values
```c
-CUVS_EXPORT cuvsError_t cuvsAceParamsCreate(cuvsAceParams_t* params);
+cuvsError_t cuvsAceParamsCreate(cuvsAceParams_t* params);
```
**Parameters**
@@ -220,7 +220,7 @@ CUVS_EXPORT cuvsError_t cuvsAceParamsCreate(cuvsAceParams_t* params);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsAceParamsDestroy
@@ -228,7 +228,7 @@ CUVS_EXPORT cuvsError_t cuvsAceParamsCreate(cuvsAceParams_t* params);
De-allocate ACE params
```c
-CUVS_EXPORT cuvsError_t cuvsAceParamsDestroy(cuvsAceParams_t params);
+cuvsError_t cuvsAceParamsDestroy(cuvsAceParams_t params);
```
**Parameters**
@@ -239,7 +239,7 @@ CUVS_EXPORT cuvsError_t cuvsAceParamsDestroy(cuvsAceParams_t params);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsCagraIndexParamsFromHnswParams
@@ -247,7 +247,7 @@ CUVS_EXPORT cuvsError_t cuvsAceParamsDestroy(cuvsAceParams_t params);
Create CAGRA index parameters similar to an HNSW index
```c
-CUVS_EXPORT cuvsError_t cuvsCagraIndexParamsFromHnswParams(cuvsCagraIndexParams_t params,
+cuvsError_t cuvsCagraIndexParamsFromHnswParams(cuvsCagraIndexParams_t params,
int64_t n_rows,
int64_t dim,
int M,
@@ -272,7 +272,7 @@ This factory function creates CAGRA parameters that yield a graph compatible wit
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## C API for CUDA ANN Graph-based nearest neighbor search
@@ -299,7 +299,7 @@ struct cuvsCagraExtendParams {
Allocate CAGRA Extend params, and populate with default values
```c
-CUVS_EXPORT cuvsError_t cuvsCagraExtendParamsCreate(cuvsCagraExtendParams_t* params);
+cuvsError_t cuvsCagraExtendParamsCreate(cuvsCagraExtendParams_t* params);
```
**Parameters**
@@ -310,7 +310,7 @@ CUVS_EXPORT cuvsError_t cuvsCagraExtendParamsCreate(cuvsCagraExtendParams_t* par
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsCagraExtendParamsDestroy
@@ -318,7 +318,7 @@ CUVS_EXPORT cuvsError_t cuvsCagraExtendParamsCreate(cuvsCagraExtendParams_t* par
De-allocate CAGRA Extend params
```c
-CUVS_EXPORT cuvsError_t cuvsCagraExtendParamsDestroy(cuvsCagraExtendParams_t params);
+cuvsError_t cuvsCagraExtendParamsDestroy(cuvsCagraExtendParams_t params);
```
**Parameters**
@@ -329,15 +329,20 @@ CUVS_EXPORT cuvsError_t cuvsCagraExtendParamsDestroy(cuvsCagraExtendParams_t par
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsCagraExtend
-Extend a CAGRA index with a `DLManagedTensor` which has underlying `DLDeviceType` equal to `kDLCUDA`, `kDLCUDAHost`, `kDLCUDAManaged`, or `kDLCPU`. Also, acceptable underlying types are: 1. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32` 2. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 16` 3. `kDLDataType.code == kDLInt` and `kDLDataType.bits = 8` 4. `kDLDataType.code == kDLUInt` and `kDLDataType.bits = 8`
+Extend a CAGRA index with a `DLManagedTensor` which has underlying `DLDeviceType` equal to `kDLCUDA`, `kDLCUDAHost`, `kDLCUDAManaged`, or `kDLCPU`. Also, acceptable underlying types are:
+
+1. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32`
+2. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 16`
+3. `kDLDataType.code == kDLInt` and `kDLDataType.bits = 8`
+4. `kDLDataType.code == kDLUInt` and `kDLDataType.bits = 8`
```c
-CUVS_EXPORT cuvsError_t cuvsCagraExtend(cuvsResources_t res,
+cuvsError_t cuvsCagraExtend(cuvsResources_t res,
cuvsCagraExtendParams_t params,
DLManagedTensor* additional_dataset,
cuvsCagraIndex_t index);
@@ -354,7 +359,7 @@ cuvsCagraIndex_t index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## C API for CUDA ANN Graph-based nearest neighbor search
@@ -447,7 +452,7 @@ struct cuvsCagraSearchParams {
| `rand_xor_mask` | `uint64_t` | Bit mask used for initial random seed node selection. |
| `persistent` | `bool` | Whether to use the persistent version of the kernel (only SINGLE_CTA is supported a.t.m.) |
| `persistent_lifetime` | `float` | Persistent kernel: time in seconds before the kernel stops if no requests received. |
-| `persistent_device_usage` | `float` | Set the fraction of maximum grid size used by persistent kernel. Value 1.0 means the kernel grid size is maximum possible for the selected device. The value must be greater than 0.0 and not greater than 1.0.
One may need to run other kernels alongside this persistent kernel. This parameter can be used to reduce the grid size of the persistent kernel to leave a few SMs idle. Note: running any other work on GPU alongside with the persistent kernel makes the setup fragile.
- Running another kernel in another thread usually works, but no progress guaranteed
- Any CUDA allocations block the context (this issue may be obscured by using pools)
- Memory copies to not-pinned host memory may block the context
Even when we know there are no other kernels working at the same time, setting kDeviceUsage to 1.0 surprisingly sometimes hurts performance. Proceed with care. If you suspect this is an issue, you can reduce this number to ~0.9 without a significant impact on the throughput. |
+| `persistent_device_usage` | `float` | Set the fraction of maximum grid size used by persistent kernel. Value 1.0 means the kernel grid size is maximum possible for the selected device. The value must be greater than 0.0 and not greater than 1.0.
One may need to run other kernels alongside this persistent kernel. This parameter can be used to reduce the grid size of the persistent kernel to leave a few SMs idle.
Note: running any other work on GPU alongside with the persistent kernel makes the setup fragile.
- Running another kernel in another thread usually works, but no progress guaranteed
- Any CUDA allocations block the context (this issue may be obscured by using pools)
- Memory copies to not-pinned host memory may block the context
Even when we know there are no other kernels working at the same time, setting kDeviceUsage to 1.0 surprisingly sometimes hurts performance. Proceed with care. If you suspect this is an issue, you can reduce this number to ~0.9 without a significant impact on the throughput. |
### cuvsCagraSearchParamsCreate
@@ -455,7 +460,7 @@ struct cuvsCagraSearchParams {
Allocate CAGRA search params, and populate with default values
```c
-CUVS_EXPORT cuvsError_t cuvsCagraSearchParamsCreate(cuvsCagraSearchParams_t* params);
+cuvsError_t cuvsCagraSearchParamsCreate(cuvsCagraSearchParams_t* params);
```
**Parameters**
@@ -466,7 +471,7 @@ CUVS_EXPORT cuvsError_t cuvsCagraSearchParamsCreate(cuvsCagraSearchParams_t* par
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsCagraSearchParamsDestroy
@@ -474,7 +479,7 @@ CUVS_EXPORT cuvsError_t cuvsCagraSearchParamsCreate(cuvsCagraSearchParams_t* par
De-allocate CAGRA search params
```c
-CUVS_EXPORT cuvsError_t cuvsCagraSearchParamsDestroy(cuvsCagraSearchParams_t params);
+cuvsError_t cuvsCagraSearchParamsDestroy(cuvsCagraSearchParams_t params);
```
**Parameters**
@@ -485,7 +490,7 @@ CUVS_EXPORT cuvsError_t cuvsCagraSearchParamsDestroy(cuvsCagraSearchParams_t par
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## C API for CUDA ANN Graph-based nearest neighbor search
@@ -514,7 +519,7 @@ typedef struct {
Allocate CAGRA index
```c
-CUVS_EXPORT cuvsError_t cuvsCagraIndexCreate(cuvsCagraIndex_t* index);
+cuvsError_t cuvsCagraIndexCreate(cuvsCagraIndex_t* index);
```
**Parameters**
@@ -525,7 +530,7 @@ CUVS_EXPORT cuvsError_t cuvsCagraIndexCreate(cuvsCagraIndex_t* index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsCagraIndexDestroy
@@ -533,7 +538,7 @@ CUVS_EXPORT cuvsError_t cuvsCagraIndexCreate(cuvsCagraIndex_t* index);
De-allocate CAGRA index
```c
-CUVS_EXPORT cuvsError_t cuvsCagraIndexDestroy(cuvsCagraIndex_t index);
+cuvsError_t cuvsCagraIndexDestroy(cuvsCagraIndex_t index);
```
**Parameters**
@@ -544,7 +549,7 @@ CUVS_EXPORT cuvsError_t cuvsCagraIndexDestroy(cuvsCagraIndex_t index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsCagraIndexGetDims
@@ -552,7 +557,7 @@ CUVS_EXPORT cuvsError_t cuvsCagraIndexDestroy(cuvsCagraIndex_t index);
Get dimension of the CAGRA index
```c
-CUVS_EXPORT cuvsError_t cuvsCagraIndexGetDims(cuvsCagraIndex_t index, int64_t* dim);
+cuvsError_t cuvsCagraIndexGetDims(cuvsCagraIndex_t index, int64_t* dim);
```
**Parameters**
@@ -564,7 +569,7 @@ CUVS_EXPORT cuvsError_t cuvsCagraIndexGetDims(cuvsCagraIndex_t index, int64_t* d
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsCagraIndexGetSize
@@ -572,7 +577,7 @@ CUVS_EXPORT cuvsError_t cuvsCagraIndexGetDims(cuvsCagraIndex_t index, int64_t* d
Get size of the CAGRA index
```c
-CUVS_EXPORT cuvsError_t cuvsCagraIndexGetSize(cuvsCagraIndex_t index, int64_t* size);
+cuvsError_t cuvsCagraIndexGetSize(cuvsCagraIndex_t index, int64_t* size);
```
**Parameters**
@@ -584,7 +589,7 @@ CUVS_EXPORT cuvsError_t cuvsCagraIndexGetSize(cuvsCagraIndex_t index, int64_t* s
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsCagraIndexGetGraphDegree
@@ -592,7 +597,7 @@ CUVS_EXPORT cuvsError_t cuvsCagraIndexGetSize(cuvsCagraIndex_t index, int64_t* s
Get graph degree of the CAGRA index
```c
-CUVS_EXPORT cuvsError_t cuvsCagraIndexGetGraphDegree(cuvsCagraIndex_t index, int64_t* graph_degree);
+cuvsError_t cuvsCagraIndexGetGraphDegree(cuvsCagraIndex_t index, int64_t* graph_degree);
```
**Parameters**
@@ -604,7 +609,7 @@ CUVS_EXPORT cuvsError_t cuvsCagraIndexGetGraphDegree(cuvsCagraIndex_t index, int
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsCagraIndexGetDataset
@@ -612,7 +617,7 @@ CUVS_EXPORT cuvsError_t cuvsCagraIndexGetGraphDegree(cuvsCagraIndex_t index, int
Returns a view of the CAGRA dataset
```c
-CUVS_EXPORT cuvsError_t cuvsCagraIndexGetDataset(cuvsCagraIndex_t index, DLManagedTensor* dataset);
+cuvsError_t cuvsCagraIndexGetDataset(cuvsCagraIndex_t index, DLManagedTensor* dataset);
```
This function returns a non-owning view of the CAGRA dataset. The output will be referencing device memory that is directly used in CAGRA, without copying the dataset at all. This means that the output is only valid as long as the CAGRA index is alive, and once cuvsCagraIndexDestroy is called on the cagra index - the returned dataset view will be invalid.
@@ -628,7 +633,7 @@ Note that the DLManagedTensor dataset returned will have an associated 'deleter'
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsCagraIndexGetGraph
@@ -636,7 +641,7 @@ Note that the DLManagedTensor dataset returned will have an associated 'deleter'
Returns a view of the CAGRA graph
```c
-CUVS_EXPORT cuvsError_t cuvsCagraIndexGetGraph(cuvsCagraIndex_t index, DLManagedTensor* graph);
+cuvsError_t cuvsCagraIndexGetGraph(cuvsCagraIndex_t index, DLManagedTensor* graph);
```
This function returns a non-owning view of the CAGRA graph. The output will be referencing device memory that is directly used in CAGRA, without copying the graph at all. This means that the output is only valid as long as the CAGRA index is alive, and once cuvsCagraIndexDestroy is called on the cagra index - the returned graph view will be invalid.
@@ -652,17 +657,22 @@ Note that the DLManagedTensor graph returned will have an associated 'deleter' f
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## C API for CUDA ANN Graph-based nearest neighbor search
### cuvsCagraBuild
-Build a CAGRA index with a `DLManagedTensor` which has underlying `DLDeviceType` equal to `kDLCUDA`, `kDLCUDAHost`, `kDLCUDAManaged`, or `kDLCPU`. Also, acceptable underlying types are: 1. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32` 2. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 16` 3. `kDLDataType.code == kDLInt` and `kDLDataType.bits = 8` 4. `kDLDataType.code == kDLUInt` and `kDLDataType.bits = 8`
+Build a CAGRA index with a `DLManagedTensor` which has underlying `DLDeviceType` equal to `kDLCUDA`, `kDLCUDAHost`, `kDLCUDAManaged`, or `kDLCPU`. Also, acceptable underlying types are:
+
+1. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32`
+2. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 16`
+3. `kDLDataType.code == kDLInt` and `kDLDataType.bits = 8`
+4. `kDLDataType.code == kDLUInt` and `kDLDataType.bits = 8`
```c
-CUVS_EXPORT cuvsError_t cuvsCagraBuild(cuvsResources_t res,
+cuvsError_t cuvsCagraBuild(cuvsResources_t res,
cuvsCagraIndexParams_t params,
DLManagedTensor* dataset,
cuvsCagraIndex_t index);
@@ -679,17 +689,21 @@ cuvsCagraIndex_t index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## C API for CUDA ANN Graph-based nearest neighbor search
### cuvsCagraSearch
-Search a CAGRA index with a `DLManagedTensor` which has underlying `DLDeviceType` equal to `kDLCUDA`, `kDLCUDAHost`, `kDLCUDAManaged`. It is also important to note that the CAGRA Index must have been built with the same type of `queries`, such that `index.dtype.code == queries.dl_tensor.dtype.code` Types for input are: 1. `queries`: a. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32` b. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 16` c. `kDLDataType.code == kDLInt` and `kDLDataType.bits = 8` d. `kDLDataType.code == kDLUInt` and `kDLDataType.bits = 8` 2. `neighbors`: `kDLDataType.code == kDLUInt` and `kDLDataType.bits = 32` or `kDLDataType.code == kDLInt` and `kDLDataType.bits = 64` 3. `distances`: `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32`
+Search a CAGRA index with a `DLManagedTensor` which has underlying `DLDeviceType` equal to `kDLCUDA`, `kDLCUDAHost`, `kDLCUDAManaged`. It is also important to note that the CAGRA Index must have been built with the same type of `queries`, such that `index.dtype.code == queries.dl_tensor.dtype.code` Types for input are:
+
+1. `queries`: a. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32` b. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 16` c. `kDLDataType.code == kDLInt` and `kDLDataType.bits = 8` d. `kDLDataType.code == kDLUInt` and `kDLDataType.bits = 8`
+2. `neighbors`: `kDLDataType.code == kDLUInt` and `kDLDataType.bits = 32` or `kDLDataType.code == kDLInt` and `kDLDataType.bits = 64`
+3. `distances`: `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32`
```c
-CUVS_EXPORT cuvsError_t cuvsCagraSearch(cuvsResources_t res,
+cuvsError_t cuvsCagraSearch(cuvsResources_t res,
cuvsCagraSearchParams_t params,
cuvsCagraIndex_t index,
DLManagedTensor* queries,
@@ -712,7 +726,7 @@ cuvsFilter filter);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## CAGRA C-API serialize functions
@@ -722,7 +736,7 @@ cuvsFilter filter);
Save the index to file.
```c
-CUVS_EXPORT cuvsError_t cuvsCagraSerialize(cuvsResources_t res,
+cuvsError_t cuvsCagraSerialize(cuvsResources_t res,
const char* filename,
cuvsCagraIndex_t index,
bool include_dataset);
@@ -741,7 +755,7 @@ Experimental, both the API and the serialization format are subject to change.
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsCagraSerializeToHnswlib
@@ -749,7 +763,7 @@ Experimental, both the API and the serialization format are subject to change.
Save the CAGRA index to file in hnswlib format.
```c
-CUVS_EXPORT cuvsError_t cuvsCagraSerializeToHnswlib(cuvsResources_t res,
+cuvsError_t cuvsCagraSerializeToHnswlib(cuvsResources_t res,
const char* filename,
cuvsCagraIndex_t index);
```
@@ -768,7 +782,7 @@ Experimental, both the API and the serialization format are subject to change.
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsCagraDeserialize
@@ -776,7 +790,7 @@ Experimental, both the API and the serialization format are subject to change.
Load index from file.
```c
-CUVS_EXPORT cuvsError_t cuvsCagraDeserialize(cuvsResources_t res, const char* filename, cuvsCagraIndex_t index);
+cuvsError_t cuvsCagraDeserialize(cuvsResources_t res, const char* filename, cuvsCagraIndex_t index);
```
Experimental, both the API and the serialization format are subject to change.
@@ -791,7 +805,7 @@ Experimental, both the API and the serialization format are subject to change.
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsCagraIndexFromArgs
@@ -799,7 +813,7 @@ Experimental, both the API and the serialization format are subject to change.
Load index from a dataset and graph
```c
-CUVS_EXPORT cuvsError_t cuvsCagraIndexFromArgs(cuvsResources_t res,
+cuvsError_t cuvsCagraIndexFromArgs(cuvsResources_t res,
cuvsDistanceType metric,
DLManagedTensor* graph,
DLManagedTensor* dataset,
@@ -818,7 +832,7 @@ cuvsCagraIndex_t index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## CAGRA C-API merge functions
@@ -828,7 +842,7 @@ cuvsCagraIndex_t index);
Merge multiple CAGRA indices into a single CAGRA index.
```c
-CUVS_EXPORT cuvsError_t cuvsCagraMerge(cuvsResources_t res,
+cuvsError_t cuvsCagraMerge(cuvsResources_t res,
cuvsCagraIndexParams_t params,
cuvsCagraIndex_t* indices,
size_t num_indices,
@@ -860,4 +874,4 @@ Example:
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
diff --git a/fern/pages/c_api/c-api-neighbors-hnsw.md b/fern/pages/c_api/c-api-neighbors-hnsw.md
index 9a701fc66b..317c9aa4f0 100644
--- a/fern/pages/c_api/c-api-neighbors-hnsw.md
+++ b/fern/pages/c_api/c-api-neighbors-hnsw.md
@@ -66,7 +66,7 @@ struct cuvsHnswAceParams {
Allocate HNSW ACE params, and populate with default values
```c
-CUVS_EXPORT cuvsError_t cuvsHnswAceParamsCreate(cuvsHnswAceParams_t* params);
+cuvsError_t cuvsHnswAceParamsCreate(cuvsHnswAceParams_t* params);
```
**Parameters**
@@ -77,7 +77,7 @@ CUVS_EXPORT cuvsError_t cuvsHnswAceParamsCreate(cuvsHnswAceParams_t* params);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsHnswAceParamsDestroy
@@ -85,7 +85,7 @@ CUVS_EXPORT cuvsError_t cuvsHnswAceParamsCreate(cuvsHnswAceParams_t* params);
De-allocate HNSW ACE params
```c
-CUVS_EXPORT cuvsError_t cuvsHnswAceParamsDestroy(cuvsHnswAceParams_t params);
+cuvsError_t cuvsHnswAceParamsDestroy(cuvsHnswAceParams_t params);
```
**Parameters**
@@ -96,7 +96,7 @@ CUVS_EXPORT cuvsError_t cuvsHnswAceParamsDestroy(cuvsHnswAceParams_t params);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsHnswIndexParamsCreate
@@ -104,7 +104,7 @@ CUVS_EXPORT cuvsError_t cuvsHnswAceParamsDestroy(cuvsHnswAceParams_t params);
Allocate HNSW Index params, and populate with default values
```c
-CUVS_EXPORT cuvsError_t cuvsHnswIndexParamsCreate(cuvsHnswIndexParams_t* params);
+cuvsError_t cuvsHnswIndexParamsCreate(cuvsHnswIndexParams_t* params);
```
**Parameters**
@@ -115,7 +115,7 @@ CUVS_EXPORT cuvsError_t cuvsHnswIndexParamsCreate(cuvsHnswIndexParams_t* params)
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsHnswIndexParamsDestroy
@@ -123,7 +123,7 @@ CUVS_EXPORT cuvsError_t cuvsHnswIndexParamsCreate(cuvsHnswIndexParams_t* params)
De-allocate HNSW Index params
```c
-CUVS_EXPORT cuvsError_t cuvsHnswIndexParamsDestroy(cuvsHnswIndexParams_t params);
+cuvsError_t cuvsHnswIndexParamsDestroy(cuvsHnswIndexParams_t params);
```
**Parameters**
@@ -134,7 +134,7 @@ CUVS_EXPORT cuvsError_t cuvsHnswIndexParamsDestroy(cuvsHnswIndexParams_t params)
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## C API for hnswlib wrapper index
@@ -163,7 +163,7 @@ typedef struct {
Allocate HNSW index
```c
-CUVS_EXPORT cuvsError_t cuvsHnswIndexCreate(cuvsHnswIndex_t* index);
+cuvsError_t cuvsHnswIndexCreate(cuvsHnswIndex_t* index);
```
**Parameters**
@@ -174,7 +174,7 @@ CUVS_EXPORT cuvsError_t cuvsHnswIndexCreate(cuvsHnswIndex_t* index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsHnswIndexDestroy
@@ -182,7 +182,7 @@ CUVS_EXPORT cuvsError_t cuvsHnswIndexCreate(cuvsHnswIndex_t* index);
De-allocate HNSW index
```c
-CUVS_EXPORT cuvsError_t cuvsHnswIndexDestroy(cuvsHnswIndex_t index);
+cuvsError_t cuvsHnswIndexDestroy(cuvsHnswIndex_t index);
```
**Parameters**
@@ -193,7 +193,7 @@ CUVS_EXPORT cuvsError_t cuvsHnswIndexDestroy(cuvsHnswIndex_t index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Parameters for extending HNSW index
@@ -220,7 +220,7 @@ struct cuvsHnswExtendParams {
Allocate HNSW extend params, and populate with default values
```c
-CUVS_EXPORT cuvsError_t cuvsHnswExtendParamsCreate(cuvsHnswExtendParams_t* params);
+cuvsError_t cuvsHnswExtendParamsCreate(cuvsHnswExtendParams_t* params);
```
**Parameters**
@@ -231,7 +231,7 @@ CUVS_EXPORT cuvsError_t cuvsHnswExtendParamsCreate(cuvsHnswExtendParams_t* param
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsHnswExtendParamsDestroy
@@ -239,7 +239,7 @@ CUVS_EXPORT cuvsError_t cuvsHnswExtendParamsCreate(cuvsHnswExtendParams_t* param
De-allocate HNSW extend params
```c
-CUVS_EXPORT cuvsError_t cuvsHnswExtendParamsDestroy(cuvsHnswExtendParams_t params);
+cuvsError_t cuvsHnswExtendParamsDestroy(cuvsHnswExtendParams_t params);
```
**Parameters**
@@ -250,17 +250,20 @@ CUVS_EXPORT cuvsError_t cuvsHnswExtendParamsDestroy(cuvsHnswExtendParams_t param
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Load CAGRA index as hnswlib index
### cuvsHnswFromCagra
-Convert a CAGRA Index to an HNSW index. NOTE: When hierarchy is: 1. `NONE`: This method uses the filesystem to write the CAGRA index in `/tmp/<random_number>.bin` before reading it as an hnswlib index, then deleting the temporary file. The returned index is immutable and can only be searched by the hnswlib wrapper in cuVS, as the format is not compatible with the original hnswlib. 2. `CPU`: The returned index is mutable and can be extended with additional vectors. The serialized index is also compatible with the original hnswlib library.
+Convert a CAGRA Index to an HNSW index. NOTE: When hierarchy is:
+
+1. `NONE`: This method uses the filesystem to write the CAGRA index in `/tmp/<random_number>.bin` before reading it as an hnswlib index, then deleting the temporary file. The returned index is immutable and can only be searched by the hnswlib wrapper in cuVS, as the format is not compatible with the original hnswlib.
+2. `CPU`: The returned index is mutable and can be extended with additional vectors. The serialized index is also compatible with the original hnswlib library.
```c
-CUVS_EXPORT cuvsError_t cuvsHnswFromCagra(cuvsResources_t res,
+cuvsError_t cuvsHnswFromCagra(cuvsResources_t res,
cuvsHnswIndexParams_t params,
cuvsCagraIndex_t cagra_index,
cuvsHnswIndex_t hnsw_index);
@@ -277,7 +280,7 @@ cuvsHnswIndex_t hnsw_index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Build HNSW index using ACE algorithm
@@ -287,7 +290,7 @@ cuvsHnswIndex_t hnsw_index);
Build an HNSW index using ACE (Augmented Core Extraction) algorithm.
```c
-CUVS_EXPORT cuvsError_t cuvsHnswBuild(cuvsResources_t res,
+cuvsError_t cuvsHnswBuild(cuvsResources_t res,
cuvsHnswIndexParams_t params,
DLManagedTensor* dataset,
cuvsHnswIndex_t index);
@@ -312,7 +315,7 @@ NOTE: This function requires CUDA to be available at runtime.
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Extend HNSW index with additional vectors
@@ -322,7 +325,7 @@ NOTE: This function requires CUDA to be available at runtime.
Add new vectors to an HNSW index NOTE: The HNSW index can only be extended when the hierarchy is `CPU` when converting from a CAGRA index.
```c
-CUVS_EXPORT cuvsError_t cuvsHnswExtend(cuvsResources_t res,
+cuvsError_t cuvsHnswExtend(cuvsResources_t res,
cuvsHnswExtendParams_t params,
DLManagedTensor* additional_dataset,
cuvsHnswIndex_t index);
@@ -339,7 +342,7 @@ cuvsHnswIndex_t index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## C API for hnswlib wrapper search params
@@ -368,7 +371,7 @@ struct cuvsHnswSearchParams {
Allocate HNSW search params, and populate with default values
```c
-CUVS_EXPORT cuvsError_t cuvsHnswSearchParamsCreate(cuvsHnswSearchParams_t* params);
+cuvsError_t cuvsHnswSearchParamsCreate(cuvsHnswSearchParams_t* params);
```
**Parameters**
@@ -379,7 +382,7 @@ CUVS_EXPORT cuvsError_t cuvsHnswSearchParamsCreate(cuvsHnswSearchParams_t* param
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsHnswSearchParamsDestroy
@@ -387,7 +390,7 @@ CUVS_EXPORT cuvsError_t cuvsHnswSearchParamsCreate(cuvsHnswSearchParams_t* param
De-allocate HNSW search params
```c
-CUVS_EXPORT cuvsError_t cuvsHnswSearchParamsDestroy(cuvsHnswSearchParams_t params);
+cuvsError_t cuvsHnswSearchParamsDestroy(cuvsHnswSearchParams_t params);
```
**Parameters**
@@ -398,17 +401,21 @@ CUVS_EXPORT cuvsError_t cuvsHnswSearchParamsDestroy(cuvsHnswSearchParams_t param
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## C API for CUDA ANN Graph-based nearest neighbor search
### cuvsHnswSearch
-Search a HNSW index with a `DLManagedTensor` which has underlying `DLDeviceType` equal to `kDLCPU`, `kDLCUDAHost`, or `kDLCUDAManaged`. It is also important to note that the HNSW Index must have been built with the same type of `queries`, such that `index.dtype.code == queries.dl_tensor.dtype.code` Supported types for input are: 1. `queries`: a. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32` b. `kDLDataType.code == kDLInt` and `kDLDataType.bits = 8` c. `kDLDataType.code == kDLUInt` and `kDLDataType.bits = 8` 2. `neighbors`: `kDLDataType.code == kDLUInt` and `kDLDataType.bits = 64` 3. `distances`: `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32` NOTE: When hierarchy is `NONE`, the HNSW index can only be searched by the hnswlib wrapper in cuVS, as the format is not compatible with the original hnswlib.
+Search a HNSW index with a `DLManagedTensor` which has underlying `DLDeviceType` equal to `kDLCPU`, `kDLCUDAHost`, or `kDLCUDAManaged`. It is also important to note that the HNSW Index must have been built with the same type of `queries`, such that `index.dtype.code == queries.dl_tensor.dtype.code` Supported types for input are:
+
+1. `queries`: a. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32` b. `kDLDataType.code == kDLInt` and `kDLDataType.bits = 8` c. `kDLDataType.code == kDLUInt` and `kDLDataType.bits = 8`
+2. `neighbors`: `kDLDataType.code == kDLUInt` and `kDLDataType.bits = 64`
+3. `distances`: `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32` NOTE: When hierarchy is `NONE`, the HNSW index can only be searched by the hnswlib wrapper in cuVS, as the format is not compatible with the original hnswlib.
```c
-CUVS_EXPORT cuvsError_t cuvsHnswSearch(cuvsResources_t res,
+cuvsError_t cuvsHnswSearch(cuvsResources_t res,
cuvsHnswSearchParams_t params,
cuvsHnswIndex_t index,
DLManagedTensor* queries,
@@ -429,7 +436,7 @@ DLManagedTensor* distances);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## HNSW C-API serialize functions
@@ -439,7 +446,7 @@ DLManagedTensor* distances);
Serialize a CAGRA index to a file as an hnswlib index NOTE: When hierarchy is `NONE`, the saved hnswlib index is immutable and can only be read by the hnswlib wrapper in cuVS, as the serialization format is not compatible with the original hnswlib. However, when hierarchy is `CPU`, the saved hnswlib index is compatible with the original hnswlib library.
```c
-CUVS_EXPORT cuvsError_t cuvsHnswSerialize(cuvsResources_t res, const char* filename, cuvsHnswIndex_t index);
+cuvsError_t cuvsHnswSerialize(cuvsResources_t res, const char* filename, cuvsHnswIndex_t index);
```
**Parameters**
@@ -452,7 +459,7 @@ CUVS_EXPORT cuvsError_t cuvsHnswSerialize(cuvsResources_t res, const char* filen
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsHnswDeserialize
@@ -460,7 +467,7 @@ CUVS_EXPORT cuvsError_t cuvsHnswSerialize(cuvsResources_t res, const char* filen
Load hnswlib index from file which was serialized from a HNSW index.
```c
-CUVS_EXPORT cuvsError_t cuvsHnswDeserialize(cuvsResources_t res,
+cuvsError_t cuvsHnswDeserialize(cuvsResources_t res,
cuvsHnswIndexParams_t params,
const char* filename,
int dim,
@@ -483,4 +490,4 @@ NOTE: When hierarchy is `NONE`, the loaded hnswlib index is immutable, and only
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
diff --git a/fern/pages/c_api/c-api-neighbors-ivf-flat.md b/fern/pages/c_api/c-api-neighbors-ivf-flat.md
index bf420a7603..bf30583dba 100644
--- a/fern/pages/c_api/c-api-neighbors-ivf-flat.md
+++ b/fern/pages/c_api/c-api-neighbors-ivf-flat.md
@@ -45,7 +45,7 @@ struct cuvsIvfFlatIndexParams {
Allocate IVF-Flat Index params, and populate with default values
```c
-CUVS_EXPORT cuvsError_t cuvsIvfFlatIndexParamsCreate(cuvsIvfFlatIndexParams_t* index_params);
+cuvsError_t cuvsIvfFlatIndexParamsCreate(cuvsIvfFlatIndexParams_t* index_params);
```
**Parameters**
@@ -56,7 +56,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfFlatIndexParamsCreate(cuvsIvfFlatIndexParams_t* i
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfFlatIndexParamsDestroy
@@ -64,7 +64,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfFlatIndexParamsCreate(cuvsIvfFlatIndexParams_t* i
De-allocate IVF-Flat Index params
```c
-CUVS_EXPORT cuvsError_t cuvsIvfFlatIndexParamsDestroy(cuvsIvfFlatIndexParams_t index_params);
+cuvsError_t cuvsIvfFlatIndexParamsDestroy(cuvsIvfFlatIndexParams_t index_params);
```
**Parameters**
@@ -75,7 +75,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfFlatIndexParamsDestroy(cuvsIvfFlatIndexParams_t i
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## IVF-Flat index search parameters
@@ -102,7 +102,7 @@ struct cuvsIvfFlatSearchParams {
Allocate IVF-Flat search params, and populate with default values
```c
-CUVS_EXPORT cuvsError_t cuvsIvfFlatSearchParamsCreate(cuvsIvfFlatSearchParams_t* params);
+cuvsError_t cuvsIvfFlatSearchParamsCreate(cuvsIvfFlatSearchParams_t* params);
```
**Parameters**
@@ -113,7 +113,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfFlatSearchParamsCreate(cuvsIvfFlatSearchParams_t*
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfFlatSearchParamsDestroy
@@ -121,7 +121,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfFlatSearchParamsCreate(cuvsIvfFlatSearchParams_t*
De-allocate IVF-Flat search params
```c
-CUVS_EXPORT cuvsError_t cuvsIvfFlatSearchParamsDestroy(cuvsIvfFlatSearchParams_t params);
+cuvsError_t cuvsIvfFlatSearchParamsDestroy(cuvsIvfFlatSearchParams_t params);
```
**Parameters**
@@ -132,7 +132,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfFlatSearchParamsDestroy(cuvsIvfFlatSearchParams_t
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## IVF-Flat index
@@ -161,7 +161,7 @@ typedef struct {
Allocate IVF-Flat index
```c
-CUVS_EXPORT cuvsError_t cuvsIvfFlatIndexCreate(cuvsIvfFlatIndex_t* index);
+cuvsError_t cuvsIvfFlatIndexCreate(cuvsIvfFlatIndex_t* index);
```
**Parameters**
@@ -172,7 +172,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfFlatIndexCreate(cuvsIvfFlatIndex_t* index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfFlatIndexDestroy
@@ -180,7 +180,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfFlatIndexCreate(cuvsIvfFlatIndex_t* index);
De-allocate IVF-Flat index
```c
-CUVS_EXPORT cuvsError_t cuvsIvfFlatIndexDestroy(cuvsIvfFlatIndex_t index);
+cuvsError_t cuvsIvfFlatIndexDestroy(cuvsIvfFlatIndex_t index);
```
**Parameters**
@@ -191,7 +191,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfFlatIndexDestroy(cuvsIvfFlatIndex_t index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfFlatIndexGetNLists
@@ -199,7 +199,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfFlatIndexDestroy(cuvsIvfFlatIndex_t index);
Get the number of clusters/inverted lists in the index
```c
-CUVS_EXPORT cuvsError_t cuvsIvfFlatIndexGetNLists(cuvsIvfFlatIndex_t index, int64_t* n_lists);
+cuvsError_t cuvsIvfFlatIndexGetNLists(cuvsIvfFlatIndex_t index, int64_t* n_lists);
```
**Parameters**
@@ -211,7 +211,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfFlatIndexGetNLists(cuvsIvfFlatIndex_t index, int6
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfFlatIndexGetDim
@@ -219,7 +219,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfFlatIndexGetNLists(cuvsIvfFlatIndex_t index, int6
Get the dimensionality of the indexed data
```c
-CUVS_EXPORT cuvsError_t cuvsIvfFlatIndexGetDim(cuvsIvfFlatIndex_t index, int64_t* dim);
+cuvsError_t cuvsIvfFlatIndexGetDim(cuvsIvfFlatIndex_t index, int64_t* dim);
```
**Parameters**
@@ -231,7 +231,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfFlatIndexGetDim(cuvsIvfFlatIndex_t index, int64_t
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfFlatIndexGetCenters
@@ -239,7 +239,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfFlatIndexGetDim(cuvsIvfFlatIndex_t index, int64_t
Get the cluster centers corresponding to the lists [n_lists, dim]
```c
-CUVS_EXPORT cuvsError_t cuvsIvfFlatIndexGetCenters(cuvsIvfFlatIndex_t index, DLManagedTensor* centers);
+cuvsError_t cuvsIvfFlatIndexGetCenters(cuvsIvfFlatIndex_t index, DLManagedTensor* centers);
```
**Parameters**
@@ -251,17 +251,21 @@ CUVS_EXPORT cuvsError_t cuvsIvfFlatIndexGetCenters(cuvsIvfFlatIndex_t index, DLM
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## IVF-Flat index build
### cuvsIvfFlatBuild
-Build a IVF-Flat index with a `DLManagedTensor` which has underlying `DLDeviceType` equal to `kDLCUDA`, `kDLCUDAHost`, `kDLCUDAManaged`, or `kDLCPU`. Also, acceptable underlying types are: 1. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32` 2. `kDLDataType.code == kDLInt` and `kDLDataType.bits = 8` 3. `kDLDataType.code == kDLUInt` and `kDLDataType.bits = 8`
+Build a IVF-Flat index with a `DLManagedTensor` which has underlying `DLDeviceType` equal to `kDLCUDA`, `kDLCUDAHost`, `kDLCUDAManaged`, or `kDLCPU`. Also, acceptable underlying types are:
+
+1. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32`
+2. `kDLDataType.code == kDLInt` and `kDLDataType.bits = 8`
+3. `kDLDataType.code == kDLUInt` and `kDLDataType.bits = 8`
```c
-CUVS_EXPORT cuvsError_t cuvsIvfFlatBuild(cuvsResources_t res,
+cuvsError_t cuvsIvfFlatBuild(cuvsResources_t res,
cuvsIvfFlatIndexParams_t index_params,
DLManagedTensor* dataset,
cuvsIvfFlatIndex_t index);
@@ -278,17 +282,21 @@ cuvsIvfFlatIndex_t index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## IVF-Flat index search
### cuvsIvfFlatSearch
-Search a IVF-Flat index with a `DLManagedTensor` which has underlying `DLDeviceType` equal to `kDLCUDA`, `kDLCUDAHost`, `kDLCUDAManaged`. It is also important to note that the IVF-Flat Index must have been built with the same type of `queries`, such that `index.dtype.code == queries.dl_tensor.dtype.code` Types for input are: 1. `queries`: `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32` 2. `neighbors`: `kDLDataType.code == kDLUInt` and `kDLDataType.bits = 32` 3. `distances`: `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32`
+Search a IVF-Flat index with a `DLManagedTensor` which has underlying `DLDeviceType` equal to `kDLCUDA`, `kDLCUDAHost`, `kDLCUDAManaged`. It is also important to note that the IVF-Flat Index must have been built with the same type of `queries`, such that `index.dtype.code == queries.dl_tensor.dtype.code` Types for input are:
+
+1. `queries`: `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32`
+2. `neighbors`: `kDLDataType.code == kDLUInt` and `kDLDataType.bits = 32`
+3. `distances`: `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32`
```c
-CUVS_EXPORT cuvsError_t cuvsIvfFlatSearch(cuvsResources_t res,
+cuvsError_t cuvsIvfFlatSearch(cuvsResources_t res,
cuvsIvfFlatSearchParams_t search_params,
cuvsIvfFlatIndex_t index,
DLManagedTensor* queries,
@@ -311,7 +319,7 @@ cuvsFilter filter);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## IVF-Flat C-API serialize functions
@@ -321,7 +329,7 @@ cuvsFilter filter);
Save the index to file.
```c
-CUVS_EXPORT cuvsError_t cuvsIvfFlatSerialize(cuvsResources_t res,
+cuvsError_t cuvsIvfFlatSerialize(cuvsResources_t res,
const char* filename,
cuvsIvfFlatIndex_t index);
```
@@ -338,7 +346,7 @@ Experimental, both the API and the serialization format are subject to change.
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfFlatDeserialize
@@ -346,7 +354,7 @@ Experimental, both the API and the serialization format are subject to change.
Load index from file.
```c
-CUVS_EXPORT cuvsError_t cuvsIvfFlatDeserialize(cuvsResources_t res,
+cuvsError_t cuvsIvfFlatDeserialize(cuvsResources_t res,
const char* filename,
cuvsIvfFlatIndex_t index);
```
@@ -363,7 +371,7 @@ Experimental, both the API and the serialization format are subject to change.
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## IVF-Flat index extend
@@ -373,7 +381,7 @@ Experimental, both the API and the serialization format are subject to change.
Extend the index with the new data.
```c
-CUVS_EXPORT cuvsError_t cuvsIvfFlatExtend(cuvsResources_t res,
+cuvsError_t cuvsIvfFlatExtend(cuvsResources_t res,
DLManagedTensor* new_vectors,
DLManagedTensor* new_indices,
cuvsIvfFlatIndex_t index);
@@ -390,4 +398,4 @@ cuvsIvfFlatIndex_t index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
diff --git a/fern/pages/c_api/c-api-neighbors-ivf-pq.md b/fern/pages/c_api/c-api-neighbors-ivf-pq.md
index f903f1169b..5fb9c21940 100644
--- a/fern/pages/c_api/c-api-neighbors-ivf-pq.md
+++ b/fern/pages/c_api/c-api-neighbors-ivf-pq.md
@@ -93,7 +93,7 @@ struct cuvsIvfPqIndexParams {
Allocate IVF-PQ Index params, and populate with default values
```c
-CUVS_EXPORT cuvsError_t cuvsIvfPqIndexParamsCreate(cuvsIvfPqIndexParams_t* index_params);
+cuvsError_t cuvsIvfPqIndexParamsCreate(cuvsIvfPqIndexParams_t* index_params);
```
**Parameters**
@@ -104,7 +104,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfPqIndexParamsCreate(cuvsIvfPqIndexParams_t* index
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfPqIndexParamsDestroy
@@ -112,7 +112,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfPqIndexParamsCreate(cuvsIvfPqIndexParams_t* index
De-allocate IVF-PQ Index params
```c
-CUVS_EXPORT cuvsError_t cuvsIvfPqIndexParamsDestroy(cuvsIvfPqIndexParams_t index_params);
+cuvsError_t cuvsIvfPqIndexParamsDestroy(cuvsIvfPqIndexParams_t index_params);
```
**Parameters**
@@ -123,7 +123,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfPqIndexParamsDestroy(cuvsIvfPqIndexParams_t index
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## IVF-PQ index search parameters
@@ -160,7 +160,7 @@ struct cuvsIvfPqSearchParams {
Allocate IVF-PQ search params, and populate with default values
```c
-CUVS_EXPORT cuvsError_t cuvsIvfPqSearchParamsCreate(cuvsIvfPqSearchParams_t* params);
+cuvsError_t cuvsIvfPqSearchParamsCreate(cuvsIvfPqSearchParams_t* params);
```
**Parameters**
@@ -171,7 +171,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfPqSearchParamsCreate(cuvsIvfPqSearchParams_t* par
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfPqSearchParamsDestroy
@@ -179,7 +179,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfPqSearchParamsCreate(cuvsIvfPqSearchParams_t* par
De-allocate IVF-PQ search params
```c
-CUVS_EXPORT cuvsError_t cuvsIvfPqSearchParamsDestroy(cuvsIvfPqSearchParams_t params);
+cuvsError_t cuvsIvfPqSearchParamsDestroy(cuvsIvfPqSearchParams_t params);
```
**Parameters**
@@ -190,7 +190,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfPqSearchParamsDestroy(cuvsIvfPqSearchParams_t par
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## IVF-PQ index
@@ -219,7 +219,7 @@ typedef struct {
Allocate IVF-PQ index
```c
-CUVS_EXPORT cuvsError_t cuvsIvfPqIndexCreate(cuvsIvfPqIndex_t* index);
+cuvsError_t cuvsIvfPqIndexCreate(cuvsIvfPqIndex_t* index);
```
**Parameters**
@@ -230,7 +230,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfPqIndexCreate(cuvsIvfPqIndex_t* index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfPqIndexDestroy
@@ -238,7 +238,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfPqIndexCreate(cuvsIvfPqIndex_t* index);
De-allocate IVF-PQ index
```c
-CUVS_EXPORT cuvsError_t cuvsIvfPqIndexDestroy(cuvsIvfPqIndex_t index);
+cuvsError_t cuvsIvfPqIndexDestroy(cuvsIvfPqIndex_t index);
```
**Parameters**
@@ -249,7 +249,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfPqIndexDestroy(cuvsIvfPqIndex_t index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfPqIndexGetNLists
@@ -257,7 +257,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfPqIndexDestroy(cuvsIvfPqIndex_t index);
Get the number of clusters/inverted lists
```c
-CUVS_EXPORT cuvsError_t cuvsIvfPqIndexGetNLists(cuvsIvfPqIndex_t index, int64_t* n_lists);
+cuvsError_t cuvsIvfPqIndexGetNLists(cuvsIvfPqIndex_t index, int64_t* n_lists);
```
**Parameters**
@@ -269,7 +269,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfPqIndexGetNLists(cuvsIvfPqIndex_t index, int64_t*
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfPqIndexGetDim
@@ -277,7 +277,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfPqIndexGetNLists(cuvsIvfPqIndex_t index, int64_t*
Get the dimensionality
```c
-CUVS_EXPORT cuvsError_t cuvsIvfPqIndexGetDim(cuvsIvfPqIndex_t index, int64_t* dim);
+cuvsError_t cuvsIvfPqIndexGetDim(cuvsIvfPqIndex_t index, int64_t* dim);
```
**Parameters**
@@ -289,7 +289,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfPqIndexGetDim(cuvsIvfPqIndex_t index, int64_t* di
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfPqIndexGetSize
@@ -297,7 +297,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfPqIndexGetDim(cuvsIvfPqIndex_t index, int64_t* di
Get the size of the index
```c
-CUVS_EXPORT cuvsError_t cuvsIvfPqIndexGetSize(cuvsIvfPqIndex_t index, int64_t* size);
+cuvsError_t cuvsIvfPqIndexGetSize(cuvsIvfPqIndex_t index, int64_t* size);
```
**Parameters**
@@ -309,7 +309,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfPqIndexGetSize(cuvsIvfPqIndex_t index, int64_t* s
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfPqIndexGetPqDim
@@ -317,7 +317,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfPqIndexGetSize(cuvsIvfPqIndex_t index, int64_t* s
Get the dimensionality of an encoded vector after compression by PQ.
```c
-CUVS_EXPORT cuvsError_t cuvsIvfPqIndexGetPqDim(cuvsIvfPqIndex_t index, int64_t* pq_dim);
+cuvsError_t cuvsIvfPqIndexGetPqDim(cuvsIvfPqIndex_t index, int64_t* pq_dim);
```
**Parameters**
@@ -329,7 +329,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfPqIndexGetPqDim(cuvsIvfPqIndex_t index, int64_t*
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfPqIndexGetPqBits
@@ -337,7 +337,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfPqIndexGetPqDim(cuvsIvfPqIndex_t index, int64_t*
Get the bit length of an encoded vector element after compression by PQ.
```c
-CUVS_EXPORT cuvsError_t cuvsIvfPqIndexGetPqBits(cuvsIvfPqIndex_t index, int64_t* pq_bits);
+cuvsError_t cuvsIvfPqIndexGetPqBits(cuvsIvfPqIndex_t index, int64_t* pq_bits);
```
**Parameters**
@@ -349,7 +349,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfPqIndexGetPqBits(cuvsIvfPqIndex_t index, int64_t*
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfPqIndexGetPqLen
@@ -357,7 +357,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfPqIndexGetPqBits(cuvsIvfPqIndex_t index, int64_t*
Get the Dimensionality of a subspace, i.e. the number of vector
```c
-CUVS_EXPORT cuvsError_t cuvsIvfPqIndexGetPqLen(cuvsIvfPqIndex_t index, int64_t* pq_len);
+cuvsError_t cuvsIvfPqIndexGetPqLen(cuvsIvfPqIndex_t index, int64_t* pq_len);
```
components mapped to a subspace
@@ -371,7 +371,7 @@ components mapped to a subspace
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfPqIndexGetCenters
@@ -379,7 +379,7 @@ components mapped to a subspace
Get the cluster centers corresponding to the lists in the original space
```c
-CUVS_EXPORT cuvsError_t cuvsIvfPqIndexGetCenters(cuvsIvfPqIndex_t index, DLManagedTensor* centers);
+cuvsError_t cuvsIvfPqIndexGetCenters(cuvsIvfPqIndex_t index, DLManagedTensor* centers);
```
**Parameters**
@@ -391,7 +391,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfPqIndexGetCenters(cuvsIvfPqIndex_t index, DLManag
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfPqIndexGetCentersPadded
@@ -399,7 +399,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfPqIndexGetCenters(cuvsIvfPqIndex_t index, DLManag
Get the padded cluster centers [n_lists, dim_ext] where dim_ext = round_up(dim + 1, 8)
```c
-CUVS_EXPORT cuvsError_t cuvsIvfPqIndexGetCentersPadded(cuvsIvfPqIndex_t index, DLManagedTensor* centers);
+cuvsError_t cuvsIvfPqIndexGetCentersPadded(cuvsIvfPqIndex_t index, DLManagedTensor* centers);
```
This returns the full padded centers as a contiguous array, suitable for use with cuvsIvfPqBuildPrecomputed.
@@ -413,7 +413,7 @@ This returns the full padded centers as a contiguous array, suitable for use wit
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfPqIndexGetPqCenters
@@ -421,7 +421,7 @@ This returns the full padded centers as a contiguous array, suitable for use wit
Get the PQ cluster centers
```c
-CUVS_EXPORT cuvsError_t cuvsIvfPqIndexGetPqCenters(cuvsIvfPqIndex_t index, DLManagedTensor* pq_centers);
+cuvsError_t cuvsIvfPqIndexGetPqCenters(cuvsIvfPqIndex_t index, DLManagedTensor* pq_centers);
```
- CUVS_IVF_PQ_CODEBOOK_GEN_PER_SUBSPACE: [pq_dim , pq_len, pq_book_size]
@@ -436,7 +436,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfPqIndexGetPqCenters(cuvsIvfPqIndex_t index, DLMan
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfPqIndexGetCentersRot
@@ -444,7 +444,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfPqIndexGetPqCenters(cuvsIvfPqIndex_t index, DLMan
Get the rotated cluster centers [n_lists, rot_dim] where rot_dim = pq_len * pq_dim
```c
-CUVS_EXPORT cuvsError_t cuvsIvfPqIndexGetCentersRot(cuvsIvfPqIndex_t index, DLManagedTensor* centers_rot);
+cuvsError_t cuvsIvfPqIndexGetCentersRot(cuvsIvfPqIndex_t index, DLManagedTensor* centers_rot);
```
**Parameters**
@@ -456,7 +456,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfPqIndexGetCentersRot(cuvsIvfPqIndex_t index, DLMa
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfPqIndexGetRotationMatrix
@@ -464,7 +464,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfPqIndexGetCentersRot(cuvsIvfPqIndex_t index, DLMa
Get the rotation matrix [rot_dim, dim] Transform matrix (original space -> rotated padded space)
```c
-CUVS_EXPORT cuvsError_t cuvsIvfPqIndexGetRotationMatrix(cuvsIvfPqIndex_t index,
+cuvsError_t cuvsIvfPqIndexGetRotationMatrix(cuvsIvfPqIndex_t index,
DLManagedTensor* rotation_matrix);
```
@@ -477,7 +477,7 @@ DLManagedTensor* rotation_matrix);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfPqIndexGetListSizes
@@ -485,7 +485,7 @@ DLManagedTensor* rotation_matrix);
Get the sizes of each list
```c
-CUVS_EXPORT cuvsError_t cuvsIvfPqIndexGetListSizes(cuvsIvfPqIndex_t index, DLManagedTensor* list_sizes);
+cuvsError_t cuvsIvfPqIndexGetListSizes(cuvsIvfPqIndex_t index, DLManagedTensor* list_sizes);
```
**Parameters**
@@ -497,7 +497,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfPqIndexGetListSizes(cuvsIvfPqIndex_t index, DLMan
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfPqIndexUnpackContiguousListData
@@ -505,7 +505,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfPqIndexGetListSizes(cuvsIvfPqIndex_t index, DLMan
Unpack `n_rows` consecutive PQ encoded vectors of a single list (cluster) in the compressed index starting at given `offset`, not expanded to one code per byte. Each code in the output buffer occupies ceildiv(index.pq_dim() * index.pq_bits(), 8) bytes.
```c
-CUVS_EXPORT cuvsError_t cuvsIvfPqIndexUnpackContiguousListData(cuvsResources_t res,
+cuvsError_t cuvsIvfPqIndexUnpackContiguousListData(cuvsResources_t res,
cuvsIvfPqIndex_t index,
DLManagedTensor* out_codes,
uint32_t label,
@@ -524,7 +524,7 @@ uint32_t offset);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfPqIndexGetListIndices
@@ -532,7 +532,7 @@ uint32_t offset);
Get the indices of each vector in a ivf-pq list
```c
-CUVS_EXPORT cuvsError_t cuvsIvfPqIndexGetListIndices(cuvsIvfPqIndex_t index,
+cuvsError_t cuvsIvfPqIndexGetListIndices(cuvsIvfPqIndex_t index,
uint32_t label,
DLManagedTensor* out_labels);
```
@@ -547,17 +547,22 @@ DLManagedTensor* out_labels);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## IVF-PQ index build
### cuvsIvfPqBuild
-Build a IVF-PQ index with a `DLManagedTensor` which has underlying `DLDeviceType` equal to `kDLCUDA`, `kDLCUDAHost`, `kDLCUDAManaged`, or `kDLCPU`. Also, acceptable underlying types are: 1. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32` 2. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 16` 3. `kDLDataType.code == kDLInt` and `kDLDataType.bits = 8` 4. `kDLDataType.code == kDLUInt` and `kDLDataType.bits = 8`
+Build a IVF-PQ index with a `DLManagedTensor` which has underlying `DLDeviceType` equal to `kDLCUDA`, `kDLCUDAHost`, `kDLCUDAManaged`, or `kDLCPU`. Also, acceptable underlying types are:
+
+1. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32`
+2. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 16`
+3. `kDLDataType.code == kDLInt` and `kDLDataType.bits = 8`
+4. `kDLDataType.code == kDLUInt` and `kDLDataType.bits = 8`
```c
-CUVS_EXPORT cuvsError_t cuvsIvfPqBuild(cuvsResources_t res,
+cuvsError_t cuvsIvfPqBuild(cuvsResources_t res,
cuvsIvfPqIndexParams_t params,
DLManagedTensor* dataset,
cuvsIvfPqIndex_t index);
@@ -574,7 +579,7 @@ cuvsIvfPqIndex_t index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfPqBuildPrecomputed
@@ -582,7 +587,7 @@ cuvsIvfPqIndex_t index);
Build a view-type IVF-PQ index from device memory precomputed centroids and codebook.
```c
-CUVS_EXPORT cuvsError_t cuvsIvfPqBuildPrecomputed(cuvsResources_t res,
+cuvsError_t cuvsIvfPqBuildPrecomputed(cuvsResources_t res,
cuvsIvfPqIndexParams_t params,
uint32_t dim,
DLManagedTensor* pq_centers,
@@ -615,17 +620,21 @@ The index_params must be consistent with the provided matrices. Specifically:
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## IVF-PQ index search
### cuvsIvfPqSearch
-Search a IVF-PQ index with a `DLManagedTensor` which has underlying `DLDeviceType` equal to `kDLCUDA`, `kDLCUDAHost`, `kDLCUDAManaged`. It is also important to note that the IVF-PQ Index must have been built with the same type of `queries`, such that `index.dtype.code == queries.dl_tensor.dtype.code` Types for input are: 1. `queries`: `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32` or `kDLDataType.bits = 16` 2. `neighbors`: `kDLDataType.code == kDLUInt` and `kDLDataType.bits = 32` 3. `distances`: `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32`
+Search a IVF-PQ index with a `DLManagedTensor` which has underlying `DLDeviceType` equal to `kDLCUDA`, `kDLCUDAHost`, `kDLCUDAManaged`. It is also important to note that the IVF-PQ Index must have been built with the same type of `queries`, such that `index.dtype.code == queries.dl_tensor.dtype.code` Types for input are:
+
+1. `queries`: `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32` or `kDLDataType.bits = 16`
+2. `neighbors`: `kDLDataType.code == kDLUInt` and `kDLDataType.bits = 32`
+3. `distances`: `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32`
```c
-CUVS_EXPORT cuvsError_t cuvsIvfPqSearch(cuvsResources_t res,
+cuvsError_t cuvsIvfPqSearch(cuvsResources_t res,
cuvsIvfPqSearchParams_t search_params,
cuvsIvfPqIndex_t index,
DLManagedTensor* queries,
@@ -646,7 +655,7 @@ DLManagedTensor* distances);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## IVF-PQ C-API serialize functions
@@ -656,7 +665,7 @@ DLManagedTensor* distances);
Save the index to file.
```c
-CUVS_EXPORT cuvsError_t cuvsIvfPqSerialize(cuvsResources_t res, const char* filename, cuvsIvfPqIndex_t index);
+cuvsError_t cuvsIvfPqSerialize(cuvsResources_t res, const char* filename, cuvsIvfPqIndex_t index);
```
Experimental, both the API and the serialization format are subject to change.
@@ -671,7 +680,7 @@ Experimental, both the API and the serialization format are subject to change.
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfPqDeserialize
@@ -679,7 +688,7 @@ Experimental, both the API and the serialization format are subject to change.
Load index from file.
```c
-CUVS_EXPORT cuvsError_t cuvsIvfPqDeserialize(cuvsResources_t res, const char* filename, cuvsIvfPqIndex_t index);
+cuvsError_t cuvsIvfPqDeserialize(cuvsResources_t res, const char* filename, cuvsIvfPqIndex_t index);
```
Experimental, both the API and the serialization format are subject to change.
@@ -694,7 +703,7 @@ Experimental, both the API and the serialization format are subject to change.
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## IVF-PQ index extend
@@ -704,7 +713,7 @@ Experimental, both the API and the serialization format are subject to change.
Extend the index with the new data.
```c
-CUVS_EXPORT cuvsError_t cuvsIvfPqExtend(cuvsResources_t res,
+cuvsError_t cuvsIvfPqExtend(cuvsResources_t res,
DLManagedTensor* new_vectors,
DLManagedTensor* new_indices,
cuvsIvfPqIndex_t index);
@@ -721,7 +730,7 @@ cuvsIvfPqIndex_t index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## IVF-PQ index transform
@@ -731,7 +740,7 @@ cuvsIvfPqIndex_t index);
Transform the input data by applying pq-encoding
```c
-CUVS_EXPORT cuvsError_t cuvsIvfPqTransform(cuvsResources_t res,
+cuvsError_t cuvsIvfPqTransform(cuvsResources_t res,
cuvsIvfPqIndex_t index,
DLManagedTensor* input_dataset,
DLManagedTensor* output_labels,
@@ -750,4 +759,4 @@ DLManagedTensor* output_dataset);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
diff --git a/fern/pages/c_api/c-api-neighbors-ivf-sq.md b/fern/pages/c_api/c-api-neighbors-ivf-sq.md
index d339c813af..a06794cb08 100644
--- a/fern/pages/c_api/c-api-neighbors-ivf-sq.md
+++ b/fern/pages/c_api/c-api-neighbors-ivf-sq.md
@@ -43,7 +43,7 @@ struct cuvsIvfSqIndexParams {
Allocate IVF-SQ Index params, and populate with default values
```c
-CUVS_EXPORT cuvsError_t cuvsIvfSqIndexParamsCreate(cuvsIvfSqIndexParams_t* index_params);
+cuvsError_t cuvsIvfSqIndexParamsCreate(cuvsIvfSqIndexParams_t* index_params);
```
**Parameters**
@@ -54,7 +54,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfSqIndexParamsCreate(cuvsIvfSqIndexParams_t* index
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfSqIndexParamsDestroy
@@ -62,7 +62,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfSqIndexParamsCreate(cuvsIvfSqIndexParams_t* index
De-allocate IVF-SQ Index params
```c
-CUVS_EXPORT cuvsError_t cuvsIvfSqIndexParamsDestroy(cuvsIvfSqIndexParams_t index_params);
+cuvsError_t cuvsIvfSqIndexParamsDestroy(cuvsIvfSqIndexParams_t index_params);
```
**Parameters**
@@ -73,7 +73,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfSqIndexParamsDestroy(cuvsIvfSqIndexParams_t index
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## IVF-SQ index search parameters
@@ -100,7 +100,7 @@ struct cuvsIvfSqSearchParams {
Allocate IVF-SQ search params, and populate with default values
```c
-CUVS_EXPORT cuvsError_t cuvsIvfSqSearchParamsCreate(cuvsIvfSqSearchParams_t* params);
+cuvsError_t cuvsIvfSqSearchParamsCreate(cuvsIvfSqSearchParams_t* params);
```
**Parameters**
@@ -111,7 +111,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfSqSearchParamsCreate(cuvsIvfSqSearchParams_t* par
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfSqSearchParamsDestroy
@@ -119,7 +119,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfSqSearchParamsCreate(cuvsIvfSqSearchParams_t* par
De-allocate IVF-SQ search params
```c
-CUVS_EXPORT cuvsError_t cuvsIvfSqSearchParamsDestroy(cuvsIvfSqSearchParams_t params);
+cuvsError_t cuvsIvfSqSearchParamsDestroy(cuvsIvfSqSearchParams_t params);
```
**Parameters**
@@ -130,7 +130,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfSqSearchParamsDestroy(cuvsIvfSqSearchParams_t par
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## IVF-SQ index
@@ -159,7 +159,7 @@ typedef struct {
Allocate IVF-SQ index
```c
-CUVS_EXPORT cuvsError_t cuvsIvfSqIndexCreate(cuvsIvfSqIndex_t* index);
+cuvsError_t cuvsIvfSqIndexCreate(cuvsIvfSqIndex_t* index);
```
**Parameters**
@@ -170,7 +170,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfSqIndexCreate(cuvsIvfSqIndex_t* index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfSqIndexDestroy
@@ -178,7 +178,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfSqIndexCreate(cuvsIvfSqIndex_t* index);
De-allocate IVF-SQ index
```c
-CUVS_EXPORT cuvsError_t cuvsIvfSqIndexDestroy(cuvsIvfSqIndex_t index);
+cuvsError_t cuvsIvfSqIndexDestroy(cuvsIvfSqIndex_t index);
```
**Parameters**
@@ -189,7 +189,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfSqIndexDestroy(cuvsIvfSqIndex_t index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfSqIndexGetNLists
@@ -197,7 +197,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfSqIndexDestroy(cuvsIvfSqIndex_t index);
Get the number of clusters/inverted lists
```c
-CUVS_EXPORT cuvsError_t cuvsIvfSqIndexGetNLists(cuvsIvfSqIndex_t index, int64_t* n_lists);
+cuvsError_t cuvsIvfSqIndexGetNLists(cuvsIvfSqIndex_t index, int64_t* n_lists);
```
**Parameters**
@@ -209,7 +209,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfSqIndexGetNLists(cuvsIvfSqIndex_t index, int64_t*
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfSqIndexGetDim
@@ -217,7 +217,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfSqIndexGetNLists(cuvsIvfSqIndex_t index, int64_t*
Get the dimensionality of the data
```c
-CUVS_EXPORT cuvsError_t cuvsIvfSqIndexGetDim(cuvsIvfSqIndex_t index, int64_t* dim);
+cuvsError_t cuvsIvfSqIndexGetDim(cuvsIvfSqIndex_t index, int64_t* dim);
```
**Parameters**
@@ -229,7 +229,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfSqIndexGetDim(cuvsIvfSqIndex_t index, int64_t* di
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfSqIndexGetSize
@@ -237,7 +237,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfSqIndexGetDim(cuvsIvfSqIndex_t index, int64_t* di
Get the size of the index
```c
-CUVS_EXPORT cuvsError_t cuvsIvfSqIndexGetSize(cuvsIvfSqIndex_t index, int64_t* size);
+cuvsError_t cuvsIvfSqIndexGetSize(cuvsIvfSqIndex_t index, int64_t* size);
```
**Parameters**
@@ -249,7 +249,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfSqIndexGetSize(cuvsIvfSqIndex_t index, int64_t* s
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfSqIndexGetCenters
@@ -257,7 +257,7 @@ CUVS_EXPORT cuvsError_t cuvsIvfSqIndexGetSize(cuvsIvfSqIndex_t index, int64_t* s
Get the cluster centers corresponding to the lists [n_lists, dim]
```c
-CUVS_EXPORT cuvsError_t cuvsIvfSqIndexGetCenters(cuvsIvfSqIndex_t index, DLManagedTensor* centers);
+cuvsError_t cuvsIvfSqIndexGetCenters(cuvsIvfSqIndex_t index, DLManagedTensor* centers);
```
**Parameters**
@@ -269,17 +269,20 @@ CUVS_EXPORT cuvsError_t cuvsIvfSqIndexGetCenters(cuvsIvfSqIndex_t index, DLManag
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## IVF-SQ index build
### cuvsIvfSqBuild
-Build an IVF-SQ index with a `DLManagedTensor` which has underlying `DLDeviceType` equal to `kDLCUDA`, `kDLCUDAHost`, `kDLCUDAManaged`, or `kDLCPU`. Also, acceptable underlying types are: 1. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32` 2. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 16`
+Build an IVF-SQ index with a `DLManagedTensor` which has underlying `DLDeviceType` equal to `kDLCUDA`, `kDLCUDAHost`, `kDLCUDAManaged`, or `kDLCPU`. Also, acceptable underlying types are:
+
+1. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32`
+2. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 16`
```c
-CUVS_EXPORT cuvsError_t cuvsIvfSqBuild(cuvsResources_t res,
+cuvsError_t cuvsIvfSqBuild(cuvsResources_t res,
cuvsIvfSqIndexParams_t index_params,
DLManagedTensor* dataset,
cuvsIvfSqIndex_t index);
@@ -296,17 +299,21 @@ cuvsIvfSqIndex_t index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## IVF-SQ index search
### cuvsIvfSqSearch
-Search an IVF-SQ index with a `DLManagedTensor` which has underlying `DLDeviceType` equal to `kDLCUDA`, `kDLCUDAHost`, `kDLCUDAManaged`. Types for input are: 1. `queries`: `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32` or 16 2. `neighbors`: `kDLDataType.code == kDLInt` and `kDLDataType.bits = 64` 3. `distances`: `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32`
+Search an IVF-SQ index with a `DLManagedTensor` which has underlying `DLDeviceType` equal to `kDLCUDA`, `kDLCUDAHost`, `kDLCUDAManaged`. Types for input are:
+
+1. `queries`: `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32` or 16
+2. `neighbors`: `kDLDataType.code == kDLInt` and `kDLDataType.bits = 64`
+3. `distances`: `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32`
```c
-CUVS_EXPORT cuvsError_t cuvsIvfSqSearch(cuvsResources_t res,
+cuvsError_t cuvsIvfSqSearch(cuvsResources_t res,
cuvsIvfSqSearchParams_t search_params,
cuvsIvfSqIndex_t index,
DLManagedTensor* queries,
@@ -329,7 +336,7 @@ cuvsFilter filter);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## IVF-SQ C-API serialize functions
@@ -339,7 +346,7 @@ cuvsFilter filter);
Save the index to file.
```c
-CUVS_EXPORT cuvsError_t cuvsIvfSqSerialize(cuvsResources_t res, const char* filename, cuvsIvfSqIndex_t index);
+cuvsError_t cuvsIvfSqSerialize(cuvsResources_t res, const char* filename, cuvsIvfSqIndex_t index);
```
Experimental, both the API and the serialization format are subject to change.
@@ -354,7 +361,7 @@ Experimental, both the API and the serialization format are subject to change.
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsIvfSqDeserialize
@@ -362,7 +369,7 @@ Experimental, both the API and the serialization format are subject to change.
Load index from file.
```c
-CUVS_EXPORT cuvsError_t cuvsIvfSqDeserialize(cuvsResources_t res,
+cuvsError_t cuvsIvfSqDeserialize(cuvsResources_t res,
const char* filename,
cuvsIvfSqIndex_t index);
```
@@ -379,7 +386,7 @@ Experimental, both the API and the serialization format are subject to change.
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## IVF-SQ index extend
@@ -389,7 +396,7 @@ Experimental, both the API and the serialization format are subject to change.
Extend the index with the new data.
```c
-CUVS_EXPORT cuvsError_t cuvsIvfSqExtend(cuvsResources_t res,
+cuvsError_t cuvsIvfSqExtend(cuvsResources_t res,
DLManagedTensor* new_vectors,
DLManagedTensor* new_indices,
cuvsIvfSqIndex_t index);
@@ -406,4 +413,4 @@ cuvsIvfSqIndex_t index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
diff --git a/fern/pages/c_api/c-api-neighbors-mg-cagra.md b/fern/pages/c_api/c-api-neighbors-mg-cagra.md
index 9f05edb51e..4bcb60dee4 100644
--- a/fern/pages/c_api/c-api-neighbors-mg-cagra.md
+++ b/fern/pages/c_api/c-api-neighbors-mg-cagra.md
@@ -35,7 +35,7 @@ struct cuvsMultiGpuCagraIndexParams {
Allocate Multi-GPU CAGRA Index params, and populate with default values
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuCagraIndexParamsCreate(cuvsMultiGpuCagraIndexParams_t* index_params);
+cuvsError_t cuvsMultiGpuCagraIndexParamsCreate(cuvsMultiGpuCagraIndexParams_t* index_params);
```
**Parameters**
@@ -46,7 +46,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuCagraIndexParamsCreate(cuvsMultiGpuCagraInde
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsMultiGpuCagraIndexParamsDestroy
@@ -54,7 +54,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuCagraIndexParamsCreate(cuvsMultiGpuCagraInde
De-allocate Multi-GPU CAGRA Index params
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuCagraIndexParamsDestroy(cuvsMultiGpuCagraIndexParams_t index_params);
+cuvsError_t cuvsMultiGpuCagraIndexParamsDestroy(cuvsMultiGpuCagraIndexParams_t index_params);
```
**Parameters**
@@ -65,7 +65,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuCagraIndexParamsDestroy(cuvsMultiGpuCagraInd
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Multi-GPU CAGRA index search parameters
@@ -100,7 +100,7 @@ struct cuvsMultiGpuCagraSearchParams {
Allocate Multi-GPU CAGRA search params, and populate with default values
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuCagraSearchParamsCreate(cuvsMultiGpuCagraSearchParams_t* params);
+cuvsError_t cuvsMultiGpuCagraSearchParamsCreate(cuvsMultiGpuCagraSearchParams_t* params);
```
**Parameters**
@@ -111,7 +111,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuCagraSearchParamsCreate(cuvsMultiGpuCagraSea
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsMultiGpuCagraSearchParamsDestroy
@@ -119,7 +119,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuCagraSearchParamsCreate(cuvsMultiGpuCagraSea
De-allocate Multi-GPU CAGRA search params
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuCagraSearchParamsDestroy(cuvsMultiGpuCagraSearchParams_t params);
+cuvsError_t cuvsMultiGpuCagraSearchParamsDestroy(cuvsMultiGpuCagraSearchParams_t params);
```
**Parameters**
@@ -130,7 +130,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuCagraSearchParamsDestroy(cuvsMultiGpuCagraSe
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Multi-GPU CAGRA index
@@ -159,7 +159,7 @@ typedef struct {
Allocate Multi-GPU CAGRA index
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuCagraIndexCreate(cuvsMultiGpuCagraIndex_t* index);
+cuvsError_t cuvsMultiGpuCagraIndexCreate(cuvsMultiGpuCagraIndex_t* index);
```
**Parameters**
@@ -170,7 +170,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuCagraIndexCreate(cuvsMultiGpuCagraIndex_t* i
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsMultiGpuCagraIndexDestroy
@@ -178,7 +178,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuCagraIndexCreate(cuvsMultiGpuCagraIndex_t* i
De-allocate Multi-GPU CAGRA index
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuCagraIndexDestroy(cuvsMultiGpuCagraIndex_t index);
+cuvsError_t cuvsMultiGpuCagraIndexDestroy(cuvsMultiGpuCagraIndex_t index);
```
**Parameters**
@@ -189,7 +189,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuCagraIndexDestroy(cuvsMultiGpuCagraIndex_t i
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Multi-GPU CAGRA index build
@@ -199,7 +199,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuCagraIndexDestroy(cuvsMultiGpuCagraIndex_t i
Build a Multi-GPU CAGRA index
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuCagraBuild(cuvsResources_t res,
+cuvsError_t cuvsMultiGpuCagraBuild(cuvsResources_t res,
cuvsMultiGpuCagraIndexParams_t params,
DLManagedTensor* dataset_tensor,
cuvsMultiGpuCagraIndex_t index);
@@ -216,7 +216,7 @@ cuvsMultiGpuCagraIndex_t index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Multi-GPU CAGRA index search
@@ -226,7 +226,7 @@ cuvsMultiGpuCagraIndex_t index);
Search a Multi-GPU CAGRA index
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuCagraSearch(cuvsResources_t res,
+cuvsError_t cuvsMultiGpuCagraSearch(cuvsResources_t res,
cuvsMultiGpuCagraSearchParams_t params,
cuvsMultiGpuCagraIndex_t index,
DLManagedTensor* queries_tensor,
@@ -247,7 +247,7 @@ DLManagedTensor* distances_tensor);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Multi-GPU CAGRA index extend
@@ -257,7 +257,7 @@ DLManagedTensor* distances_tensor);
Extend a Multi-GPU CAGRA index
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuCagraExtend(cuvsResources_t res,
+cuvsError_t cuvsMultiGpuCagraExtend(cuvsResources_t res,
cuvsMultiGpuCagraIndex_t index,
DLManagedTensor* new_vectors_tensor,
DLManagedTensor* new_indices_tensor);
@@ -274,7 +274,7 @@ DLManagedTensor* new_indices_tensor);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Multi-GPU CAGRA index serialize
@@ -284,7 +284,7 @@ DLManagedTensor* new_indices_tensor);
Serialize a Multi-GPU CAGRA index to file
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuCagraSerialize(cuvsResources_t res,
+cuvsError_t cuvsMultiGpuCagraSerialize(cuvsResources_t res,
cuvsMultiGpuCagraIndex_t index,
const char* filename);
```
@@ -299,7 +299,7 @@ const char* filename);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Multi-GPU CAGRA index deserialize
@@ -309,7 +309,7 @@ const char* filename);
Deserialize a Multi-GPU CAGRA index from file
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuCagraDeserialize(cuvsResources_t res,
+cuvsError_t cuvsMultiGpuCagraDeserialize(cuvsResources_t res,
const char* filename,
cuvsMultiGpuCagraIndex_t index);
```
@@ -324,7 +324,7 @@ cuvsMultiGpuCagraIndex_t index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Multi-GPU CAGRA index distribute
@@ -334,7 +334,7 @@ cuvsMultiGpuCagraIndex_t index);
Distribute a local CAGRA index to create a Multi-GPU index
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuCagraDistribute(cuvsResources_t res,
+cuvsError_t cuvsMultiGpuCagraDistribute(cuvsResources_t res,
const char* filename,
cuvsMultiGpuCagraIndex_t index);
```
@@ -349,4 +349,4 @@ cuvsMultiGpuCagraIndex_t index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
diff --git a/fern/pages/c_api/c-api-neighbors-mg-ivf-flat.md b/fern/pages/c_api/c-api-neighbors-mg-ivf-flat.md
index 8b578c708c..afcfe6bac8 100644
--- a/fern/pages/c_api/c-api-neighbors-mg-ivf-flat.md
+++ b/fern/pages/c_api/c-api-neighbors-mg-ivf-flat.md
@@ -35,7 +35,7 @@ struct cuvsMultiGpuIvfFlatIndexParams {
Allocate Multi-GPU IVF-Flat Index params, and populate with default values
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfFlatIndexParamsCreate(cuvsMultiGpuIvfFlatIndexParams_t* index_params);
+cuvsError_t cuvsMultiGpuIvfFlatIndexParamsCreate(cuvsMultiGpuIvfFlatIndexParams_t* index_params);
```
**Parameters**
@@ -46,7 +46,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfFlatIndexParamsCreate(cuvsMultiGpuIvfFlat
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsMultiGpuIvfFlatIndexParamsDestroy
@@ -54,7 +54,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfFlatIndexParamsCreate(cuvsMultiGpuIvfFlat
De-allocate Multi-GPU IVF-Flat Index params
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfFlatIndexParamsDestroy(cuvsMultiGpuIvfFlatIndexParams_t index_params);
+cuvsError_t cuvsMultiGpuIvfFlatIndexParamsDestroy(cuvsMultiGpuIvfFlatIndexParams_t index_params);
```
**Parameters**
@@ -65,7 +65,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfFlatIndexParamsDestroy(cuvsMultiGpuIvfFla
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Multi-GPU IVF-Flat index search parameters
@@ -100,7 +100,7 @@ struct cuvsMultiGpuIvfFlatSearchParams {
Allocate Multi-GPU IVF-Flat search params, and populate with default values
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfFlatSearchParamsCreate(cuvsMultiGpuIvfFlatSearchParams_t* params);
+cuvsError_t cuvsMultiGpuIvfFlatSearchParamsCreate(cuvsMultiGpuIvfFlatSearchParams_t* params);
```
**Parameters**
@@ -111,7 +111,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfFlatSearchParamsCreate(cuvsMultiGpuIvfFla
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsMultiGpuIvfFlatSearchParamsDestroy
@@ -119,7 +119,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfFlatSearchParamsCreate(cuvsMultiGpuIvfFla
De-allocate Multi-GPU IVF-Flat search params
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfFlatSearchParamsDestroy(cuvsMultiGpuIvfFlatSearchParams_t params);
+cuvsError_t cuvsMultiGpuIvfFlatSearchParamsDestroy(cuvsMultiGpuIvfFlatSearchParams_t params);
```
**Parameters**
@@ -130,7 +130,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfFlatSearchParamsDestroy(cuvsMultiGpuIvfFl
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Multi-GPU IVF-Flat index
@@ -159,7 +159,7 @@ typedef struct {
Allocate Multi-GPU IVF-Flat index
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfFlatIndexCreate(cuvsMultiGpuIvfFlatIndex_t* index);
+cuvsError_t cuvsMultiGpuIvfFlatIndexCreate(cuvsMultiGpuIvfFlatIndex_t* index);
```
**Parameters**
@@ -170,7 +170,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfFlatIndexCreate(cuvsMultiGpuIvfFlatIndex_
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsMultiGpuIvfFlatIndexDestroy
@@ -178,7 +178,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfFlatIndexCreate(cuvsMultiGpuIvfFlatIndex_
De-allocate Multi-GPU IVF-Flat index
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfFlatIndexDestroy(cuvsMultiGpuIvfFlatIndex_t index);
+cuvsError_t cuvsMultiGpuIvfFlatIndexDestroy(cuvsMultiGpuIvfFlatIndex_t index);
```
**Parameters**
@@ -189,7 +189,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfFlatIndexDestroy(cuvsMultiGpuIvfFlatIndex
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Multi-GPU IVF-Flat index build
@@ -199,7 +199,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfFlatIndexDestroy(cuvsMultiGpuIvfFlatIndex
Build a Multi-GPU IVF-Flat index
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfFlatBuild(cuvsResources_t res,
+cuvsError_t cuvsMultiGpuIvfFlatBuild(cuvsResources_t res,
cuvsMultiGpuIvfFlatIndexParams_t params,
DLManagedTensor* dataset_tensor,
cuvsMultiGpuIvfFlatIndex_t index);
@@ -216,7 +216,7 @@ cuvsMultiGpuIvfFlatIndex_t index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Multi-GPU IVF-Flat index search
@@ -226,7 +226,7 @@ cuvsMultiGpuIvfFlatIndex_t index);
Search a Multi-GPU IVF-Flat index
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfFlatSearch(cuvsResources_t res,
+cuvsError_t cuvsMultiGpuIvfFlatSearch(cuvsResources_t res,
cuvsMultiGpuIvfFlatSearchParams_t params,
cuvsMultiGpuIvfFlatIndex_t index,
DLManagedTensor* queries_tensor,
@@ -247,7 +247,7 @@ DLManagedTensor* distances_tensor);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Multi-GPU IVF-Flat index extend
@@ -257,7 +257,7 @@ DLManagedTensor* distances_tensor);
Extend a Multi-GPU IVF-Flat index
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfFlatExtend(cuvsResources_t res,
+cuvsError_t cuvsMultiGpuIvfFlatExtend(cuvsResources_t res,
cuvsMultiGpuIvfFlatIndex_t index,
DLManagedTensor* new_vectors_tensor,
DLManagedTensor* new_indices_tensor);
@@ -274,7 +274,7 @@ DLManagedTensor* new_indices_tensor);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Multi-GPU IVF-Flat index serialize
@@ -284,7 +284,7 @@ DLManagedTensor* new_indices_tensor);
Serialize a Multi-GPU IVF-Flat index to file
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfFlatSerialize(cuvsResources_t res,
+cuvsError_t cuvsMultiGpuIvfFlatSerialize(cuvsResources_t res,
cuvsMultiGpuIvfFlatIndex_t index,
const char* filename);
```
@@ -299,7 +299,7 @@ const char* filename);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Multi-GPU IVF-Flat index deserialize
@@ -309,7 +309,7 @@ const char* filename);
Deserialize a Multi-GPU IVF-Flat index from file
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfFlatDeserialize(cuvsResources_t res,
+cuvsError_t cuvsMultiGpuIvfFlatDeserialize(cuvsResources_t res,
const char* filename,
cuvsMultiGpuIvfFlatIndex_t index);
```
@@ -324,7 +324,7 @@ cuvsMultiGpuIvfFlatIndex_t index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Multi-GPU IVF-Flat index distribute
@@ -334,7 +334,7 @@ cuvsMultiGpuIvfFlatIndex_t index);
Distribute a local IVF-Flat index to create a Multi-GPU index
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfFlatDistribute(cuvsResources_t res,
+cuvsError_t cuvsMultiGpuIvfFlatDistribute(cuvsResources_t res,
const char* filename,
cuvsMultiGpuIvfFlatIndex_t index);
```
@@ -349,4 +349,4 @@ cuvsMultiGpuIvfFlatIndex_t index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
diff --git a/fern/pages/c_api/c-api-neighbors-mg-ivf-pq.md b/fern/pages/c_api/c-api-neighbors-mg-ivf-pq.md
index ad30dcc36e..8452b48872 100644
--- a/fern/pages/c_api/c-api-neighbors-mg-ivf-pq.md
+++ b/fern/pages/c_api/c-api-neighbors-mg-ivf-pq.md
@@ -35,7 +35,7 @@ struct cuvsMultiGpuIvfPqIndexParams {
Allocate Multi-GPU IVF-PQ Index params, and populate with default values
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfPqIndexParamsCreate(cuvsMultiGpuIvfPqIndexParams_t* index_params);
+cuvsError_t cuvsMultiGpuIvfPqIndexParamsCreate(cuvsMultiGpuIvfPqIndexParams_t* index_params);
```
**Parameters**
@@ -46,7 +46,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfPqIndexParamsCreate(cuvsMultiGpuIvfPqInde
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsMultiGpuIvfPqIndexParamsDestroy
@@ -54,7 +54,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfPqIndexParamsCreate(cuvsMultiGpuIvfPqInde
De-allocate Multi-GPU IVF-PQ Index params
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfPqIndexParamsDestroy(cuvsMultiGpuIvfPqIndexParams_t index_params);
+cuvsError_t cuvsMultiGpuIvfPqIndexParamsDestroy(cuvsMultiGpuIvfPqIndexParams_t index_params);
```
**Parameters**
@@ -65,7 +65,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfPqIndexParamsDestroy(cuvsMultiGpuIvfPqInd
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Multi-GPU IVF-PQ index search parameters
@@ -100,7 +100,7 @@ struct cuvsMultiGpuIvfPqSearchParams {
Allocate Multi-GPU IVF-PQ search params, and populate with default values
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfPqSearchParamsCreate(cuvsMultiGpuIvfPqSearchParams_t* params);
+cuvsError_t cuvsMultiGpuIvfPqSearchParamsCreate(cuvsMultiGpuIvfPqSearchParams_t* params);
```
**Parameters**
@@ -111,7 +111,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfPqSearchParamsCreate(cuvsMultiGpuIvfPqSea
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsMultiGpuIvfPqSearchParamsDestroy
@@ -119,7 +119,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfPqSearchParamsCreate(cuvsMultiGpuIvfPqSea
De-allocate Multi-GPU IVF-PQ search params
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfPqSearchParamsDestroy(cuvsMultiGpuIvfPqSearchParams_t params);
+cuvsError_t cuvsMultiGpuIvfPqSearchParamsDestroy(cuvsMultiGpuIvfPqSearchParams_t params);
```
**Parameters**
@@ -130,7 +130,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfPqSearchParamsDestroy(cuvsMultiGpuIvfPqSe
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Multi-GPU IVF-PQ index
@@ -159,7 +159,7 @@ typedef struct {
Allocate Multi-GPU IVF-PQ index
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfPqIndexCreate(cuvsMultiGpuIvfPqIndex_t* index);
+cuvsError_t cuvsMultiGpuIvfPqIndexCreate(cuvsMultiGpuIvfPqIndex_t* index);
```
**Parameters**
@@ -170,7 +170,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfPqIndexCreate(cuvsMultiGpuIvfPqIndex_t* i
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsMultiGpuIvfPqIndexDestroy
@@ -178,7 +178,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfPqIndexCreate(cuvsMultiGpuIvfPqIndex_t* i
De-allocate Multi-GPU IVF-PQ index
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfPqIndexDestroy(cuvsMultiGpuIvfPqIndex_t index);
+cuvsError_t cuvsMultiGpuIvfPqIndexDestroy(cuvsMultiGpuIvfPqIndex_t index);
```
**Parameters**
@@ -189,7 +189,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfPqIndexDestroy(cuvsMultiGpuIvfPqIndex_t i
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Multi-GPU IVF-PQ index build
@@ -199,7 +199,7 @@ CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfPqIndexDestroy(cuvsMultiGpuIvfPqIndex_t i
Build a Multi-GPU IVF-PQ index
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfPqBuild(cuvsResources_t res,
+cuvsError_t cuvsMultiGpuIvfPqBuild(cuvsResources_t res,
cuvsMultiGpuIvfPqIndexParams_t params,
DLManagedTensor* dataset_tensor,
cuvsMultiGpuIvfPqIndex_t index);
@@ -216,7 +216,7 @@ cuvsMultiGpuIvfPqIndex_t index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Multi-GPU IVF-PQ index search
@@ -226,7 +226,7 @@ cuvsMultiGpuIvfPqIndex_t index);
Search a Multi-GPU IVF-PQ index
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfPqSearch(cuvsResources_t res,
+cuvsError_t cuvsMultiGpuIvfPqSearch(cuvsResources_t res,
cuvsMultiGpuIvfPqSearchParams_t params,
cuvsMultiGpuIvfPqIndex_t index,
DLManagedTensor* queries_tensor,
@@ -247,7 +247,7 @@ DLManagedTensor* distances_tensor);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Multi-GPU IVF-PQ index extend
@@ -257,7 +257,7 @@ DLManagedTensor* distances_tensor);
Extend a Multi-GPU IVF-PQ index
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfPqExtend(cuvsResources_t res,
+cuvsError_t cuvsMultiGpuIvfPqExtend(cuvsResources_t res,
cuvsMultiGpuIvfPqIndex_t index,
DLManagedTensor* new_vectors_tensor,
DLManagedTensor* new_indices_tensor);
@@ -274,7 +274,7 @@ DLManagedTensor* new_indices_tensor);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Multi-GPU IVF-PQ index serialize
@@ -284,7 +284,7 @@ DLManagedTensor* new_indices_tensor);
Serialize a Multi-GPU IVF-PQ index to file
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfPqSerialize(cuvsResources_t res,
+cuvsError_t cuvsMultiGpuIvfPqSerialize(cuvsResources_t res,
cuvsMultiGpuIvfPqIndex_t index,
const char* filename);
```
@@ -299,7 +299,7 @@ const char* filename);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Multi-GPU IVF-PQ index deserialize
@@ -309,7 +309,7 @@ const char* filename);
Deserialize a Multi-GPU IVF-PQ index from file
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfPqDeserialize(cuvsResources_t res,
+cuvsError_t cuvsMultiGpuIvfPqDeserialize(cuvsResources_t res,
const char* filename,
cuvsMultiGpuIvfPqIndex_t index);
```
@@ -324,7 +324,7 @@ cuvsMultiGpuIvfPqIndex_t index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Multi-GPU IVF-PQ index distribute
@@ -334,7 +334,7 @@ cuvsMultiGpuIvfPqIndex_t index);
Distribute a local IVF-PQ index to create a Multi-GPU index
```c
-CUVS_EXPORT cuvsError_t cuvsMultiGpuIvfPqDistribute(cuvsResources_t res,
+cuvsError_t cuvsMultiGpuIvfPqDistribute(cuvsResources_t res,
const char* filename,
cuvsMultiGpuIvfPqIndex_t index);
```
@@ -349,4 +349,4 @@ cuvsMultiGpuIvfPqIndex_t index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
diff --git a/fern/pages/c_api/c-api-neighbors-nn-descent.md b/fern/pages/c_api/c-api-neighbors-nn-descent.md
index 689dca1fba..cba7535ff5 100644
--- a/fern/pages/c_api/c-api-neighbors-nn-descent.md
+++ b/fern/pages/c_api/c-api-neighbors-nn-descent.md
@@ -11,7 +11,7 @@ _Source header: `cuvs/neighbors/nn_descent.h`_
### cuvsNNDescentDistCompDtype
-Dtype to use for distance computation - `NND_DIST_COMP_AUTO`: Automatically determine the best dtype for distance computation based on the dataset dimensions. - `NND_DIST_COMP_FP32`: Use fp32 distance computation for better precision at the cost of performance and memory usage. - `NND_DIST_COMP_FP16`: Use fp16 distance computation.
+Dtype to use for distance computation
```c
typedef enum {
@@ -23,11 +23,11 @@ typedef enum {
**Values**
-| Name | Value |
-| --- | --- |
-| `NND_DIST_COMP_AUTO` | `0` |
-| `NND_DIST_COMP_FP32` | `1` |
-| `NND_DIST_COMP_FP16` | `2` |
+| Name | Value | Description |
+| --- | --- | --- |
+| `NND_DIST_COMP_AUTO` | `0` | Automatically determine the best dtype for distance computation based on the dataset dimensions. |
+| `NND_DIST_COMP_FP32` | `1` | Use fp32 distance computation for better precision at the cost of performance and memory usage. |
+| `NND_DIST_COMP_FP16` | `2` | Use fp16 distance computation. |
## The nn-descent algorithm parameters.
@@ -60,7 +60,7 @@ struct cuvsNNDescentIndexParams {
| `max_iterations` | `size_t` | The number of iterations that nn-descent will refine the graph for. More iterations produce a better quality graph at cost of performance |
| `termination_threshold` | `float` | The delta at which nn-descent will terminate its iterations |
| `return_distances` | `bool` | Boolean to decide whether to return distances array |
-| `dist_comp_dtype` | [`cuvsNNDescentDistCompDtype`](/api-reference/c-api-neighbors-nn-descent#cuvsnndescentdistcompdtype) | dtype to use for distance computation. Defaults to `NND_DIST_COMP_AUTO` which automatically determines the best dtype for distance computation based on the dataset dimensions. Use `NND_DIST_COMP_FP32` for better precision at the cost of performance and memory usage. This option is only valid when data type is fp32. Use `NND_DIST_COMP_FP16` for better performance and memory usage at the cost of precision. |
+| `dist_comp_dtype` | [`cuvsNNDescentDistCompDtype`](/api-reference/c-api-neighbors-nn-descent#cuvsnndescentdistcompdtype) | dtype to use for distance computation.
Defaults to `NND_DIST_COMP_AUTO` which automatically determines the best dtype for distance computation based on the dataset dimensions.
Use `NND_DIST_COMP_FP32` for better precision at the cost of performance and memory usage. This option is only valid when data type is fp32.
Use `NND_DIST_COMP_FP16` for better performance and memory usage at the cost of precision. |
### cuvsNNDescentIndexParamsCreate
@@ -68,7 +68,7 @@ struct cuvsNNDescentIndexParams {
Allocate NN-Descent Index params, and populate with default values
```c
-CUVS_EXPORT cuvsError_t cuvsNNDescentIndexParamsCreate(cuvsNNDescentIndexParams_t* index_params);
+cuvsError_t cuvsNNDescentIndexParamsCreate(cuvsNNDescentIndexParams_t* index_params);
```
**Parameters**
@@ -79,7 +79,7 @@ CUVS_EXPORT cuvsError_t cuvsNNDescentIndexParamsCreate(cuvsNNDescentIndexParams_
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsNNDescentIndexParamsDestroy
@@ -87,7 +87,7 @@ CUVS_EXPORT cuvsError_t cuvsNNDescentIndexParamsCreate(cuvsNNDescentIndexParams_
De-allocate NN-Descent Index params
```c
-CUVS_EXPORT cuvsError_t cuvsNNDescentIndexParamsDestroy(cuvsNNDescentIndexParams_t index_params);
+cuvsError_t cuvsNNDescentIndexParamsDestroy(cuvsNNDescentIndexParams_t index_params);
```
**Parameters**
@@ -98,7 +98,7 @@ CUVS_EXPORT cuvsError_t cuvsNNDescentIndexParamsDestroy(cuvsNNDescentIndexParams
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## NN-Descent index
@@ -127,7 +127,7 @@ typedef struct {
Allocate NN-Descent index
```c
-CUVS_EXPORT cuvsError_t cuvsNNDescentIndexCreate(cuvsNNDescentIndex_t* index);
+cuvsError_t cuvsNNDescentIndexCreate(cuvsNNDescentIndex_t* index);
```
**Parameters**
@@ -138,7 +138,7 @@ CUVS_EXPORT cuvsError_t cuvsNNDescentIndexCreate(cuvsNNDescentIndex_t* index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsNNDescentIndexDestroy
@@ -146,7 +146,7 @@ CUVS_EXPORT cuvsError_t cuvsNNDescentIndexCreate(cuvsNNDescentIndex_t* index);
De-allocate NN-Descent index
```c
-CUVS_EXPORT cuvsError_t cuvsNNDescentIndexDestroy(cuvsNNDescentIndex_t index);
+cuvsError_t cuvsNNDescentIndexDestroy(cuvsNNDescentIndex_t index);
```
**Parameters**
@@ -157,17 +157,22 @@ CUVS_EXPORT cuvsError_t cuvsNNDescentIndexDestroy(cuvsNNDescentIndex_t index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## NN-Descent index build
### cuvsNNDescentBuild
-Build a NN-Descent index with a `DLManagedTensor` which has underlying `DLDeviceType` equal to `kDLCUDA`, `kDLCUDAHost`, `kDLCUDAManaged`, or `kDLCPU`. Also, acceptable underlying types are: 1. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32` 2. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 16` 3. `kDLDataType.code == kDLInt` and `kDLDataType.bits = 8` 4. `kDLDataType.code == kDLUInt` and `kDLDataType.bits = 8`
+Build a NN-Descent index with a `DLManagedTensor` which has underlying `DLDeviceType` equal to `kDLCUDA`, `kDLCUDAHost`, `kDLCUDAManaged`, or `kDLCPU`. Also, acceptable underlying types are:
+
+1. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32`
+2. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 16`
+3. `kDLDataType.code == kDLInt` and `kDLDataType.bits = 8`
+4. `kDLDataType.code == kDLUInt` and `kDLDataType.bits = 8`
```c
-CUVS_EXPORT cuvsError_t cuvsNNDescentBuild(cuvsResources_t res,
+cuvsError_t cuvsNNDescentBuild(cuvsResources_t res,
cuvsNNDescentIndexParams_t index_params,
DLManagedTensor* dataset,
DLManagedTensor* graph,
@@ -186,4 +191,4 @@ cuvsNNDescentIndex_t index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
diff --git a/fern/pages/c_api/c-api-neighbors-refine.md b/fern/pages/c_api/c-api-neighbors-refine.md
index eea9d78518..37992ef017 100644
--- a/fern/pages/c_api/c-api-neighbors-refine.md
+++ b/fern/pages/c_api/c-api-neighbors-refine.md
@@ -14,7 +14,7 @@ _Source header: `cuvs/neighbors/refine.h`_
Refine nearest neighbor search.
```c
-CUVS_EXPORT cuvsError_t cuvsRefine(cuvsResources_t res,
+cuvsError_t cuvsRefine(cuvsResources_t res,
DLManagedTensor* dataset,
DLManagedTensor* queries,
DLManagedTensor* candidates,
@@ -39,4 +39,4 @@ Refinement is an operation that follows an approximate NN search. The approximat
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
diff --git a/fern/pages/c_api/c-api-neighbors-tiered-index.md b/fern/pages/c_api/c-api-neighbors-tiered-index.md
index d7bb28fbf7..79acfc6c23 100644
--- a/fern/pages/c_api/c-api-neighbors-tiered-index.md
+++ b/fern/pages/c_api/c-api-neighbors-tiered-index.md
@@ -58,7 +58,7 @@ typedef struct {
Allocate Tiered Index
```c
-CUVS_EXPORT cuvsError_t cuvsTieredIndexCreate(cuvsTieredIndex_t* index);
+cuvsError_t cuvsTieredIndexCreate(cuvsTieredIndex_t* index);
```
**Parameters**
@@ -69,7 +69,7 @@ CUVS_EXPORT cuvsError_t cuvsTieredIndexCreate(cuvsTieredIndex_t* index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsTieredIndexDestroy
@@ -77,7 +77,7 @@ CUVS_EXPORT cuvsError_t cuvsTieredIndexCreate(cuvsTieredIndex_t* index);
De-allocate Tiered index
```c
-CUVS_EXPORT cuvsError_t cuvsTieredIndexDestroy(cuvsTieredIndex_t index);
+cuvsError_t cuvsTieredIndexDestroy(cuvsTieredIndex_t index);
```
**Parameters**
@@ -88,7 +88,7 @@ CUVS_EXPORT cuvsError_t cuvsTieredIndexDestroy(cuvsTieredIndex_t index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Tiered Index build parameters
@@ -127,7 +127,7 @@ struct cuvsTieredIndexParams {
Allocate Tiered Index Params and populate with default values
```c
-CUVS_EXPORT cuvsError_t cuvsTieredIndexParamsCreate(cuvsTieredIndexParams_t* index_params);
+cuvsError_t cuvsTieredIndexParamsCreate(cuvsTieredIndexParams_t* index_params);
```
**Parameters**
@@ -138,7 +138,7 @@ CUVS_EXPORT cuvsError_t cuvsTieredIndexParamsCreate(cuvsTieredIndexParams_t* ind
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsTieredIndexParamsDestroy
@@ -146,7 +146,7 @@ CUVS_EXPORT cuvsError_t cuvsTieredIndexParamsCreate(cuvsTieredIndexParams_t* ind
De-allocate Tiered Index params
```c
-CUVS_EXPORT cuvsError_t cuvsTieredIndexParamsDestroy(cuvsTieredIndexParams_t index_params);
+cuvsError_t cuvsTieredIndexParamsDestroy(cuvsTieredIndexParams_t index_params);
```
**Parameters**
@@ -157,17 +157,20 @@ CUVS_EXPORT cuvsError_t cuvsTieredIndexParamsDestroy(cuvsTieredIndexParams_t ind
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Tiered index build
### cuvsTieredIndexBuild
-Build a TieredIndex index with a `DLManagedTensor` which has underlying `DLDeviceType` equal to `kDLCUDA`, `kDLCUDAHost`, `kDLCUDAManaged`, or `kDLCPU`. Also, acceptable underlying types are: 1. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32` 2. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 16`
+Build a TieredIndex index with a `DLManagedTensor` which has underlying `DLDeviceType` equal to `kDLCUDA`, `kDLCUDAHost`, `kDLCUDAManaged`, or `kDLCPU`. Also, acceptable underlying types are:
+
+1. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 32`
+2. `kDLDataType.code == kDLFloat` and `kDLDataType.bits = 16`
```c
-CUVS_EXPORT cuvsError_t cuvsTieredIndexBuild(cuvsResources_t res,
+cuvsError_t cuvsTieredIndexBuild(cuvsResources_t res,
cuvsTieredIndexParams_t index_params,
DLManagedTensor* dataset,
cuvsTieredIndex_t index);
@@ -184,7 +187,7 @@ cuvsTieredIndex_t index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Tiered index search
@@ -194,7 +197,7 @@ cuvsTieredIndex_t index);
Search a TieredIndex index with a `DLManagedTensor`
```c
-CUVS_EXPORT cuvsError_t cuvsTieredIndexSearch(cuvsResources_t res,
+cuvsError_t cuvsTieredIndexSearch(cuvsResources_t res,
void* search_params,
cuvsTieredIndex_t index,
DLManagedTensor* queries,
@@ -217,7 +220,7 @@ cuvsFilter prefilter);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Tiered index extend
@@ -227,7 +230,7 @@ cuvsFilter prefilter);
Extend the index with the new data.
```c
-CUVS_EXPORT cuvsError_t cuvsTieredIndexExtend(cuvsResources_t res,
+cuvsError_t cuvsTieredIndexExtend(cuvsResources_t res,
DLManagedTensor* new_vectors,
cuvsTieredIndex_t index);
```
@@ -242,7 +245,7 @@ cuvsTieredIndex_t index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Tiered index merge
@@ -252,7 +255,7 @@ cuvsTieredIndex_t index);
Merge multiple indices together into a single index
```c
-CUVS_EXPORT cuvsError_t cuvsTieredIndexMerge(cuvsResources_t res,
+cuvsError_t cuvsTieredIndexMerge(cuvsResources_t res,
cuvsTieredIndexParams_t index_params,
cuvsTieredIndex_t* indices,
size_t num_indices,
@@ -271,4 +274,4 @@ cuvsTieredIndex_t output_index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
diff --git a/fern/pages/c_api/c-api-neighbors-vamana.md b/fern/pages/c_api/c-api-neighbors-vamana.md
index a0a103dca7..d70db45305 100644
--- a/fern/pages/c_api/c-api-neighbors-vamana.md
+++ b/fern/pages/c_api/c-api-neighbors-vamana.md
@@ -47,7 +47,7 @@ struct cuvsVamanaIndexParams {
Allocate Vamana Index params, and populate with default values
```c
-CUVS_EXPORT cuvsError_t cuvsVamanaIndexParamsCreate(cuvsVamanaIndexParams_t* params);
+cuvsError_t cuvsVamanaIndexParamsCreate(cuvsVamanaIndexParams_t* params);
```
**Parameters**
@@ -58,7 +58,7 @@ CUVS_EXPORT cuvsError_t cuvsVamanaIndexParamsCreate(cuvsVamanaIndexParams_t* par
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsVamanaIndexParamsDestroy
@@ -66,7 +66,7 @@ CUVS_EXPORT cuvsError_t cuvsVamanaIndexParamsCreate(cuvsVamanaIndexParams_t* par
De-allocate Vamana Index params
```c
-CUVS_EXPORT cuvsError_t cuvsVamanaIndexParamsDestroy(cuvsVamanaIndexParams_t params);
+cuvsError_t cuvsVamanaIndexParamsDestroy(cuvsVamanaIndexParams_t params);
```
**Parameters**
@@ -77,7 +77,7 @@ CUVS_EXPORT cuvsError_t cuvsVamanaIndexParamsDestroy(cuvsVamanaIndexParams_t par
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Vamana index
@@ -106,7 +106,7 @@ typedef struct {
Allocate Vamana index
```c
-CUVS_EXPORT cuvsError_t cuvsVamanaIndexCreate(cuvsVamanaIndex_t* index);
+cuvsError_t cuvsVamanaIndexCreate(cuvsVamanaIndex_t* index);
```
**Parameters**
@@ -117,7 +117,7 @@ CUVS_EXPORT cuvsError_t cuvsVamanaIndexCreate(cuvsVamanaIndex_t* index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsVamanaIndexDestroy
@@ -125,7 +125,7 @@ CUVS_EXPORT cuvsError_t cuvsVamanaIndexCreate(cuvsVamanaIndex_t* index);
De-allocate Vamana index
```c
-CUVS_EXPORT cuvsError_t cuvsVamanaIndexDestroy(cuvsVamanaIndex_t index);
+cuvsError_t cuvsVamanaIndexDestroy(cuvsVamanaIndex_t index);
```
**Parameters**
@@ -136,7 +136,7 @@ CUVS_EXPORT cuvsError_t cuvsVamanaIndexDestroy(cuvsVamanaIndex_t index);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsVamanaIndexGetDims
@@ -144,7 +144,7 @@ CUVS_EXPORT cuvsError_t cuvsVamanaIndexDestroy(cuvsVamanaIndex_t index);
Get the dimension of the index
```c
-CUVS_EXPORT cuvsError_t cuvsVamanaIndexGetDims(cuvsVamanaIndex_t index, int* dim);
+cuvsError_t cuvsVamanaIndexGetDims(cuvsVamanaIndex_t index, int* dim);
```
**Parameters**
@@ -156,7 +156,7 @@ CUVS_EXPORT cuvsError_t cuvsVamanaIndexGetDims(cuvsVamanaIndex_t index, int* dim
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Vamana index build
@@ -166,7 +166,7 @@ CUVS_EXPORT cuvsError_t cuvsVamanaIndexGetDims(cuvsVamanaIndex_t index, int* dim
Build Vamana index
```c
-CUVS_EXPORT cuvsError_t cuvsVamanaBuild(cuvsResources_t res,
+cuvsError_t cuvsVamanaBuild(cuvsResources_t res,
cuvsVamanaIndexParams_t params,
DLManagedTensor* dataset,
cuvsVamanaIndex_t index);
@@ -193,7 +193,7 @@ Usage example:
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
## Vamana index serialize
@@ -203,7 +203,7 @@ Usage example:
Save Vamana index to file
```c
-CUVS_EXPORT cuvsError_t cuvsVamanaSerialize(cuvsResources_t res,
+cuvsError_t cuvsVamanaSerialize(cuvsResources_t res,
const char* filename,
cuvsVamanaIndex_t index,
bool include_dataset);
@@ -224,4 +224,4 @@ Serialized Index is to be used by the DiskANN open-source repository for graph s
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
diff --git a/fern/pages/c_api/c-api-preprocessing-pca.md b/fern/pages/c_api/c-api-preprocessing-pca.md
index 6900395af4..4bfb7d7b51 100644
--- a/fern/pages/c_api/c-api-preprocessing-pca.md
+++ b/fern/pages/c_api/c-api-preprocessing-pca.md
@@ -60,7 +60,7 @@ struct cuvsPcaParams {
Allocate PCA params and populate with default values.
```c
-CUVS_EXPORT cuvsError_t cuvsPcaParamsCreate(cuvsPcaParams_t* params);
+cuvsError_t cuvsPcaParamsCreate(cuvsPcaParams_t* params);
```
**Parameters**
@@ -71,7 +71,7 @@ CUVS_EXPORT cuvsError_t cuvsPcaParamsCreate(cuvsPcaParams_t* params);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsPcaParamsDestroy
@@ -79,7 +79,7 @@ CUVS_EXPORT cuvsError_t cuvsPcaParamsCreate(cuvsPcaParams_t* params);
De-allocate PCA params.
```c
-CUVS_EXPORT cuvsError_t cuvsPcaParamsDestroy(cuvsPcaParams_t params);
+cuvsError_t cuvsPcaParamsDestroy(cuvsPcaParams_t params);
```
**Parameters**
@@ -90,7 +90,7 @@ CUVS_EXPORT cuvsError_t cuvsPcaParamsDestroy(cuvsPcaParams_t params);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsPcaFit
@@ -98,7 +98,7 @@ CUVS_EXPORT cuvsError_t cuvsPcaParamsDestroy(cuvsPcaParams_t params);
Perform PCA fit operation.
```c
-CUVS_EXPORT cuvsError_t cuvsPcaFit(cuvsResources_t res,
+cuvsError_t cuvsPcaFit(cuvsResources_t res,
cuvsPcaParams_t params,
DLManagedTensor* input,
DLManagedTensor* components,
@@ -129,7 +129,7 @@ Computes the principal components, explained variances, singular values, and col
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsPcaFitTransform
@@ -137,7 +137,7 @@ Computes the principal components, explained variances, singular values, and col
Perform PCA fit and transform in a single operation.
```c
-CUVS_EXPORT cuvsError_t cuvsPcaFitTransform(cuvsResources_t res,
+cuvsError_t cuvsPcaFitTransform(cuvsResources_t res,
cuvsPcaParams_t params,
DLManagedTensor* input,
DLManagedTensor* trans_input,
@@ -170,7 +170,7 @@ Computes the principal components and transforms the input data into the eigensp
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsPcaTransform
@@ -178,7 +178,7 @@ Computes the principal components and transforms the input data into the eigensp
Perform PCA transform operation.
```c
-CUVS_EXPORT cuvsError_t cuvsPcaTransform(cuvsResources_t res,
+cuvsError_t cuvsPcaTransform(cuvsResources_t res,
cuvsPcaParams_t params,
DLManagedTensor* input,
DLManagedTensor* components,
@@ -203,7 +203,7 @@ Transforms the input data into the eigenspace using previously computed principa
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsPcaInverseTransform
@@ -211,7 +211,7 @@ Transforms the input data into the eigenspace using previously computed principa
Perform PCA inverse transform operation.
```c
-CUVS_EXPORT cuvsError_t cuvsPcaInverseTransform(cuvsResources_t res,
+cuvsError_t cuvsPcaInverseTransform(cuvsResources_t res,
cuvsPcaParams_t params,
DLManagedTensor* trans_input,
DLManagedTensor* components,
@@ -236,4 +236,4 @@ Transforms data from the eigenspace back to the original space.
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
diff --git a/fern/pages/c_api/c-api-preprocessing-quantize-binary.md b/fern/pages/c_api/c-api-preprocessing-quantize-binary.md
index b5f57e3f3f..2d3dd89fac 100644
--- a/fern/pages/c_api/c-api-preprocessing-quantize-binary.md
+++ b/fern/pages/c_api/c-api-preprocessing-quantize-binary.md
@@ -54,7 +54,7 @@ struct cuvsBinaryQuantizerParams {
Allocate Binary Quantizer params, and populate with default values
```c
-CUVS_EXPORT cuvsError_t cuvsBinaryQuantizerParamsCreate(cuvsBinaryQuantizerParams_t* params);
+cuvsError_t cuvsBinaryQuantizerParamsCreate(cuvsBinaryQuantizerParams_t* params);
```
**Parameters**
@@ -65,7 +65,7 @@ CUVS_EXPORT cuvsError_t cuvsBinaryQuantizerParamsCreate(cuvsBinaryQuantizerParam
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsBinaryQuantizerParamsDestroy
@@ -73,7 +73,7 @@ CUVS_EXPORT cuvsError_t cuvsBinaryQuantizerParamsCreate(cuvsBinaryQuantizerParam
De-allocate Binary Quantizer params
```c
-CUVS_EXPORT cuvsError_t cuvsBinaryQuantizerParamsDestroy(cuvsBinaryQuantizerParams_t params);
+cuvsError_t cuvsBinaryQuantizerParamsDestroy(cuvsBinaryQuantizerParams_t params);
```
**Parameters**
@@ -84,7 +84,7 @@ CUVS_EXPORT cuvsError_t cuvsBinaryQuantizerParamsDestroy(cuvsBinaryQuantizerPara
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsBinaryQuantizer
@@ -113,7 +113,7 @@ typedef struct {
Allocate Binary Quantizer and populate with default values
```c
-CUVS_EXPORT cuvsError_t cuvsBinaryQuantizerCreate(cuvsBinaryQuantizer_t* quantizer);
+cuvsError_t cuvsBinaryQuantizerCreate(cuvsBinaryQuantizer_t* quantizer);
```
**Parameters**
@@ -124,7 +124,7 @@ CUVS_EXPORT cuvsError_t cuvsBinaryQuantizerCreate(cuvsBinaryQuantizer_t* quantiz
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsBinaryQuantizerDestroy
@@ -132,7 +132,7 @@ CUVS_EXPORT cuvsError_t cuvsBinaryQuantizerCreate(cuvsBinaryQuantizer_t* quantiz
De-allocate Binary Quantizer
```c
-CUVS_EXPORT cuvsError_t cuvsBinaryQuantizerDestroy(cuvsBinaryQuantizer_t quantizer);
+cuvsError_t cuvsBinaryQuantizerDestroy(cuvsBinaryQuantizer_t quantizer);
```
**Parameters**
@@ -143,7 +143,7 @@ CUVS_EXPORT cuvsError_t cuvsBinaryQuantizerDestroy(cuvsBinaryQuantizer_t quantiz
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsBinaryQuantizerTrain
@@ -151,7 +151,7 @@ CUVS_EXPORT cuvsError_t cuvsBinaryQuantizerDestroy(cuvsBinaryQuantizer_t quantiz
Trains a binary quantizer to be used later for quantizing the dataset.
```c
-CUVS_EXPORT cuvsError_t cuvsBinaryQuantizerTrain(cuvsResources_t res,
+cuvsError_t cuvsBinaryQuantizerTrain(cuvsResources_t res,
cuvsBinaryQuantizerParams_t params,
DLManagedTensor* dataset,
cuvsBinaryQuantizer_t quantizer);
@@ -168,7 +168,7 @@ cuvsBinaryQuantizer_t quantizer);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsBinaryQuantizerTransform
@@ -176,7 +176,7 @@ cuvsBinaryQuantizer_t quantizer);
Applies binary quantization transform to the given dataset
```c
-CUVS_EXPORT cuvsError_t cuvsBinaryQuantizerTransform(cuvsResources_t res,
+cuvsError_t cuvsBinaryQuantizerTransform(cuvsResources_t res,
DLManagedTensor* dataset,
DLManagedTensor* out);
```
@@ -193,7 +193,7 @@ This applies binary quantization to a dataset, changing any positive values to a
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsBinaryQuantizerTransformWithParams
@@ -201,7 +201,7 @@ This applies binary quantization to a dataset, changing any positive values to a
Applies binary quantization transform to the given dataset
```c
-CUVS_EXPORT cuvsError_t cuvsBinaryQuantizerTransformWithParams(cuvsResources_t res,
+cuvsError_t cuvsBinaryQuantizerTransformWithParams(cuvsResources_t res,
cuvsBinaryQuantizer_t quantizer,
DLManagedTensor* dataset,
DLManagedTensor* out);
@@ -220,4 +220,4 @@ This applies binary quantization to a dataset, changing any values that are larg
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
diff --git a/fern/pages/c_api/c-api-preprocessing-quantize-pq.md b/fern/pages/c_api/c-api-preprocessing-quantize-pq.md
index 43bfbdbc86..47287711bb 100644
--- a/fern/pages/c_api/c-api-preprocessing-quantize-pq.md
+++ b/fern/pages/c_api/c-api-preprocessing-quantize-pq.md
@@ -47,7 +47,7 @@ struct cuvsProductQuantizerParams {
Allocate Product Quantizer params, and populate with default values
```c
-CUVS_EXPORT cuvsError_t cuvsProductQuantizerParamsCreate(cuvsProductQuantizerParams_t* params);
+cuvsError_t cuvsProductQuantizerParamsCreate(cuvsProductQuantizerParams_t* params);
```
**Parameters**
@@ -58,7 +58,7 @@ CUVS_EXPORT cuvsError_t cuvsProductQuantizerParamsCreate(cuvsProductQuantizerPar
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsProductQuantizerParamsDestroy
@@ -66,7 +66,7 @@ CUVS_EXPORT cuvsError_t cuvsProductQuantizerParamsCreate(cuvsProductQuantizerPar
De-allocate Product Quantizer params
```c
-CUVS_EXPORT cuvsError_t cuvsProductQuantizerParamsDestroy(cuvsProductQuantizerParams_t params);
+cuvsError_t cuvsProductQuantizerParamsDestroy(cuvsProductQuantizerParams_t params);
```
**Parameters**
@@ -77,7 +77,7 @@ CUVS_EXPORT cuvsError_t cuvsProductQuantizerParamsDestroy(cuvsProductQuantizerPa
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsProductQuantizer
@@ -106,7 +106,7 @@ typedef struct {
Allocate Product Quantizer
```c
-CUVS_EXPORT cuvsError_t cuvsProductQuantizerCreate(cuvsProductQuantizer_t* quantizer);
+cuvsError_t cuvsProductQuantizerCreate(cuvsProductQuantizer_t* quantizer);
```
**Parameters**
@@ -117,7 +117,7 @@ CUVS_EXPORT cuvsError_t cuvsProductQuantizerCreate(cuvsProductQuantizer_t* quant
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsProductQuantizerDestroy
@@ -125,7 +125,7 @@ CUVS_EXPORT cuvsError_t cuvsProductQuantizerCreate(cuvsProductQuantizer_t* quant
De-allocate Product Quantizer
```c
-CUVS_EXPORT cuvsError_t cuvsProductQuantizerDestroy(cuvsProductQuantizer_t quantizer);
+cuvsError_t cuvsProductQuantizerDestroy(cuvsProductQuantizer_t quantizer);
```
**Parameters**
@@ -136,7 +136,7 @@ CUVS_EXPORT cuvsError_t cuvsProductQuantizerDestroy(cuvsProductQuantizer_t quant
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsProductQuantizerBuild
@@ -144,7 +144,7 @@ CUVS_EXPORT cuvsError_t cuvsProductQuantizerDestroy(cuvsProductQuantizer_t quant
Builds a product quantizer to be used later for quantizing the dataset.
```c
-CUVS_EXPORT cuvsError_t cuvsProductQuantizerBuild(cuvsResources_t res,
+cuvsError_t cuvsProductQuantizerBuild(cuvsResources_t res,
cuvsProductQuantizerParams_t params,
DLManagedTensor* dataset,
cuvsProductQuantizer_t quantizer);
@@ -161,7 +161,7 @@ cuvsProductQuantizer_t quantizer);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsProductQuantizerTransform
@@ -169,7 +169,7 @@ cuvsProductQuantizer_t quantizer);
Applies product quantization transform to the given dataset
```c
-CUVS_EXPORT cuvsError_t cuvsProductQuantizerTransform(cuvsResources_t res,
+cuvsError_t cuvsProductQuantizerTransform(cuvsResources_t res,
cuvsProductQuantizer_t quantizer,
DLManagedTensor* dataset,
DLManagedTensor* codes_out,
@@ -190,7 +190,7 @@ This applies product quantization to a dataset.
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsProductQuantizerInverseTransform
@@ -198,7 +198,7 @@ This applies product quantization to a dataset.
Applies product quantization inverse transform to the given quantized codes
```c
-CUVS_EXPORT cuvsError_t cuvsProductQuantizerInverseTransform(cuvsResources_t res,
+cuvsError_t cuvsProductQuantizerInverseTransform(cuvsResources_t res,
cuvsProductQuantizer_t quantizer,
DLManagedTensor* pq_codes,
DLManagedTensor* out,
@@ -219,7 +219,7 @@ This applies product quantization inverse transform to the given quantized codes
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsProductQuantizerGetPqBits
@@ -227,7 +227,7 @@ This applies product quantization inverse transform to the given quantized codes
Get the bit length of the vector element after compression by PQ.
```c
-CUVS_EXPORT cuvsError_t cuvsProductQuantizerGetPqBits(cuvsProductQuantizer_t quantizer, uint32_t* pq_bits);
+cuvsError_t cuvsProductQuantizerGetPqBits(cuvsProductQuantizer_t quantizer, uint32_t* pq_bits);
```
**Parameters**
@@ -239,7 +239,7 @@ CUVS_EXPORT cuvsError_t cuvsProductQuantizerGetPqBits(cuvsProductQuantizer_t qua
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsProductQuantizerGetPqDim
@@ -247,7 +247,7 @@ CUVS_EXPORT cuvsError_t cuvsProductQuantizerGetPqBits(cuvsProductQuantizer_t qua
Get the dimensionality of the vector after compression by PQ.
```c
-CUVS_EXPORT cuvsError_t cuvsProductQuantizerGetPqDim(cuvsProductQuantizer_t quantizer, uint32_t* pq_dim);
+cuvsError_t cuvsProductQuantizerGetPqDim(cuvsProductQuantizer_t quantizer, uint32_t* pq_dim);
```
**Parameters**
@@ -259,7 +259,7 @@ CUVS_EXPORT cuvsError_t cuvsProductQuantizerGetPqDim(cuvsProductQuantizer_t quan
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsProductQuantizerGetPqCodebook
@@ -267,7 +267,7 @@ CUVS_EXPORT cuvsError_t cuvsProductQuantizerGetPqDim(cuvsProductQuantizer_t quan
Get the PQ codebook.
```c
-CUVS_EXPORT cuvsError_t cuvsProductQuantizerGetPqCodebook(cuvsProductQuantizer_t quantizer,
+cuvsError_t cuvsProductQuantizerGetPqCodebook(cuvsProductQuantizer_t quantizer,
DLManagedTensor* pq_codebook);
```
@@ -280,7 +280,7 @@ DLManagedTensor* pq_codebook);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsProductQuantizerGetVqCodebook
@@ -288,7 +288,7 @@ DLManagedTensor* pq_codebook);
Get the VQ codebook.
```c
-CUVS_EXPORT cuvsError_t cuvsProductQuantizerGetVqCodebook(cuvsProductQuantizer_t quantizer,
+cuvsError_t cuvsProductQuantizerGetVqCodebook(cuvsProductQuantizer_t quantizer,
DLManagedTensor* vq_codebook);
```
@@ -301,7 +301,7 @@ DLManagedTensor* vq_codebook);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsProductQuantizerGetEncodedDim
@@ -309,7 +309,7 @@ DLManagedTensor* vq_codebook);
Get the encoded dimension of the quantized dataset.
```c
-CUVS_EXPORT cuvsError_t cuvsProductQuantizerGetEncodedDim(cuvsProductQuantizer_t quantizer,
+cuvsError_t cuvsProductQuantizerGetEncodedDim(cuvsProductQuantizer_t quantizer,
uint32_t* encoded_dim);
```
@@ -322,7 +322,7 @@ uint32_t* encoded_dim);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsProductQuantizerGetUseVq
@@ -330,7 +330,7 @@ uint32_t* encoded_dim);
Get whether VQ is used.
```c
-CUVS_EXPORT cuvsError_t cuvsProductQuantizerGetUseVq(cuvsProductQuantizer_t quantizer, bool* use_vq);
+cuvsError_t cuvsProductQuantizerGetUseVq(cuvsProductQuantizer_t quantizer, bool* use_vq);
```
**Parameters**
@@ -342,4 +342,4 @@ CUVS_EXPORT cuvsError_t cuvsProductQuantizerGetUseVq(cuvsProductQuantizer_t quan
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
diff --git a/fern/pages/c_api/c-api-preprocessing-quantize-scalar.md b/fern/pages/c_api/c-api-preprocessing-quantize-scalar.md
index 23d7d23211..86aacd7bce 100644
--- a/fern/pages/c_api/c-api-preprocessing-quantize-scalar.md
+++ b/fern/pages/c_api/c-api-preprocessing-quantize-scalar.md
@@ -23,7 +23,7 @@ struct cuvsScalarQuantizerParams;
Allocate Scalar Quantizer params, and populate with default values
```c
-CUVS_EXPORT cuvsError_t cuvsScalarQuantizerParamsCreate(cuvsScalarQuantizerParams_t* params);
+cuvsError_t cuvsScalarQuantizerParamsCreate(cuvsScalarQuantizerParams_t* params);
```
**Parameters**
@@ -34,7 +34,7 @@ CUVS_EXPORT cuvsError_t cuvsScalarQuantizerParamsCreate(cuvsScalarQuantizerParam
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsScalarQuantizerParamsDestroy
@@ -42,7 +42,7 @@ CUVS_EXPORT cuvsError_t cuvsScalarQuantizerParamsCreate(cuvsScalarQuantizerParam
De-allocate Scalar Quantizer params
```c
-CUVS_EXPORT cuvsError_t cuvsScalarQuantizerParamsDestroy(cuvsScalarQuantizerParams_t params);
+cuvsError_t cuvsScalarQuantizerParamsDestroy(cuvsScalarQuantizerParams_t params);
```
**Parameters**
@@ -53,7 +53,7 @@ CUVS_EXPORT cuvsError_t cuvsScalarQuantizerParamsDestroy(cuvsScalarQuantizerPara
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsScalarQuantizer
@@ -82,7 +82,7 @@ typedef struct {
Allocate Scalar Quantizer and populate with default values
```c
-CUVS_EXPORT cuvsError_t cuvsScalarQuantizerCreate(cuvsScalarQuantizer_t* quantizer);
+cuvsError_t cuvsScalarQuantizerCreate(cuvsScalarQuantizer_t* quantizer);
```
**Parameters**
@@ -93,7 +93,7 @@ CUVS_EXPORT cuvsError_t cuvsScalarQuantizerCreate(cuvsScalarQuantizer_t* quantiz
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsScalarQuantizerDestroy
@@ -101,7 +101,7 @@ CUVS_EXPORT cuvsError_t cuvsScalarQuantizerCreate(cuvsScalarQuantizer_t* quantiz
De-allocate Scalar Quantizer
```c
-CUVS_EXPORT cuvsError_t cuvsScalarQuantizerDestroy(cuvsScalarQuantizer_t quantizer);
+cuvsError_t cuvsScalarQuantizerDestroy(cuvsScalarQuantizer_t quantizer);
```
**Parameters**
@@ -112,7 +112,7 @@ CUVS_EXPORT cuvsError_t cuvsScalarQuantizerDestroy(cuvsScalarQuantizer_t quantiz
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsScalarQuantizerTrain
@@ -120,7 +120,7 @@ CUVS_EXPORT cuvsError_t cuvsScalarQuantizerDestroy(cuvsScalarQuantizer_t quantiz
Trains a scalar quantizer to be used later for quantizing the dataset.
```c
-CUVS_EXPORT cuvsError_t cuvsScalarQuantizerTrain(cuvsResources_t res,
+cuvsError_t cuvsScalarQuantizerTrain(cuvsResources_t res,
cuvsScalarQuantizerParams_t params,
DLManagedTensor* dataset,
cuvsScalarQuantizer_t quantizer);
@@ -137,7 +137,7 @@ cuvsScalarQuantizer_t quantizer);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsScalarQuantizerTransform
@@ -145,7 +145,7 @@ cuvsScalarQuantizer_t quantizer);
Applies quantization transform to given dataset
```c
-CUVS_EXPORT cuvsError_t cuvsScalarQuantizerTransform(cuvsResources_t res,
+cuvsError_t cuvsScalarQuantizerTransform(cuvsResources_t res,
cuvsScalarQuantizer_t quantizer,
DLManagedTensor* dataset,
DLManagedTensor* out);
@@ -162,7 +162,7 @@ DLManagedTensor* out);
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
### cuvsScalarQuantizerInverseTransform
@@ -170,7 +170,7 @@ DLManagedTensor* out);
Perform inverse quantization step on previously quantized dataset
```c
-CUVS_EXPORT cuvsError_t cuvsScalarQuantizerInverseTransform(cuvsResources_t res,
+cuvsError_t cuvsScalarQuantizerInverseTransform(cuvsResources_t res,
cuvsScalarQuantizer_t quantizer,
DLManagedTensor* dataset,
DLManagedTensor* out);
@@ -189,4 +189,4 @@ Note that depending on the chosen data types train dataset the conversion is not
**Returns**
-[`CUVS_EXPORT cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
+[`cuvsError_t`](/api-reference/c-api-core-c-api#cuvserror-t)
diff --git a/fern/pages/c_guidelines.md b/fern/pages/c_guidelines.md
index d040f177d1..8e4426e13c 100644
--- a/fern/pages/c_guidelines.md
+++ b/fern/pages/c_guidelines.md
@@ -29,7 +29,7 @@ Prefer explicit create and destroy functions for every opaque object that owns m
### API Stability
-The C API is the stable boundary used by downstream integrations and NVIDIA cuVS language bindings. Add new functions or fields before removing old ones, avoid changing the meaning of existing parameters, and keep [ABI compatibility](/developer-guide/abi-stability) in mind when changing public structs or exported symbols.
+The C API is the stable boundary used by downstream integrations and NVIDIA cuVS language bindings. Add new functions or fields before removing old ones, avoid changing the meaning of existing parameters, and keep [ABI compatibility](/developer-guide/advanced-topics/abi-stability) in mind when changing public structs or exported symbols.
### Stateless C APIs
@@ -131,7 +131,7 @@ Single-GPU C APIs should not require communication libraries or multi-GPU setup.
C APIs may call implementations that use JIT link-time optimization, but the C wrapper should not duplicate JIT LTO policy or expose C++ implementation details. Keep runtime behavior documented at the API level when JIT compilation can affect first-call latency or cache behavior.
-For runtime and cache behavior, see [JIT Compilation](/developer-guide/advanced-topics/jit-compilation). For implementation guidance, see [Link-time Optimization](/developer-guide/link-time-optimization).
+For runtime and cache behavior, see [JIT Compilation](/user-guide/field-guide/jit-compilation). For implementation guidance, see [Link-time Optimization](/developer-guide/advanced-topics/link-time-optimization).
## Coding Style
diff --git a/fern/pages/cpp_api/cpp-api-cluster-agglomerative.md b/fern/pages/cpp_api/cpp-api-cluster-agglomerative.md
index e15a598c37..f31edd72a3 100644
--- a/fern/pages/cpp_api/cpp-api-cluster-agglomerative.md
+++ b/fern/pages/cpp_api/cpp-api-cluster-agglomerative.md
@@ -72,8 +72,8 @@ scale the algorithm beyond the n^2 memory consumption of implementations that us
| `labels` | out | `raft::device_vector_view` | output labels vector (size n_rows) |
| `metric` | in | [`cuvs::distance::DistanceType`](/api-reference/cpp-api-distance-distance#distance-distancetype) | distance metric to use when constructing connectivities graph |
| `n_clusters` | in | `size_t` | number of clusters to assign data samples |
-| `linkage` | in | [`cuvs::cluster::agglomerative::Linkage`](/api-reference/cpp-api-cluster-agglomerative#cluster-agglomerative-linkage) | strategy for constructing the linkage. PAIRWISE uses more memory but can be faster for smaller datasets. KNN_GRAPH allows the memory usage to be controlled (using parameter c) at the expense of potentially additional minimum spanning tree iterations. Default: `cuvs::cluster::agglomerative::Linkage::KNN_GRAPH`. |
-| `c` | in | `std::optional` | a constant used when constructing linkage from knn graph. Allows the indirect control of k. The algorithm will set `k = log(n) + c` Default: `std::make_optional<int>(DEFAULT_CONST_C)`. |
+| `linkage` | in | [`cuvs::cluster::agglomerative::Linkage`](/api-reference/cpp-api-cluster-agglomerative#cluster-agglomerative-linkage) | strategy for constructing the linkage. PAIRWISE uses more memory but can be faster for smaller datasets. KNN_GRAPH allows the memory usage to be controlled (using parameter c) at the expense of potentially additional minimum spanning tree iterations.
Default: `cuvs::cluster::agglomerative::Linkage::KNN_GRAPH`. |
+| `c` | in | `std::optional` | a constant used when constructing linkage from knn graph. Allows the indirect control of k. The algorithm will set `k = log(n) + c`
Default: `std::make_optional<int>(DEFAULT_CONST_C)`. |
**Returns**
diff --git a/fern/pages/cpp_api/cpp-api-cluster-kmeans.md b/fern/pages/cpp_api/cpp-api-cluster-kmeans.md
index 5e5e473c44..cbb5a73de7 100644
--- a/fern/pages/cpp_api/cpp-api-cluster-kmeans.md
+++ b/fern/pages/cpp_api/cpp-api-cluster-kmeans.md
@@ -61,10 +61,10 @@ struct params : base_params {
| `rng_state` | `raft::random::RngState` | Seed to the random number generator. |
| `n_init` | `int` | Number of instance k-means algorithm will be run with different seeds. |
| `oversampling_factor` | `double` | Oversampling factor for use in the k-means\|\| algorithm |
-| `batch_samples` | `int` | batch_samples and batch_centroids are used to tile 1NN computation which is useful to optimize/control the memory footprint Default tile is [batch_samples x n_clusters] i.e. when batch_centroids is 0 then don't tile the centroids
NB: These parameters are unrelated to streaming_batch_size, which controls how many samples to transfer from host to device per batch when processing out-of-core data. |
+| `batch_samples` | `int` | batch_samples and batch_centroids are used to tile 1NN computation which is useful to optimize/control the memory footprint
Default tile is [batch_samples x n_clusters] i.e. when batch_centroids is 0 then don't tile the centroids
NB: These parameters are unrelated to streaming_batch_size, which controls how many samples to transfer from host to device per batch when processing out-of-core data. |
| `batch_centroids` | `int` | if 0 then batch_centroids = n_clusters |
| `init_size` | `int64_t` | Number of samples to randomly draw for the KMeansPlusPlus initialization step. A random subset of this size is used for centroid seeding.
Only applies when dataset is on host; for device data the full dataset is always used for seeding and this parameter is ignored.
When set to 0 (default) with host data uses `min(3 * n_clusters, n_samples)` as a default.
In Batched multi-GPU host-data fits, the effective KMeansPlusPlus initialization sample is materialized on device on every rank. Every rank must have enough GPU memory for this sample, and rank 0 must also have enough GPU memory for the seeding workspace.
Default: 0. |
-| `streaming_batch_size` | `int64_t` | Number of samples to process per GPU batch when fitting with host data. When set to 0, defaults to n_samples (process all at once). Only used by the batched (host-data) code path and ignored by device-data overloads.
In multi-GPU mode, this is a per-rank batch size. Each rank processes up to this many local samples per batch, clamped to that rank's local sample count. Default: 0 (process all data at once). |
+| `streaming_batch_size` | `int64_t` | Number of samples to process per GPU batch when fitting with host data. When set to 0, defaults to n_samples (process all at once). Only used by the batched (host-data) code path and ignored by device-data overloads.
In multi-GPU mode, this is a per-rank batch size. Each rank processes up to this many local samples per batch, clamped to that rank's local sample count.
Default: 0 (process all data at once). |
### cluster::kmeans::balanced_params
@@ -354,7 +354,7 @@ std::optional> inertia = std::nullopt);
| `params` | in | [`cuvs::cluster::kmeans::balanced_params const&`](/api-reference/cpp-api-cluster-kmeans#cluster-kmeans-balanced-params) | Parameters for KMeans model. |
| `X` | in | `raft::device_matrix_view` | Training instances to cluster. The data must be in row-major format. [dim = n_samples x n_features] |
| `centroids` | out | `raft::device_matrix_view` | [out] The generated centroids from the kmeans algorithm are stored at the address pointed by 'centroids'. [dim = n_clusters x n_features] |
-| `inertia` | out | `std::optional>` | Sum of squared distances of samples to their closest cluster center. Default: `std::nullopt`. |
+| `inertia` | out | `std::optional>` | Sum of squared distances of samples to their closest cluster center.
Default: `std::nullopt`. |
**Returns**
@@ -380,7 +380,7 @@ std::optional> inertia = std::nullopt);
| `params` | in | [`cuvs::cluster::kmeans::balanced_params const&`](/api-reference/cpp-api-cluster-kmeans#cluster-kmeans-balanced-params) | Parameters for KMeans model. |
| `X` | in | `raft::device_matrix_view` | Training instances to cluster. The data must be in row-major format. [dim = n_samples x n_features] |
| `centroids` | inout | `raft::device_matrix_view` | [out] The generated centroids from the kmeans algorithm are stored at the address pointed by 'centroids'. [dim = n_clusters x n_features] |
-| `inertia` | out | `std::optional>` | Sum of squared distances of samples to their closest cluster center. Default: `std::nullopt`. |
+| `inertia` | out | `std::optional>` | Sum of squared distances of samples to their closest cluster center.
Default: `std::nullopt`. |
**Returns**
@@ -406,7 +406,7 @@ std::optional> inertia = std::nullopt);
| `params` | in | [`cuvs::cluster::kmeans::balanced_params const&`](/api-reference/cpp-api-cluster-kmeans#cluster-kmeans-balanced-params) | Parameters for KMeans model. |
| `X` | in | `raft::device_matrix_view` | Training instances to cluster. The data must be in row-major format. [dim = n_samples x n_features] |
| `centroids` | inout | `raft::device_matrix_view` | [out] The generated centroids from the kmeans algorithm are stored at the address pointed by 'centroids'. [dim = n_clusters x n_features] |
-| `inertia` | out | `std::optional>` | Sum of squared distances of samples to their closest cluster center. Default: `std::nullopt`. |
+| `inertia` | out | `std::optional>` | Sum of squared distances of samples to their closest cluster center.
Default: `std::nullopt`. |
**Returns**
@@ -432,7 +432,7 @@ std::optional> inertia = std::nullopt);
| `params` | in | [`cuvs::cluster::kmeans::balanced_params const&`](/api-reference/cpp-api-cluster-kmeans#cluster-kmeans-balanced-params) | Parameters for KMeans model. |
| `X` | in | `raft::device_matrix_view` | Training instances to cluster. The data must be in row-major format. [dim = n_samples x n_features] |
| `centroids` | inout | `raft::device_matrix_view` | [out] The generated centroids from the kmeans algorithm are stored at the address pointed by 'centroids'. [dim = n_clusters x n_features] |
-| `inertia` | out | `std::optional>` | Sum of squared distances of samples to their closest cluster center. Default: `std::nullopt`. |
+| `inertia` | out | `std::optional>` | Sum of squared distances of samples to their closest cluster center.
Default: `std::nullopt`. |
**Returns**
@@ -979,7 +979,7 @@ std::optional> sample_weight = std::n
| `X` | in | `raft::device_matrix_view` | Training instances to cluster. The data must be in row-major format. [dim = n_samples x n_features] |
| `centroids` | in | `raft::device_matrix_view` | Cluster centroids. The data must be in row-major format. [dim = n_clusters x n_features] |
| `cost` | out | `raft::host_scalar_view` | Resulting cluster cost |
-| `sample_weight` | in | `std::optional>` | Optional per-sample weights. [len = n_samples] Default: `std::nullopt`. |
+| `sample_weight` | in | `std::optional>` | Optional per-sample weights. [len = n_samples]
Default: `std::nullopt`. |
**Returns**
@@ -1006,7 +1006,7 @@ std::optional> sample_weight = std::
| `X` | in | `raft::device_matrix_view` | Training instances to cluster. The data must be in row-major format. [dim = n_samples x n_features] |
| `centroids` | in | `raft::device_matrix_view` | Cluster centroids. The data must be in row-major format. [dim = n_clusters x n_features] |
| `cost` | out | `raft::host_scalar_view` | Resulting cluster cost |
-| `sample_weight` | in | `std::optional>` | Optional per-sample weights. [len = n_samples] Default: `std::nullopt`. |
+| `sample_weight` | in | `std::optional>` | Optional per-sample weights. [len = n_samples]
Default: `std::nullopt`. |
**Returns**
@@ -1033,7 +1033,7 @@ std::optional> sample_weight = st
| `X` | in | `raft::device_matrix_view` | Training instances to cluster. The data must be in row-major format. [dim = n_samples x n_features] |
| `centroids` | in | `raft::device_matrix_view` | Cluster centroids. The data must be in row-major format. [dim = n_clusters x n_features] |
| `cost` | out | `raft::host_scalar_view` | Resulting cluster cost |
-| `sample_weight` | in | `std::optional>` | Optional per-sample weights. [len = n_samples] Default: `std::nullopt`. |
+| `sample_weight` | in | `std::optional>` | Optional per-sample weights. [len = n_samples]
Default: `std::nullopt`. |
**Returns**
@@ -1060,7 +1060,7 @@ std::optional> sample_weight = s
| `X` | in | `raft::device_matrix_view` | Training instances to cluster. The data must be in row-major format. [dim = n_samples x n_features] |
| `centroids` | in | `raft::device_matrix_view` | Cluster centroids. The data must be in row-major format. [dim = n_clusters x n_features] |
| `cost` | out | `raft::host_scalar_view` | Resulting cluster cost |
-| `sample_weight` | in | `std::optional>` | Optional per-sample weights. [len = n_samples] Default: `std::nullopt`. |
+| `sample_weight` | in | `std::optional>` | Optional per-sample weights. [len = n_samples]
Default: `std::nullopt`. |
**Returns**
@@ -1095,9 +1095,9 @@ float tol = 1e-3);
| `inertia` | | `raft::host_scalar_view` | inertia of best k found |
| `n_iter` | | `raft::host_scalar_view` | number of iterations used to find best k |
| `kmax` | | `int` | maximum k to try in search |
-| `kmin` | | `int` | minimum k to try in search (should be >= 1) Default: `1`. |
-| `maxiter` | | `int` | maximum number of iterations to run Default: `100`. |
-| `tol` | | `float` | tolerance for early stopping convergence Default: `1e-3`. |
+| `kmin` | | `int` | minimum k to try in search (should be >= 1)
Default: `1`. |
+| `maxiter` | | `int` | maximum number of iterations to run
Default: `100`. |
+| `tol` | | `float` | tolerance for early stopping convergence
Default: `1e-3`. |
**Returns**
diff --git a/fern/pages/cpp_api/cpp-api-distance-distance.md b/fern/pages/cpp_api/cpp-api-distance-distance.md
index 0bf215165f..e399d10e2f 100644
--- a/fern/pages/cpp_api/cpp-api-distance-distance.md
+++ b/fern/pages/cpp_api/cpp-api-distance-distance.md
@@ -154,7 +154,7 @@ Usage example:
| `y` | in | `raft::device_matrix_view const` | second set of points (size m*k) |
| `dist` | out | `raft::device_matrix_view` | output distance matrix (size n*m) |
| `metric` | in | [`cuvs::distance::DistanceType`](/api-reference/cpp-api-distance-distance#distance-distancetype) | distance to evaluate |
-| `metric_arg` | in | `float` | metric argument (used for Minkowski distance) Default: `2.0f`. |
+| `metric_arg` | in | `float` | metric argument (used for Minkowski distance)
Default: `2.0f`. |
**Returns**
@@ -187,7 +187,7 @@ Usage example:
| `y` | in | `raft::device_matrix_view const` | second set of points (size m*k) |
| `dist` | out | `raft::device_matrix_view` | output distance matrix (size n*m) |
| `metric` | in | [`cuvs::distance::DistanceType`](/api-reference/cpp-api-distance-distance#distance-distancetype) | distance to evaluate |
-| `metric_arg` | in | `double` | metric argument (used for Minkowski distance) Default: `2.0f`. |
+| `metric_arg` | in | `double` | metric argument (used for Minkowski distance)
Default: `2.0f`. |
**Returns**
@@ -220,7 +220,7 @@ Usage example:
| `y` | in | `raft::device_matrix_view const` | second set of points (size m*k) |
| `dist` | out | `raft::device_matrix_view` | output distance matrix (size n*m) |
| `metric` | in | [`cuvs::distance::DistanceType`](/api-reference/cpp-api-distance-distance#distance-distancetype) | distance to evaluate |
-| `metric_arg` | in | `float` | metric argument (used for Minkowski distance) Default: `2.0f`. |
+| `metric_arg` | in | `float` | metric argument (used for Minkowski distance)
Default: `2.0f`. |
**Returns**
@@ -253,7 +253,7 @@ Usage example:
| `y` | in | `raft::device_matrix_view const` | second set of points (size m*k) |
| `dist` | out | `raft::device_matrix_view` | output distance matrix (size n*m) |
| `metric` | in | [`cuvs::distance::DistanceType`](/api-reference/cpp-api-distance-distance#distance-distancetype) | distance to evaluate |
-| `metric_arg` | in | `float` | metric argument (used for Minkowski distance) Default: `2.0f`. |
+| `metric_arg` | in | `float` | metric argument (used for Minkowski distance)
Default: `2.0f`. |
**Returns**
@@ -286,7 +286,7 @@ Usage example:
| `y` | in | `raft::device_matrix_view const` | second set of points (size m*k) |
| `dist` | out | `raft::device_matrix_view` | output distance matrix (size n*m) |
| `metric` | in | [`cuvs::distance::DistanceType`](/api-reference/cpp-api-distance-distance#distance-distancetype) | distance to evaluate |
-| `metric_arg` | in | `double` | metric argument (used for Minkowski distance) Default: `2.0f`. |
+| `metric_arg` | in | `double` | metric argument (used for Minkowski distance)
Default: `2.0f`. |
**Returns**
@@ -319,7 +319,7 @@ Usage example:
| `y` | in | `raft::device_matrix_view const` | second set of points (size m*k) |
| `dist` | out | `raft::device_matrix_view` | output distance matrix (size n*m) |
| `metric` | in | [`cuvs::distance::DistanceType`](/api-reference/cpp-api-distance-distance#distance-distancetype) | distance to evaluate |
-| `metric_arg` | in | `float` | metric argument (used for Minkowski distance) Default: `2.0f`. |
+| `metric_arg` | in | `float` | metric argument (used for Minkowski distance)
Default: `2.0f`. |
**Returns**
@@ -347,7 +347,7 @@ float metric_arg = 2.0f);
| `y` | in | `raft::device_csr_matrix_view` | raft::device_csr_matrix_view |
| `dist` | out | `raft::device_matrix_view` | raft::device_matrix_view dense matrix |
| `metric` | in | [`cuvs::distance::DistanceType`](/api-reference/cpp-api-distance-distance#distance-distancetype) | distance metric to use |
-| `metric_arg` | in | `float` | metric argument (used for Minkowski distance) Default: `2.0f`. |
+| `metric_arg` | in | `float` | metric argument (used for Minkowski distance)
Default: `2.0f`. |
**Returns**
@@ -375,7 +375,7 @@ float metric_arg = 2.0f);
| `y` | in | `raft::device_csr_matrix_view` | raft::device_csr_matrix_view |
| `dist` | out | `raft::device_matrix_view` | raft::device_matrix_view dense matrix |
| `metric` | in | [`cuvs::distance::DistanceType`](/api-reference/cpp-api-distance-distance#distance-distancetype) | distance metric to use |
-| `metric_arg` | in | `float` | metric argument (used for Minkowski distance) Default: `2.0f`. |
+| `metric_arg` | in | `float` | metric argument (used for Minkowski distance)
Default: `2.0f`. |
**Returns**
diff --git a/fern/pages/cpp_api/cpp-api-neighbors-all-neighbors.md b/fern/pages/cpp_api/cpp-api-neighbors-all-neighbors.md
index 90fe26ea51..5569e3ffbc 100644
--- a/fern/pages/cpp_api/cpp-api-neighbors-all-neighbors.md
+++ b/fern/pages/cpp_api/cpp-api-neighbors-all-neighbors.md
@@ -70,9 +70,9 @@ Usage example:
| `params` | in | [`const all_neighbors_params&`](/api-reference/cpp-api-neighbors-all-neighbors#neighbors-all-neighbors-all-neighbors-params) | an instance of all_neighbors::all_neighbors_params that are parameters to build all-neighbors knn graph |
| `dataset` | in | `raft::host_matrix_view` | raft::host_matrix_view input dataset expected to be located in host memory |
| `indices` | out | `raft::device_matrix_view` | nearest neighbor indices of shape [n_row x k] |
-| `distances` | out | `std::optional>` | nearest neighbor distances [n_row x k] Default: `std::nullopt`. |
-| `core_distances` | out | `std::optional>` | array for core distances of size [n_row]. Requires distances matrix to compute core_distances. If core_distances is given, the resulting indices and distances will be mutual reachability space. Default: `std::nullopt`. |
-| `alpha` | in | `float` | distance scaling parameter as used in robust single linkage. Default: `1.0`. |
+| `distances` | out | `std::optional>` | nearest neighbor distances [n_row x k]
Default: `std::nullopt`. |
+| `core_distances` | out | `std::optional>` | array for core distances of size [n_row]. Requires distances matrix to compute core_distances. If core_distances is given, the resulting indices and distances will be mutual reachability space.
Default: `std::nullopt`. |
+| `alpha` | in | `float` | distance scaling parameter as used in robust single linkage.
Default: `1.0`. |
**Returns**
@@ -103,9 +103,9 @@ Usage example:
| `params` | in | [`const all_neighbors_params&`](/api-reference/cpp-api-neighbors-all-neighbors#neighbors-all-neighbors-all-neighbors-params) | an instance of all_neighbors::all_neighbors_params that are parameters to build all-neighbors knn graph |
| `dataset` | in | `raft::device_matrix_view` | raft::device_matrix_view input dataset expected to be located in device memory |
| `indices` | out | `raft::device_matrix_view` | nearest neighbor indices of shape [n_row x k] |
-| `distances` | out | `std::optional>` | nearest neighbor distances [n_row x k] Default: `std::nullopt`. |
-| `core_distances` | out | `std::optional>` | array for core distances of size [n_row]. Requires distances matrix to compute core_distances. If core_distances is given, the resulting indices and distances will be mutual reachability space. Default: `std::nullopt`. |
-| `alpha` | in | `float` | distance scaling parameter as used in robust single linkage. Default: `1.0`. |
+| `distances` | out | `std::optional>` | nearest neighbor distances [n_row x k]
Default: `std::nullopt`. |
+| `core_distances` | out | `std::optional>` | array for core distances of size [n_row]. Requires distances matrix to compute core_distances. If core_distances is given, the resulting indices and distances will be mutual reachability space.
Default: `std::nullopt`. |
+| `alpha` | in | `float` | distance scaling parameter as used in robust single linkage.
Default: `1.0`. |
**Returns**
diff --git a/fern/pages/cpp_api/cpp-api-neighbors-brute-force.md b/fern/pages/cpp_api/cpp-api-neighbors-brute-force.md
index a454823018..1bab0cbd05 100644
--- a/fern/pages/cpp_api/cpp-api-neighbors-brute-force.md
+++ b/fern/pages/cpp_api/cpp-api-neighbors-brute-force.md
@@ -567,7 +567,7 @@ The serialization format can be subject to changes, therefore loading an index s
| `handle` | in | `raft::resources const&` | the raft handle |
| `filename` | in | `const std::string&` | the file name for saving the index |
| `index` | in | [`const cuvs::neighbors::brute_force::index&`](/api-reference/cpp-api-neighbors-brute-force#neighbors-brute-force-index) | brute force index |
-| `include_dataset` | in | `bool` | whether to include the dataset in the serialized output Default: `true`. |
+| `include_dataset` | in | `bool` | whether to include the dataset in the serialized output
Default: `true`. |
**Returns**
@@ -599,7 +599,7 @@ The serialization format can be subject to changes, therefore loading an index s
| `handle` | in | `raft::resources const&` | the raft handle |
| `filename` | in | `const std::string&` | the file name for saving the index |
| `index` | in | [`const cuvs::neighbors::brute_force::index&`](/api-reference/cpp-api-neighbors-brute-force#neighbors-brute-force-index) | brute force index |
-| `include_dataset` | in | `bool` | whether to include the dataset in the serialized output Default: `true`. |
+| `include_dataset` | in | `bool` | whether to include the dataset in the serialized output
Default: `true`. |
**Returns**
@@ -625,7 +625,7 @@ The serialization format can be subject to changes, therefore loading an index s
| `handle` | in | `raft::resources const&` | the raft handle |
| `os` | in | `std::ostream&` | output stream |
| `index` | in | [`const cuvs::neighbors::brute_force::index&`](/api-reference/cpp-api-neighbors-brute-force#neighbors-brute-force-index) | brute force index |
-| `include_dataset` | in | `bool` | Whether or not to write out the dataset to the file. Default: `true`. |
+| `include_dataset` | in | `bool` | Whether or not to write out the dataset to the file.
Default: `true`. |
**Returns**
@@ -651,7 +651,7 @@ The serialization format can be subject to changes, therefore loading an index s
| `handle` | in | `raft::resources const&` | the raft handle |
| `os` | in | `std::ostream&` | output stream |
| `index` | in | [`const cuvs::neighbors::brute_force::index&`](/api-reference/cpp-api-neighbors-brute-force#neighbors-brute-force-index) | brute force index |
-| `include_dataset` | in | `bool` | Whether or not to write out the dataset to the file. Default: `true`. |
+| `include_dataset` | in | `bool` | Whether or not to write out the dataset to the file.
Default: `true`. |
**Returns**
diff --git a/fern/pages/cpp_api/cpp-api-neighbors-cagra.md b/fern/pages/cpp_api/cpp-api-neighbors-cagra.md
index 1e4430a5ee..51e4e27af2 100644
--- a/fern/pages/cpp_api/cpp-api-neighbors-cagra.md
+++ b/fern/pages/cpp_api/cpp-api-neighbors-cagra.md
@@ -108,8 +108,8 @@ Usage example:
| `dataset` | | `raft::matrix_extent` | The shape of the input dataset |
| `M` | | `int` | HNSW index parameter M |
| `ef_construction` | | `int` | HNSW index parameter ef_construction |
-| `heuristic` | | [`hnsw_heuristic_type`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-hnsw-heuristic-type) | The heuristic to use for selecting the graph build parameters Default: `hnsw_heuristic_type::SIMILAR_SEARCH_PERFORMANCE`. |
-| `metric` | | [`cuvs::distance::DistanceType`](/api-reference/cpp-api-distance-distance#distance-distancetype) | The distance metric to search Default: `cuvs::distance::DistanceType::L2Expanded`. |
+| `heuristic` | | [`hnsw_heuristic_type`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-hnsw-heuristic-type) | The heuristic to use for selecting the graph build parameters
Default: `hnsw_heuristic_type::SIMILAR_SEARCH_PERFORMANCE`. |
+| `metric` | | [`cuvs::distance::DistanceType`](/api-reference/cpp-api-distance-distance#distance-distancetype) | The distance metric to search
Default: `cuvs::distance::DistanceType::L2Expanded`. |
**Returns**
@@ -951,8 +951,8 @@ Usage example:
| `params` | in | [`const cagra::extend_params&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-extend-params) | extend params |
| `additional_dataset` | in | `raft::device_matrix_view` | additional dataset on device memory |
| `idx` | in,out | [`cuvs::neighbors::cagra::index&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-index) | CAGRA index |
-| `new_dataset_buffer_view` | out | `std::optional>` | memory buffer view for the dataset including the additional part. The data will be copied from the current index in this function. The num rows must be the sum of the original and additional datasets, cols must be the dimension of the dataset, and the stride must be the same as the original index dataset. This view will be stored in the output index. It is the caller's responsibility to ensure that dataset stays alive as long as the index. This option is useful when users want to manage the memory space for the dataset themselves. Default: `std::nullopt`. |
-| `new_graph_buffer_view` | out | `std::optional>` | memory buffer view for the graph including the additional part. The data will be copied from the current index in this function. The num rows must be the sum of the original and additional datasets and cols must be the graph degree. This view will be stored in the output index. It is the caller's responsibility to ensure that dataset stays alive as long as the index. This option is useful when users want to manage the memory space for the graph themselves. Default: `std::nullopt`. |
+| `new_dataset_buffer_view` | out | `std::optional>` | memory buffer view for the dataset including the additional part. The data will be copied from the current index in this function. The num rows must be the sum of the original and additional datasets, cols must be the dimension of the dataset, and the stride must be the same as the original index dataset. This view will be stored in the output index. It is the caller's responsibility to ensure that dataset stays alive as long as the index. This option is useful when users want to manage the memory space for the dataset themselves.
Default: `std::nullopt`. |
+| `new_graph_buffer_view` | out | `std::optional>` | memory buffer view for the graph including the additional part. The data will be copied from the current index in this function. The num rows must be the sum of the original and additional datasets and cols must be the graph degree. This view will be stored in the output index. It is the caller's responsibility to ensure that dataset stays alive as long as the index. This option is useful when users want to manage the memory space for the graph themselves.
Default: `std::nullopt`. |
**Returns**
@@ -983,8 +983,8 @@ Usage example:
| `params` | in | [`const cagra::extend_params&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-extend-params) | extend params |
| `additional_dataset` | in | `raft::host_matrix_view` | additional dataset on host memory |
| `idx` | in,out | [`cuvs::neighbors::cagra::index&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-index) | CAGRA index |
-| `new_dataset_buffer_view` | out | `std::optional>` | memory buffer view for the dataset including the additional part. The data will be copied from the current index in this function. The num rows must be the sum of the original and additional datasets, cols must be the dimension of the dataset, and the stride must be the same as the original index dataset. This view will be stored in the output index. It is the caller's responsibility to ensure that dataset stays alive as long as the index. This option is useful when users want to manage the memory space for the dataset themselves. Default: `std::nullopt`. |
-| `new_graph_buffer_view` | out | `std::optional>` | memory buffer view for the graph including the additional part. The data will be copied from the current index in this function. The num rows must be the sum of the original and additional datasets and cols must be the graph degree. This view will be stored in the output index. It is the caller's responsibility to ensure that dataset stays alive as long as the index. This option is useful when users want to manage the memory space for the graph themselves. Default: `std::nullopt`. |
+| `new_dataset_buffer_view` | out | `std::optional>` | memory buffer view for the dataset including the additional part. The data will be copied from the current index in this function. The num rows must be the sum of the original and additional datasets, cols must be the dimension of the dataset, and the stride must be the same as the original index dataset. This view will be stored in the output index. It is the caller's responsibility to ensure that dataset stays alive as long as the index. This option is useful when users want to manage the memory space for the dataset themselves.
Default: `std::nullopt`. |
+| `new_graph_buffer_view` | out | `std::optional>` | memory buffer view for the graph including the additional part. The data will be copied from the current index in this function. The num rows must be the sum of the original and additional datasets and cols must be the graph degree. This view will be stored in the output index. It is the caller's responsibility to ensure that dataset stays alive as long as the index. This option is useful when users want to manage the memory space for the graph themselves.
Default: `std::nullopt`. |
**Returns**
@@ -1015,8 +1015,8 @@ Usage example:
| `params` | in | [`const cagra::extend_params&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-extend-params) | extend params |
| `additional_dataset` | in | `raft::device_matrix_view` | additional dataset on device memory |
| `idx` | in,out | [`cuvs::neighbors::cagra::index&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-index) | CAGRA index |
-| `new_dataset_buffer_view` | out | `std::optional>` | memory buffer view for the dataset including the additional part. The data will be copied from the current index in this function. The num rows must be the sum of the original and additional datasets, cols must be the dimension of the dataset, and the stride must be the same as the original index dataset. This view will be stored in the output index. It is the caller's responsibility to ensure that dataset stays alive as long as the index. This option is useful when users want to manage the memory space for the dataset themselves. Default: `std::nullopt`. |
-| `new_graph_buffer_view` | out | `std::optional>` | memory buffer view for the graph including the additional part. The data will be copied from the current index in this function. The num rows must be the sum of the original and additional datasets and cols must be the graph degree. This view will be stored in the output index. It is the caller's responsibility to ensure that dataset stays alive as long as the index. This option is useful when users want to manage the memory space for the graph themselves. Default: `std::nullopt`. |
+| `new_dataset_buffer_view` | out | `std::optional>` | memory buffer view for the dataset including the additional part. The data will be copied from the current index in this function. The num rows must be the sum of the original and additional datasets, cols must be the dimension of the dataset, and the stride must be the same as the original index dataset. This view will be stored in the output index. It is the caller's responsibility to ensure that dataset stays alive as long as the index. This option is useful when users want to manage the memory space for the dataset themselves.
Default: `std::nullopt`. |
+| `new_graph_buffer_view` | out | `std::optional>` | memory buffer view for the graph including the additional part. The data will be copied from the current index in this function. The num rows must be the sum of the original and additional datasets and cols must be the graph degree. This view will be stored in the output index. It is the caller's responsibility to ensure that dataset stays alive as long as the index. This option is useful when users want to manage the memory space for the graph themselves.
Default: `std::nullopt`. |
**Returns**
@@ -1047,8 +1047,8 @@ Usage example:
| `params` | in | [`const cagra::extend_params&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-extend-params) | extend params |
| `additional_dataset` | in | `raft::host_matrix_view` | additional dataset on host memory |
| `idx` | in,out | [`cuvs::neighbors::cagra::index&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-index) | CAGRA index |
-| `new_dataset_buffer_view` | out | `std::optional>` | memory buffer view for the dataset including the additional part. The data will be copied from the current index in this function. The num rows must be the sum of the original and additional datasets, cols must be the dimension of the dataset, and the stride must be the same as the original index dataset. This view will be stored in the output index. It is the caller's responsibility to ensure that dataset stays alive as long as the index. This option is useful when users want to manage the memory space for the dataset themselves. Default: `std::nullopt`. |
-| `new_graph_buffer_view` | out | `std::optional>` | memory buffer view for the graph including the additional part. The data will be copied from the current index in this function. The num rows must be the sum of the original and additional datasets and cols must be the graph degree. This view will be stored in the output index. It is the caller's responsibility to ensure that dataset stays alive as long as the index. This option is useful when users want to manage the memory space for the graph themselves. Default: `std::nullopt`. |
+| `new_dataset_buffer_view` | out | `std::optional>` | memory buffer view for the dataset including the additional part. The data will be copied from the current index in this function. The num rows must be the sum of the original and additional datasets, cols must be the dimension of the dataset, and the stride must be the same as the original index dataset. This view will be stored in the output index. It is the caller's responsibility to ensure that dataset stays alive as long as the index. This option is useful when users want to manage the memory space for the dataset themselves.
Default: `std::nullopt`. |
+| `new_graph_buffer_view` | out | `std::optional>` | memory buffer view for the graph including the additional part. The data will be copied from the current index in this function. The num rows must be the sum of the original and additional datasets and cols must be the graph degree. This view will be stored in the output index. It is the caller's responsibility to ensure that dataset stays alive as long as the index. This option is useful when users want to manage the memory space for the graph themselves.
Default: `std::nullopt`. |
**Returns**
@@ -1079,8 +1079,8 @@ Usage example:
| `params` | in | [`const cagra::extend_params&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-extend-params) | extend params |
| `additional_dataset` | in | `raft::device_matrix_view` | additional dataset on device memory |
| `idx` | in,out | [`cuvs::neighbors::cagra::index&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-index) | CAGRA index |
-| `new_dataset_buffer_view` | out | `std::optional>` | memory buffer view for the dataset including the additional part. The data will be copied from the current index in this function. The num rows must be the sum of the original and additional datasets, cols must be the dimension of the dataset, and the stride must be the same as the original index dataset. This view will be stored in the output index. It is the caller's responsibility to ensure that dataset stays alive as long as the index. This option is useful when users want to manage the memory space for the dataset themselves. Default: `std::nullopt`. |
-| `new_graph_buffer_view` | out | `std::optional>` | memory buffer view for the graph including the additional part. The data will be copied from the current index in this function. The num rows must be the sum of the original and additional datasets and cols must be the graph degree. This view will be stored in the output index. It is the caller's responsibility to ensure that dataset stays alive as long as the index. This option is useful when users want to manage the memory space for the graph themselves. Default: `std::nullopt`. |
+| `new_dataset_buffer_view` | out | `std::optional>` | memory buffer view for the dataset including the additional part. The data will be copied from the current index in this function. The num rows must be the sum of the original and additional datasets, cols must be the dimension of the dataset, and the stride must be the same as the original index dataset. This view will be stored in the output index. It is the caller's responsibility to ensure that dataset stays alive as long as the index. This option is useful when users want to manage the memory space for the dataset themselves.
Default: `std::nullopt`. |
+| `new_graph_buffer_view` | out | `std::optional>` | memory buffer view for the graph including the additional part. The data will be copied from the current index in this function. The num rows must be the sum of the original and additional datasets and cols must be the graph degree. This view will be stored in the output index. It is the caller's responsibility to ensure that dataset stays alive as long as the index. This option is useful when users want to manage the memory space for the graph themselves.
Default: `std::nullopt`. |
**Returns**
@@ -1111,8 +1111,8 @@ Usage example:
| `params` | in | [`const cagra::extend_params&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-extend-params) | extend params |
| `additional_dataset` | in | `raft::host_matrix_view` | additional dataset on host memory |
| `idx` | in,out | [`cuvs::neighbors::cagra::index&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-index) | CAGRA index |
-| `new_dataset_buffer_view` | out | `std::optional>` | memory buffer view for the dataset including the additional part. The data will be copied from the current index in this function. The num rows must be the sum of the original and additional datasets, cols must be the dimension of the dataset, and the stride must be the same as the original index dataset. This view will be stored in the output index. It is the caller's responsibility to ensure that dataset stays alive as long as the index. This option is useful when users want to manage the memory space for the dataset themselves. Default: `std::nullopt`. |
-| `new_graph_buffer_view` | out | `std::optional>` | memory buffer view for the graph including the additional part. The data will be copied from the current index in this function. The num rows must be the sum of the original and additional datasets and cols must be the graph degree. This view will be stored in the output index. It is the caller's responsibility to ensure that dataset stays alive as long as the index. This option is useful when users want to manage the memory space for the graph themselves. Default: `std::nullopt`. |
+| `new_dataset_buffer_view` | out | `std::optional>` | memory buffer view for the dataset including the additional part. The data will be copied from the current index in this function. The num rows must be the sum of the original and additional datasets, cols must be the dimension of the dataset, and the stride must be the same as the original index dataset. This view will be stored in the output index. It is the caller's responsibility to ensure that dataset stays alive as long as the index. This option is useful when users want to manage the memory space for the dataset themselves.
Default: `std::nullopt`. |
+| `new_graph_buffer_view` | out | `std::optional>` | memory buffer view for the graph including the additional part. The data will be copied from the current index in this function. The num rows must be the sum of the original and additional datasets and cols must be the graph degree. This view will be stored in the output index. It is the caller's responsibility to ensure that dataset stays alive as long as the index. This option is useful when users want to manage the memory space for the graph themselves.
Default: `std::nullopt`. |
**Returns**
@@ -1143,8 +1143,8 @@ Usage example:
| `params` | in | [`const cagra::extend_params&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-extend-params) | extend params |
| `additional_dataset` | in | `raft::device_matrix_view` | additional dataset on host memory |
| `idx` | in,out | [`cuvs::neighbors::cagra::index&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-index) | CAGRA index |
-| `new_dataset_buffer_view` | out | `std::optional>` | memory buffer view for the dataset including the additional part. The data will be copied from the current index in this function. The num rows must be the sum of the original and additional datasets, cols must be the dimension of the dataset, and the stride must be the same as the original index dataset. This view will be stored in the output index. It is the caller's responsibility to ensure that dataset stays alive as long as the index. This option is useful when users want to manage the memory space for the dataset themselves. Default: `std::nullopt`. |
-| `new_graph_buffer_view` | out | `std::optional>` | memory buffer view for the graph including the additional part. The data will be copied from the current index in this function. The num rows must be the sum of the original and additional datasets and cols must be the graph degree. This view will be stored in the output index. It is the caller's responsibility to ensure that dataset stays alive as long as the index. This option is useful when users want to manage the memory space for the graph themselves. Default: `std::nullopt`. |
+| `new_dataset_buffer_view` | out | `std::optional>` | memory buffer view for the dataset including the additional part. The data will be copied from the current index in this function. The num rows must be the sum of the original and additional datasets, cols must be the dimension of the dataset, and the stride must be the same as the original index dataset. This view will be stored in the output index. It is the caller's responsibility to ensure that dataset stays alive as long as the index. This option is useful when users want to manage the memory space for the dataset themselves.
Default: `std::nullopt`. |
+| `new_graph_buffer_view` | out | `std::optional>` | memory buffer view for the graph including the additional part. The data will be copied from the current index in this function. The num rows must be the sum of the original and additional datasets and cols must be the graph degree. This view will be stored in the output index. It is the caller's responsibility to ensure that dataset stays alive as long as the index. This option is useful when users want to manage the memory space for the graph themselves.
Default: `std::nullopt`. |
**Returns**
@@ -1175,8 +1175,8 @@ Usage example:
| `params` | in | [`const cagra::extend_params&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-extend-params) | extend params |
| `additional_dataset` | in | `raft::host_matrix_view` | additional dataset on host memory |
| `idx` | in,out | [`cuvs::neighbors::cagra::index&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-index) | CAGRA index |
-| `new_dataset_buffer_view` | out | `std::optional>` | memory buffer view for the dataset including the additional part. The data will be copied from the current index in this function. The num rows must be the sum of the original and additional datasets, cols must be the dimension of the dataset, and the stride must be the same as the original index dataset. This view will be stored in the output index. It is the caller's responsibility to ensure that dataset stays alive as long as the index. This option is useful when users want to manage the memory space for the dataset themselves. Default: `std::nullopt`. |
-| `new_graph_buffer_view` | out | `std::optional>` | memory buffer view for the graph including the additional part. The data will be copied from the current index in this function. The num rows must be the sum of the original and additional datasets and cols must be the graph degree. This view will be stored in the output index. It is the caller's responsibility to ensure that dataset stays alive as long as the index. This option is useful when users want to manage the memory space for the graph themselves. Default: `std::nullopt`. |
+| `new_dataset_buffer_view` | out | `std::optional>` | memory buffer view for the dataset including the additional part. The data will be copied from the current index in this function. The num rows must be the sum of the original and additional datasets, cols must be the dimension of the dataset, and the stride must be the same as the original index dataset. This view will be stored in the output index. It is the caller's responsibility to ensure that dataset stays alive as long as the index. This option is useful when users want to manage the memory space for the dataset themselves.
Default: `std::nullopt`. |
+| `new_graph_buffer_view` | out | `std::optional>` | memory buffer view for the graph including the additional part. The data will be copied from the current index in this function. The num rows must be the sum of the original and additional datasets and cols must be the graph degree. This view will be stored in the output index. It is the caller's responsibility to ensure that dataset stays alive as long as the index. This option is useful when users want to manage the memory space for the graph themselves.
Default: `std::nullopt`. |
**Returns**
@@ -1223,7 +1223,7 @@ Experimental, both the API and the serialization format are subject to change.
| `handle` | in | `raft::resources const&` | the raft handle |
| `filename` | in | `const std::string&` | the file name for saving the index |
| `index` | in | [`const cuvs::neighbors::cagra::index&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-index) | CAGRA index |
-| `include_dataset` | in | `bool` | Whether or not to write out the dataset to the file. Default: `true`. |
+| `include_dataset` | in | `bool` | Whether or not to write out the dataset to the file.
Default: `true`. |
**Returns**
@@ -1274,7 +1274,7 @@ Experimental, both the API and the serialization format are subject to change.
| `handle` | in | `raft::resources const&` | the raft handle |
| `os` | in | `std::ostream&` | output stream |
| `index` | in | [`const cuvs::neighbors::cagra::index&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-index) | CAGRA index |
-| `include_dataset` | in | `bool` | Whether or not to write out the dataset to the file. Default: `true`. |
+| `include_dataset` | in | `bool` | Whether or not to write out the dataset to the file.
Default: `true`. |
**Returns**
@@ -1324,7 +1324,7 @@ Experimental, both the API and the serialization format are subject to change.
| `handle` | in | `raft::resources const&` | the raft handle |
| `filename` | in | `const std::string&` | the file name for saving the index |
| `index` | in | [`const cuvs::neighbors::cagra::index&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-index) | CAGRA index |
-| `include_dataset` | in | `bool` | Whether or not to write out the dataset to the file. Default: `true`. |
+| `include_dataset` | in | `bool` | Whether or not to write out the dataset to the file.
Default: `true`. |
**Returns**
@@ -1374,7 +1374,7 @@ Experimental, both the API and the serialization format are subject to change.
| `handle` | in | `raft::resources const&` | the raft handle |
| `os` | in | `std::ostream&` | output stream |
| `index` | in | [`const cuvs::neighbors::cagra::index&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-index) | CAGRA index |
-| `include_dataset` | in | `bool` | Whether or not to write out the dataset to the file. Default: `true`. |
+| `include_dataset` | in | `bool` | Whether or not to write out the dataset to the file.
Default: `true`. |
**Returns**
@@ -1424,7 +1424,7 @@ Experimental, both the API and the serialization format are subject to change.
| `handle` | in | `raft::resources const&` | the raft handle |
| `filename` | in | `const std::string&` | the file name for saving the index |
| `index` | in | [`const cuvs::neighbors::cagra::index&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-index) | CAGRA index |
-| `include_dataset` | in | `bool` | Whether or not to write out the dataset to the file. Default: `true`. |
+| `include_dataset` | in | `bool` | Whether or not to write out the dataset to the file.
Default: `true`. |
**Returns**
@@ -1474,7 +1474,7 @@ Experimental, both the API and the serialization format are subject to change.
| `handle` | in | `raft::resources const&` | the raft handle |
| `os` | in | `std::ostream&` | output stream |
| `index` | in | [`const cuvs::neighbors::cagra::index&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-index) | CAGRA index |
-| `include_dataset` | in | `bool` | Whether or not to write out the dataset to the file. Default: `true`. |
+| `include_dataset` | in | `bool` | Whether or not to write out the dataset to the file.
Default: `true`. |
**Returns**
@@ -1524,7 +1524,7 @@ Experimental, both the API and the serialization format are subject to change.
| `handle` | in | `raft::resources const&` | the raft handle |
| `filename` | in | `const std::string&` | the file name for saving the index |
| `index` | in | [`const cuvs::neighbors::cagra::index&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-index) | CAGRA index |
-| `include_dataset` | in | `bool` | Whether or not to write out the dataset to the file. Default: `true`. |
+| `include_dataset` | in | `bool` | Whether or not to write out the dataset to the file.
Default: `true`. |
**Returns**
@@ -1574,7 +1574,7 @@ Experimental, both the API and the serialization format are subject to change.
| `handle` | in | `raft::resources const&` | the raft handle |
| `os` | in | `std::ostream&` | output stream |
| `index` | in | [`const cuvs::neighbors::cagra::index&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-index) | CAGRA index |
-| `include_dataset` | in | `bool` | Whether or not to write out the dataset to the file. Default: `true`. |
+| `include_dataset` | in | `bool` | Whether or not to write out the dataset to the file.
Default: `true`. |
**Returns**
@@ -1629,7 +1629,7 @@ Experimental, both the API and the serialization format are subject to change.
| `handle` | in | `raft::resources const&` | the raft handle |
| `os` | in | `std::ostream&` | output stream |
| `index` | in | [`const cuvs::neighbors::cagra::index&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-index) | CAGRA index |
-| `dataset` | in | `std::optional>` | [optional] host array that stores the dataset, required if the index does not contain the dataset. Default: `std::nullopt`. |
+| `dataset` | in | `std::optional>` | [optional] host array that stores the dataset, required if the index does not contain the dataset.
Default: `std::nullopt`. |
**Returns**
@@ -1659,7 +1659,7 @@ Experimental, both the API and the serialization format are subject to change.
| `handle` | in | `raft::resources const&` | the raft handle |
| `filename` | in | `const std::string&` | the file name for saving the index |
| `index` | in | [`const cuvs::neighbors::cagra::index&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-index) | CAGRA index |
-| `dataset` | in | `std::optional>` | [optional] host array that stores the dataset, required if the index does not contain the dataset. Default: `std::nullopt`. |
+| `dataset` | in | `std::optional>` | [optional] host array that stores the dataset, required if the index does not contain the dataset.
Default: `std::nullopt`. |
**Returns**
@@ -1689,7 +1689,7 @@ Experimental, both the API and the serialization format are subject to change.
| `handle` | in | `raft::resources const&` | the raft handle |
| `os` | in | `std::ostream&` | output stream |
| `index` | in | [`const cuvs::neighbors::cagra::index&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-index) | CAGRA index |
-| `dataset` | in | `std::optional>` | [optional] host array that stores the dataset, required if the index does not contain the dataset. Default: `std::nullopt`. |
+| `dataset` | in | `std::optional>` | [optional] host array that stores the dataset, required if the index does not contain the dataset.
Default: `std::nullopt`. |
**Returns**
@@ -1719,7 +1719,7 @@ Experimental, both the API and the serialization format are subject to change.
| `handle` | in | `raft::resources const&` | the raft handle |
| `filename` | in | `const std::string&` | the file name for saving the index |
| `index` | in | [`const cuvs::neighbors::cagra::index&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-index) | CAGRA index |
-| `dataset` | in | `std::optional>` | [optional] host array that stores the dataset, required if the index does not contain the dataset. Default: `std::nullopt`. |
+| `dataset` | in | `std::optional>` | [optional] host array that stores the dataset, required if the index does not contain the dataset.
Default: `std::nullopt`. |
**Returns**
@@ -1749,7 +1749,7 @@ Experimental, both the API and the serialization format are subject to change.
| `handle` | in | `raft::resources const&` | the raft handle |
| `os` | in | `std::ostream&` | output stream |
| `index` | in | [`const cuvs::neighbors::cagra::index&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-index) | CAGRA index |
-| `dataset` | in | `std::optional>` | [optional] host array that stores the dataset, required if the index does not contain the dataset. Default: `std::nullopt`. |
+| `dataset` | in | `std::optional>` | [optional] host array that stores the dataset, required if the index does not contain the dataset.
Default: `std::nullopt`. |
**Returns**
@@ -1779,7 +1779,7 @@ Experimental, both the API and the serialization format are subject to change.
| `handle` | in | `raft::resources const&` | the raft handle |
| `filename` | in | `const std::string&` | the file name for saving the index |
| `index` | in | [`const cuvs::neighbors::cagra::index&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-index) | CAGRA index |
-| `dataset` | in | `std::optional>` | [optional] host array that stores the dataset, required if the index does not contain the dataset. Default: `std::nullopt`. |
+| `dataset` | in | `std::optional>` | [optional] host array that stores the dataset, required if the index does not contain the dataset.
Default: `std::nullopt`. |
**Returns**
@@ -1809,7 +1809,7 @@ Experimental, both the API and the serialization format are subject to change.
| `handle` | in | `raft::resources const&` | the raft handle |
| `os` | in | `std::ostream&` | output stream |
| `index` | in | [`const cuvs::neighbors::cagra::index&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-index) | CAGRA index |
-| `dataset` | in | `std::optional>` | [optional] host array that stores the dataset, required if the index does not contain the dataset. Default: `std::nullopt`. |
+| `dataset` | in | `std::optional>` | [optional] host array that stores the dataset, required if the index does not contain the dataset.
Default: `std::nullopt`. |
**Returns**
@@ -1839,7 +1839,7 @@ Experimental, both the API and the serialization format are subject to change.
| `handle` | in | `raft::resources const&` | the raft handle |
| `filename` | in | `const std::string&` | the file name for saving the index |
| `index` | in | [`const cuvs::neighbors::cagra::index&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-index) | CAGRA index |
-| `dataset` | in | `std::optional>` | [optional] host array that stores the dataset, required if the index does not contain the dataset. Default: `std::nullopt`. |
+| `dataset` | in | `std::optional>` | [optional] host array that stores the dataset, required if the index does not contain the dataset.
Default: `std::nullopt`. |
**Returns**
diff --git a/fern/pages/cpp_api/cpp-api-neighbors-dynamic-batching.md b/fern/pages/cpp_api/cpp-api-neighbors-dynamic-batching.md
index b929fd898b..29fa965d47 100644
--- a/fern/pages/cpp_api/cpp-api-neighbors-dynamic-batching.md
+++ b/fern/pages/cpp_api/cpp-api-neighbors-dynamic-batching.md
@@ -48,7 +48,7 @@ struct search_params : cuvs::neighbors::search_params {
| Name | Type | Description |
| --- | --- | --- |
-| `dispatch_timeout_ms` | `double` | How long a request can stay in the queue (milliseconds). Note, this only affects the dispatch time and does not reflect full request latency; the latter depends on the upstream search parameters and the batch size. |
+| `dispatch_timeout_ms` | `double` | How long a request can stay in the queue (milliseconds).
Note, this only affects the dispatch time and does not reflect full request latency; the latter depends on the upstream search parameters and the batch size. |
## Dynamic Batching index type
@@ -108,7 +108,7 @@ const cuvs::neighbors::filtering::base_filter* sample_filter = nullptr);
| `params` | in | [`const cuvs::neighbors::dynamic_batching::index_params&`](/api-reference/cpp-api-neighbors-dynamic-batching#neighbors-dynamic-batching-index-params) | dynamic batching parameters |
| `upstream_index` | in | `const Upstream&` | the original index to perform the search (the reference must be alive for the lifetime of the dynamic batching index) |
| `upstream_params` | in | `const typename Upstream::search_params_type&` | the original index search parameters for all queries in a batch (the parameters are captured by value for the lifetime of the dynamic batching index) |
-| `sample_filter` | in | `const cuvs::neighbors::filtering::base_filter*` | filtering function, if any, must be the same for all requests in a batch (the pointer must be alive for the lifetime of the dynamic batching index) Default: `nullptr`. |
+| `sample_filter` | in | `const cuvs::neighbors::filtering::base_filter*` | filtering function, if any, must be the same for all requests in a batch (the pointer must be alive for the lifetime of the dynamic batching index)
Default: `nullptr`. |
**Returns**
diff --git a/fern/pages/cpp_api/cpp-api-neighbors-epsilon-neighborhood.md b/fern/pages/cpp_api/cpp-api-neighbors-epsilon-neighborhood.md
index ec46d8378d..88e8552610 100644
--- a/fern/pages/cpp_api/cpp-api-neighbors-epsilon-neighborhood.md
+++ b/fern/pages/cpp_api/cpp-api-neighbors-epsilon-neighborhood.md
@@ -44,7 +44,7 @@ Currently, only L2Unexpanded (L2-squared) distance metric is supported. Other me
| `adj` | out | `raft::device_matrix_view` | adjacency matrix [row-major] [on device] [dim = m x n] |
| `vd` | out | `raft::device_vector_view` | vertex degree array [on device] [len = m + 1] `vd + m` stores the total number of edges in the adjacency matrix. Pass a nullptr if you don't need this info. |
| `eps` | in | `value_t` | defines epsilon neighborhood radius (should be passed as squared when using L2Unexpanded metric) |
-| `metric` | in | [`cuvs::distance::DistanceType`](/api-reference/cpp-api-distance-distance#distance-distancetype) | distance metric to use. Currently only L2Unexpanded is supported. Default: `cuvs::distance::DistanceType::L2Unexpanded`. |
+| `metric` | in | [`cuvs::distance::DistanceType`](/api-reference/cpp-api-distance-distance#distance-distancetype) | distance metric to use. Currently only L2Unexpanded is supported.
Default: `cuvs::distance::DistanceType::L2Unexpanded`. |
**Returns**
diff --git a/fern/pages/cpp_api/cpp-api-neighbors-hnsw.md b/fern/pages/cpp_api/cpp-api-neighbors-hnsw.md
index b88ab1c789..e4a29faed5 100644
--- a/fern/pages/cpp_api/cpp-api-neighbors-hnsw.md
+++ b/fern/pages/cpp_api/cpp-api-neighbors-hnsw.md
@@ -84,7 +84,7 @@ index(int dim, cuvs::distance::DistanceType metric, HnswHierarchy hierarchy = Hn
| --- | --- | --- | --- |
| `dim` | in | `int` | dimensions of the training dataset |
| `metric` | in | [`cuvs::distance::DistanceType`](/api-reference/cpp-api-distance-distance#distance-distancetype) | distance metric to search. Supported metrics ("L2Expanded", "InnerProduct") |
-| `hierarchy` | in | [`HnswHierarchy`](/api-reference/cpp-api-neighbors-hnsw#neighbors-hnsw-hnswhierarchy) | hierarchy used for upper HNSW layers Default: `HnswHierarchy::NONE`. |
+| `hierarchy` | in | [`HnswHierarchy`](/api-reference/cpp-api-neighbors-hnsw#neighbors-hnsw-hnswhierarchy) | hierarchy used for upper HNSW layers
Default: `HnswHierarchy::NONE`. |
**Returns**
@@ -286,7 +286,10 @@ Usage example:
### neighbors::hnsw::from_cagra
-Construct an hnswlib index from a CAGRA index NOTE: When `hnsw::index_params.hierarchy` is: 1. `NONE`: This method uses the filesystem to write the CAGRA index in `/tmp/<random_number>.bin` before reading it as an hnswlib index, then deleting the temporary file. The returned index is immutable and can only be searched by the hnswlib wrapper in cuVS, as the format is not compatible with the original hnswlib. 2. `CPU`: The returned index is mutable and can be extended with additional vectors. The serialized index is also compatible with the original hnswlib library.
+Construct an hnswlib index from a CAGRA index NOTE: When `hnsw::index_params.hierarchy` is:
+
+1. `NONE`: This method uses the filesystem to write the CAGRA index in `/tmp/<random_number>.bin` before reading it as an hnswlib index, then deleting the temporary file. The returned index is immutable and can only be searched by the hnswlib wrapper in cuVS, as the format is not compatible with the original hnswlib.
+2. `CPU`: The returned index is mutable and can be extended with additional vectors. The serialized index is also compatible with the original hnswlib library.
```cpp
std::unique_ptr> from_cagra(
@@ -306,7 +309,7 @@ Usage example:
| `res` | in | `raft::resources const&` | raft resources |
| `params` | in | `const index_params&` | hnsw index parameters |
| `cagra_index` | in | [`const cuvs::neighbors::cagra::index&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-index) | cagra index |
-| `dataset` | in | `std::optional>` | optional dataset to avoid extra memory copy when hierarchy is `CPU` Default: `std::nullopt`. |
+| `dataset` | in | `std::optional>` | optional dataset to avoid extra memory copy when hierarchy is `CPU`
Default: `std::nullopt`. |
**Returns**
@@ -314,7 +317,10 @@ Usage example:
**Additional overload:** `neighbors::hnsw::from_cagra`
-Construct an hnswlib index from a CAGRA index NOTE: When `hnsw::index_params.hierarchy` is: 1. `NONE`: This method uses the filesystem to write the CAGRA index in `/tmp/<random_number>.bin` before reading it as an hnswlib index, then deleting the temporary file. The returned index is immutable and can only be searched by the hnswlib wrapper in cuVS, as the format is not compatible with the original hnswlib. 2. `CPU`: The returned index is mutable and can be extended with additional vectors. The serialized index is also compatible with the original hnswlib library.
+Construct an hnswlib index from a CAGRA index NOTE: When `hnsw::index_params.hierarchy` is:
+
+1. `NONE`: This method uses the filesystem to write the CAGRA index in `/tmp/<random_number>.bin` before reading it as an hnswlib index, then deleting the temporary file. The returned index is immutable and can only be searched by the hnswlib wrapper in cuVS, as the format is not compatible with the original hnswlib.
+2. `CPU`: The returned index is mutable and can be extended with additional vectors. The serialized index is also compatible with the original hnswlib library.
```cpp
std::unique_ptr> from_cagra(
@@ -334,7 +340,7 @@ Usage example:
| `res` | in | `raft::resources const&` | raft resources |
| `params` | in | `const index_params&` | hnsw index parameters |
| `cagra_index` | in | [`const cuvs::neighbors::cagra::index&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-index) | cagra index |
-| `dataset` | in | `std::optional>` | optional dataset to avoid extra memory copy when hierarchy is `CPU` Default: `std::nullopt`. |
+| `dataset` | in | `std::optional>` | optional dataset to avoid extra memory copy when hierarchy is `CPU`
Default: `std::nullopt`. |
**Returns**
@@ -342,7 +348,10 @@ Usage example:
**Additional overload:** `neighbors::hnsw::from_cagra`
-Construct an hnswlib index from a CAGRA index NOTE: When `hnsw::index_params.hierarchy` is: 1. `NONE`: This method uses the filesystem to write the CAGRA index in `/tmp/<random_number>.bin` before reading it as an hnswlib index, then deleting the temporary file. The returned index is immutable and can only be searched by the hnswlib wrapper in cuVS, as the format is not compatible with the original hnswlib. 2. `CPU`: The returned index is mutable and can be extended with additional vectors. The serialized index is also compatible with the original hnswlib library.
+Construct an hnswlib index from a CAGRA index NOTE: When `hnsw::index_params.hierarchy` is:
+
+1. `NONE`: This method uses the filesystem to write the CAGRA index in `/tmp/<random_number>.bin` before reading it as an hnswlib index, then deleting the temporary file. The returned index is immutable and can only be searched by the hnswlib wrapper in cuVS, as the format is not compatible with the original hnswlib.
+2. `CPU`: The returned index is mutable and can be extended with additional vectors. The serialized index is also compatible with the original hnswlib library.
```cpp
std::unique_ptr> from_cagra(
@@ -362,7 +371,7 @@ Usage example:
| `res` | in | `raft::resources const&` | raft resources |
| `params` | in | `const index_params&` | hnsw index parameters |
| `cagra_index` | in | [`const cuvs::neighbors::cagra::index&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-index) | cagra index |
-| `dataset` | in | `std::optional>` | optional dataset to avoid extra memory copy when hierarchy is `CPU` Default: `std::nullopt`. |
+| `dataset` | in | `std::optional>` | optional dataset to avoid extra memory copy when hierarchy is `CPU`
Default: `std::nullopt`. |
**Returns**
@@ -370,7 +379,10 @@ Usage example:
**Additional overload:** `neighbors::hnsw::from_cagra`
-Construct an hnswlib index from a CAGRA index NOTE: When `hnsw::index_params.hierarchy` is: 1. `NONE`: This method uses the filesystem to write the CAGRA index in `/tmp/<random_number>.bin` before reading it as an hnswlib index, then deleting the temporary file. The returned index is immutable and can only be searched by the hnswlib wrapper in cuVS, as the format is not compatible with the original hnswlib. 2. `CPU`: The returned index is mutable and can be extended with additional vectors. The serialized index is also compatible with the original hnswlib library.
+Construct an hnswlib index from a CAGRA index NOTE: When `hnsw::index_params.hierarchy` is:
+
+1. `NONE`: This method uses the filesystem to write the CAGRA index in `/tmp/<random_number>.bin` before reading it as an hnswlib index, then deleting the temporary file. The returned index is immutable and can only be searched by the hnswlib wrapper in cuVS, as the format is not compatible with the original hnswlib.
+2. `CPU`: The returned index is mutable and can be extended with additional vectors. The serialized index is also compatible with the original hnswlib library.
```cpp
std::unique_ptr> from_cagra(
@@ -390,7 +402,7 @@ Usage example:
| `res` | in | `raft::resources const&` | raft resources |
| `params` | in | `const index_params&` | hnsw index parameters |
| `cagra_index` | in | [`const cuvs::neighbors::cagra::index&`](/api-reference/cpp-api-neighbors-cagra#neighbors-cagra-index) | cagra index |
-| `dataset` | in | `std::optional>` | optional dataset to avoid extra memory copy when hierarchy is `CPU` Default: `std::nullopt`. |
+| `dataset` | in | `std::optional>` | optional dataset to avoid extra memory copy when hierarchy is `CPU`
Default: `std::nullopt`. |
**Returns**
diff --git a/fern/pages/cpp_api/cpp-api-neighbors-ivf-pq.md b/fern/pages/cpp_api/cpp-api-neighbors-ivf-pq.md
index 6174452b3e..eea6eab87f 100644
--- a/fern/pages/cpp_api/cpp-api-neighbors-ivf-pq.md
+++ b/fern/pages/cpp_api/cpp-api-neighbors-ivf-pq.md
@@ -221,9 +221,9 @@ This constructor creates an owning index with the given parameters.
| `codebook_kind` | | [`codebook_gen`](/api-reference/cpp-api-neighbors-ivf-pq#neighbors-ivf-pq-codebook-gen) | How PQ codebooks are created |
| `n_lists` | | `uint32_t` | Number of inverted lists (clusters) |
| `dim` | | `uint32_t` | Dimensionality of the input data |
-| `pq_bits` | | `uint32_t` | Bit length of vector elements after PQ compression Default: `8`. |
-| `pq_dim` | | `uint32_t` | Dimensionality after PQ compression (0 = auto-select) Default: `0`. |
-| `conservative_memory_allocation` | | `bool` | Memory allocation strategy Default: `false`. |
+| `pq_bits` | | `uint32_t` | Bit length of vector elements after PQ compression
Default: `8`. |
+| `pq_dim` | | `uint32_t` | Dimensionality after PQ compression (0 = auto-select)
Default: `0`. |
+| `conservative_memory_allocation` | | `bool` | Memory allocation strategy
Default: `false`. |
**Returns**
diff --git a/fern/pages/cpp_api/cpp-api-neighbors-ivf-sq.md b/fern/pages/cpp_api/cpp-api-neighbors-ivf-sq.md
index 3b33951697..dcd40f182e 100644
--- a/fern/pages/cpp_api/cpp-api-neighbors-ivf-sq.md
+++ b/fern/pages/cpp_api/cpp-api-neighbors-ivf-sq.md
@@ -17,8 +17,8 @@ IVF-SQ index build parameters
constexpr static uint32_t kIndexGroupSize = 32;
```
-
-### cuvs::neighbors::ivf_sq::index_params
+
+### neighbors::ivf_sq::index_params
IVF-SQ index build parameters.
@@ -46,8 +46,8 @@ struct index_params : cuvs::neighbors::index_params {
## IVF-SQ index search parameters
-
-### cuvs::neighbors::ivf_sq::search_params
+
+### neighbors::ivf_sq::search_params
IVF-SQ index search parameters
@@ -65,8 +65,8 @@ struct search_params : cuvs::neighbors::search_params {
## IVF-SQ list storage spec
-
-### cuvs::neighbors::ivf_sq::list_spec
+
+### neighbors::ivf_sq::list_spec
IVF-SQ list storage spec
@@ -89,8 +89,8 @@ struct list_spec {
## IVF-SQ index
-
-### cuvs::neighbors::ivf_sq::index
+
+### neighbors::ivf_sq::index
IVF-SQ index.
@@ -117,8 +117,8 @@ struct index;
## IVF-SQ index build
-
-### cuvs::neighbors::ivf_sq::build
+
+### neighbors::ivf_sq::build
Build the index from the dataset for efficient search.
@@ -143,14 +143,14 @@ Usage example:
| Name | Direction | Type | Description |
| --- | --- | --- | --- |
| `handle` | in | `raft::resources const&` | |
-| `index_params` | in | [`const cuvs::neighbors::ivf_sq::index_params&`](/api-reference/cpp-api-neighbors-ivf-sq#cuvs-neighbors-ivf-sq-index-params) | configure the index building |
+| `index_params` | in | [`const cuvs::neighbors::ivf_sq::index_params&`](/api-reference/cpp-api-neighbors-ivf-sq#neighbors-ivf-sq-index-params) | configure the index building |
| `dataset` | in | `raft::device_matrix_view` | a device pointer to a row-major matrix [n_rows, dim] |
**Returns**
-[`cuvs::neighbors::ivf_sq::index`](/api-reference/cpp-api-neighbors-ivf-sq#cuvs-neighbors-ivf-sq-index)
+[`cuvs::neighbors::ivf_sq::index`](/api-reference/cpp-api-neighbors-ivf-sq#neighbors-ivf-sq-index)
-**Additional overload:** `cuvs::neighbors::ivf_sq::build`
+**Additional overload:** `neighbors::ivf_sq::build`
Build the index from the dataset for efficient search.
@@ -168,14 +168,14 @@ Usage example:
| Name | Direction | Type | Description |
| --- | --- | --- | --- |
| `handle` | in | `raft::resources const&` | |
-| `index_params` | in | [`const cuvs::neighbors::ivf_sq::index_params&`](/api-reference/cpp-api-neighbors-ivf-sq#cuvs-neighbors-ivf-sq-index-params) | configure the index building |
+| `index_params` | in | [`const cuvs::neighbors::ivf_sq::index_params&`](/api-reference/cpp-api-neighbors-ivf-sq#neighbors-ivf-sq-index-params) | configure the index building |
| `dataset` | in | `raft::device_matrix_view` | a device pointer to a row-major matrix [n_rows, dim] |
**Returns**
-[`cuvs::neighbors::ivf_sq::index`](/api-reference/cpp-api-neighbors-ivf-sq#cuvs-neighbors-ivf-sq-index)
+[`cuvs::neighbors::ivf_sq::index`](/api-reference/cpp-api-neighbors-ivf-sq#neighbors-ivf-sq-index)
-**Additional overload:** `cuvs::neighbors::ivf_sq::build`
+**Additional overload:** `neighbors::ivf_sq::build`
Build the index from the dataset for efficient search.
@@ -193,14 +193,14 @@ Usage example:
| Name | Direction | Type | Description |
| --- | --- | --- | --- |
| `handle` | in | `raft::resources const&` | |
-| `index_params` | in | [`const cuvs::neighbors::ivf_sq::index_params&`](/api-reference/cpp-api-neighbors-ivf-sq#cuvs-neighbors-ivf-sq-index-params) | configure the index building |
+| `index_params` | in | [`const cuvs::neighbors::ivf_sq::index_params&`](/api-reference/cpp-api-neighbors-ivf-sq#neighbors-ivf-sq-index-params) | configure the index building |
| `dataset` | in | `raft::host_matrix_view` | a host pointer to a row-major matrix [n_rows, dim] |
**Returns**
-[`cuvs::neighbors::ivf_sq::index`](/api-reference/cpp-api-neighbors-ivf-sq#cuvs-neighbors-ivf-sq-index)
+[`cuvs::neighbors::ivf_sq::index`](/api-reference/cpp-api-neighbors-ivf-sq#neighbors-ivf-sq-index)
-**Additional overload:** `cuvs::neighbors::ivf_sq::build`
+**Additional overload:** `neighbors::ivf_sq::build`
Build the index from the dataset for efficient search.
@@ -218,17 +218,17 @@ Usage example:
| Name | Direction | Type | Description |
| --- | --- | --- | --- |
| `handle` | in | `raft::resources const&` | |
-| `index_params` | in | [`const cuvs::neighbors::ivf_sq::index_params&`](/api-reference/cpp-api-neighbors-ivf-sq#cuvs-neighbors-ivf-sq-index-params) | configure the index building |
+| `index_params` | in | [`const cuvs::neighbors::ivf_sq::index_params&`](/api-reference/cpp-api-neighbors-ivf-sq#neighbors-ivf-sq-index-params) | configure the index building |
| `dataset` | in | `raft::host_matrix_view` | a host pointer to a row-major matrix [n_rows, dim] |
**Returns**
-[`cuvs::neighbors::ivf_sq::index`](/api-reference/cpp-api-neighbors-ivf-sq#cuvs-neighbors-ivf-sq-index)
+[`cuvs::neighbors::ivf_sq::index`](/api-reference/cpp-api-neighbors-ivf-sq#neighbors-ivf-sq-index)
## IVF-SQ index extend
-
-### cuvs::neighbors::ivf_sq::extend
+
+### neighbors::ivf_sq::extend
Extend the index with the new data in-place.
@@ -248,13 +248,13 @@ Usage example:
| `handle` | in | `raft::resources const&` | |
| `new_vectors` | in | `raft::device_matrix_view` | a device matrix view to a row-major matrix [n_rows, idx.dim()] |
| `new_indices` | in | `std::optional>` | a device vector view to a vector of indices [n_rows]. If the original index is empty (`idx.size() == 0`), you can pass `std::nullopt` here to imply a continuous range `[0...n_rows)`. |
-| `idx` | inout | [`cuvs::neighbors::ivf_sq::index*`](/api-reference/cpp-api-neighbors-ivf-sq#cuvs-neighbors-ivf-sq-index) | pointer to ivf_sq::index |
+| `idx` | inout | [`cuvs::neighbors::ivf_sq::index*`](/api-reference/cpp-api-neighbors-ivf-sq#neighbors-ivf-sq-index) | pointer to ivf_sq::index |
**Returns**
`void`
-**Additional overload:** `cuvs::neighbors::ivf_sq::extend`
+**Additional overload:** `neighbors::ivf_sq::extend`
Extend the index with the new data in-place.
@@ -274,13 +274,13 @@ Usage example:
| `handle` | in | `raft::resources const&` | |
| `new_vectors` | in | `raft::device_matrix_view` | a device matrix view to a row-major matrix [n_rows, idx.dim()] |
| `new_indices` | in | `std::optional>` | a device vector view to a vector of indices [n_rows]. If the original index is empty (`idx.size() == 0`), you can pass `std::nullopt` here to imply a continuous range `[0...n_rows)`. |
-| `idx` | inout | [`cuvs::neighbors::ivf_sq::index*`](/api-reference/cpp-api-neighbors-ivf-sq#cuvs-neighbors-ivf-sq-index) | pointer to ivf_sq::index |
+| `idx` | inout | [`cuvs::neighbors::ivf_sq::index*`](/api-reference/cpp-api-neighbors-ivf-sq#neighbors-ivf-sq-index) | pointer to ivf_sq::index |
**Returns**
`void`
-**Additional overload:** `cuvs::neighbors::ivf_sq::extend`
+**Additional overload:** `neighbors::ivf_sq::extend`
Extend the index with the new data in-place.
@@ -300,13 +300,13 @@ Usage example:
| `handle` | in | `raft::resources const&` | |
| `new_vectors` | in | `raft::host_matrix_view` | a host matrix view to a row-major matrix [n_rows, idx.dim()] |
| `new_indices` | in | `std::optional>` | a host vector view to a vector of indices [n_rows]. If the original index is empty (`idx.size() == 0`), you can pass `std::nullopt` here to imply a continuous range `[0...n_rows)`. |
-| `idx` | inout | [`cuvs::neighbors::ivf_sq::index*`](/api-reference/cpp-api-neighbors-ivf-sq#cuvs-neighbors-ivf-sq-index) | pointer to ivf_sq::index |
+| `idx` | inout | [`cuvs::neighbors::ivf_sq::index*`](/api-reference/cpp-api-neighbors-ivf-sq#neighbors-ivf-sq-index) | pointer to ivf_sq::index |
**Returns**
`void`
-**Additional overload:** `cuvs::neighbors::ivf_sq::extend`
+**Additional overload:** `neighbors::ivf_sq::extend`
Extend the index with the new data in-place.
@@ -326,7 +326,7 @@ Usage example:
| `handle` | in | `raft::resources const&` | |
| `new_vectors` | in | `raft::host_matrix_view` | a host matrix view to a row-major matrix [n_rows, idx.dim()] |
| `new_indices` | in | `std::optional>` | a host vector view to a vector of indices [n_rows]. If the original index is empty (`idx.size() == 0`), you can pass `std::nullopt` here to imply a continuous range `[0...n_rows)`. |
-| `idx` | inout | [`cuvs::neighbors::ivf_sq::index*`](/api-reference/cpp-api-neighbors-ivf-sq#cuvs-neighbors-ivf-sq-index) | pointer to ivf_sq::index |
+| `idx` | inout | [`cuvs::neighbors::ivf_sq::index*`](/api-reference/cpp-api-neighbors-ivf-sq#neighbors-ivf-sq-index) | pointer to ivf_sq::index |
**Returns**
@@ -334,8 +334,8 @@ Usage example:
## IVF-SQ index serialize
-
-### cuvs::neighbors::ivf_sq::serialize
+
+### neighbors::ivf_sq::serialize
Save the index to file.
@@ -353,14 +353,14 @@ Experimental, both the API and the serialization format are subject to change.
| --- | --- | --- | --- |
| `handle` | in | `raft::resources const&` | the raft handle |
| `filename` | in | `const std::string&` | the file name for saving the index |
-| `index` | in | [`const cuvs::neighbors::ivf_sq::index&`](/api-reference/cpp-api-neighbors-ivf-sq#cuvs-neighbors-ivf-sq-index) | IVF-SQ index |
+| `index` | in | [`const cuvs::neighbors::ivf_sq::index&`](/api-reference/cpp-api-neighbors-ivf-sq#neighbors-ivf-sq-index) | IVF-SQ index |
**Returns**
`void`
-
-### cuvs::neighbors::ivf_sq::deserialize
+
+### neighbors::ivf_sq::deserialize
Load index from file.
@@ -378,7 +378,7 @@ Experimental, both the API and the serialization format are subject to change.
| --- | --- | --- | --- |
| `handle` | in | `raft::resources const&` | the raft handle |
| `filename` | in | `const std::string&` | the name of the file that stores the index |
-| `index` | out | [`cuvs::neighbors::ivf_sq::index*`](/api-reference/cpp-api-neighbors-ivf-sq#cuvs-neighbors-ivf-sq-index) | IVF-SQ index |
+| `index` | out | [`cuvs::neighbors::ivf_sq::index*`](/api-reference/cpp-api-neighbors-ivf-sq#neighbors-ivf-sq-index) | IVF-SQ index |
**Returns**
diff --git a/fern/pages/cpp_api/cpp-api-neighbors-nn-descent.md b/fern/pages/cpp_api/cpp-api-neighbors-nn-descent.md
index 1e5eda9894..abbb9cbe58 100644
--- a/fern/pages/cpp_api/cpp-api-neighbors-nn-descent.md
+++ b/fern/pages/cpp_api/cpp-api-neighbors-nn-descent.md
@@ -11,7 +11,7 @@ _Source header: `cuvs/neighbors/nn_descent.hpp`_
### neighbors::nn_descent::DIST_COMP_DTYPE
-Dtype to use for distance computation - `AUTO`: Automatically determine the best dtype for distance computation based on the dataset dimensions. - `FP32`: Use fp32 distance computation for better precision at the cost of performance and memory usage. - `FP16`: Use fp16 distance computation.
+Dtype to use for distance computation
```cpp
enum class DIST_COMP_DTYPE {
@@ -23,16 +23,16 @@ enum class DIST_COMP_DTYPE {
**Values**
-| Name | Value |
-| --- | --- |
-| `AUTO` | `0` |
-| `FP32` | `1` |
-| `FP16` | `2` |
+| Name | Value | Description |
+| --- | --- | --- |
+| `AUTO` | `0` | Automatically determine the best dtype for distance computation based on the dataset dimensions. |
+| `FP32` | `1` | Use fp32 distance computation for better precision at the cost of performance and memory usage. |
+| `FP16` | `2` | Use fp16 distance computation. |
### neighbors::nn_descent::index_params
-Parameters used to build an nn-descent index - `graph_degree`: For an input dataset of dimensions (N, D), determines the final dimensions of the all-neighbors knn graph which turns out to be of dimensions (N, graph_degree) - `intermediate_graph_degree`: Internally, nn-descent builds an all-neighbors knn graph of dimensions (N, intermediate_graph_degree) before selecting the final `graph_degree` neighbors. It's recommended that `intermediate_graph_degree` >= 1.5 * graph_degree - `max_iterations`: The number of iterations that nn-descent will refine the graph for. More iterations produce a better quality graph at cost of performance - `termination_threshold`: The delta at which nn-descent will terminate its iterations - `return_distances`: Boolean to decide whether to return distances array - `dist_comp_dtype`: dtype to use for distance computation. Defaults to `AUTO` which automatically determines the best dtype for distance computation based on the dataset dimensions. Use `FP32` for better precision at the cost of performance and memory usage. This option is only valid when data type is fp32. Use `FP16` for better performance and memory usage at the cost of precision.
+Parameters used to build an nn-descent index
```cpp
struct index_params : cuvs::neighbors::index_params {
@@ -49,12 +49,12 @@ struct index_params : cuvs::neighbors::index_params {
| Name | Type | Description |
| --- | --- | --- |
-| `graph_degree` | `size_t` | |
-| `intermediate_graph_degree` | `size_t` | |
-| `max_iterations` | `size_t` | |
-| `termination_threshold` | `float` | |
-| `return_distances` | `bool` | |
-| `dist_comp_dtype` | [`DIST_COMP_DTYPE`](/api-reference/cpp-api-neighbors-nn-descent#neighbors-nn-descent-dist-comp-dtype) | |
+| `graph_degree` | `size_t` | For an input dataset of dimensions (N, D), determines the final dimensions of the all-neighbors knn graph which turns out to be of dimensions (N, graph_degree) |
+| `intermediate_graph_degree` | `size_t` | Internally, nn-descent builds an all-neighbors knn graph of dimensions (N, intermediate_graph_degree) before selecting the final `graph_degree` neighbors. It's recommended that `intermediate_graph_degree` >= 1.5 * graph_degree |
+| `max_iterations` | `size_t` | The number of iterations that nn-descent will refine the graph for. More iterations produce a better quality graph at cost of performance |
+| `termination_threshold` | `float` | The delta at which nn-descent will terminate its iterations |
+| `return_distances` | `bool` | Boolean to decide whether to return distances array |
+| `dist_comp_dtype` | [`DIST_COMP_DTYPE`](/api-reference/cpp-api-neighbors-nn-descent#neighbors-nn-descent-dist-comp-dtype) | dtype to use for distance computation.
Defaults to `AUTO` which automatically determines the best dtype for distance computation based on the dataset dimensions.
Use `FP32` for better precision at the cost of performance and memory usage. This option is only valid when data type is fp32.
Use `FP16` for better performance and memory usage at the cost of precision. |
### neighbors::nn_descent::index_params::index_params
@@ -70,8 +70,8 @@ cuvs::distance::DistanceType metric = cuvs::distance::DistanceType::L2Expanded);
| Name | Direction | Type | Description |
| --- | --- | --- | --- |
-| `graph_degree` | | `size_t` | output graph degree Default: `64`. |
-| `metric` | | [`cuvs::distance::DistanceType`](/api-reference/cpp-api-distance-distance#distance-distancetype) | distance metric to use Default: `cuvs::distance::DistanceType::L2Expanded`. |
+| `graph_degree` | | `size_t` | output graph degree
Default: `64`. |
+| `metric` | | [`cuvs::distance::DistanceType`](/api-reference/cpp-api-distance-distance#distance-distancetype) | distance metric to use
Default: `cuvs::distance::DistanceType::L2Expanded`. |
**Returns**
@@ -113,8 +113,8 @@ This constructor creates an nn-descent index which is a knn-graph in host memory
| `res` | | `raft::resources const&` | raft::resources is an object managing resources |
| `n_rows` | | `int64_t` | number of rows in knn-graph |
| `n_cols` | | `int64_t` | number of cols in knn-graph |
-| `return_distances` | | `bool` | whether to return distances Default: `false`. |
-| `metric` | | [`cuvs::distance::DistanceType`](/api-reference/cpp-api-distance-distance#distance-distancetype) | distance metric to use Default: `cuvs::distance::DistanceType::L2Expanded`. |
+| `return_distances` | | `bool` | whether to return distances
Default: `false`. |
+| `metric` | | [`cuvs::distance::DistanceType`](/api-reference/cpp-api-distance-distance#distance-distancetype) | distance metric to use
Default: `cuvs::distance::DistanceType::L2Expanded`. |
**Returns**
@@ -140,8 +140,8 @@ This constructor creates an nn-descent index using a user allocated host memory
| --- | --- | --- | --- |
| `res` | | `raft::resources const&` | raft::resources is an object managing resources |
| `graph_view` | | `raft::host_matrix_view` | raft::host_matrix_view<IdxT, int64_t, raft::row_major> for storing knn-graph |
-| `distances_view` | | `std::optional>` | optional raft::device_matrix_view<float, int64_t, row_major> for storing distances Default: `std::nullopt`. |
-| `metric` | | [`cuvs::distance::DistanceType`](/api-reference/cpp-api-distance-distance#distance-distancetype) | distance metric to use Default: `cuvs::distance::DistanceType::L2Expanded`. |
+| `distances_view` | | `std::optional>` | optional raft::device_matrix_view<float, int64_t, row_major> for storing distances
Default: `std::nullopt`. |
+| `metric` | | [`cuvs::distance::DistanceType`](/api-reference/cpp-api-distance-distance#distance-distancetype) | distance metric to use
Default: `cuvs::distance::DistanceType::L2Expanded`. |
**Returns**
@@ -246,7 +246,7 @@ Usage example:
| `res` | in | `raft::resources const&` | raft::resources is an object managing resources |
| `params` | in | [`index_params const&`](/api-reference/cpp-api-neighbors-nn-descent#neighbors-nn-descent-index-params) | an instance of nn_descent::index_params that are parameters to run the nn-descent algorithm |
| `dataset` | in | `raft::device_matrix_view` | raft::device_matrix_view input dataset expected to be located in device memory |
-| `graph` | in | `std::optional>` | optional raft::host_matrix_view<uint32_t, int64_t, raft::row_major> for owning the output graph Default: `std::nullopt`. |
+| `graph` | in | `std::optional>` | optional raft::host_matrix_view<uint32_t, int64_t, raft::row_major> for owning the output graph
Default: `std::nullopt`. |
**Returns**
@@ -288,7 +288,7 @@ Usage example:
| `res` | | `raft::resources const&` | raft::resources is an object managing resources |
| `params` | in | [`index_params const&`](/api-reference/cpp-api-neighbors-nn-descent#neighbors-nn-descent-index-params) | an instance of nn_descent::index_params that are parameters to run the nn-descent algorithm |
| `dataset` | in | `raft::host_matrix_view` | raft::host_matrix_view input dataset expected to be located in host memory |
-| `graph` | in | `std::optional>` | optional raft::host_matrix_view<uint32_t, int64_t, raft::row_major> for owning the output graph Default: `std::nullopt`. |
+| `graph` | in | `std::optional>` | optional raft::host_matrix_view<uint32_t, int64_t, raft::row_major> for owning the output graph
Default: `std::nullopt`. |
**Returns**
@@ -323,7 +323,7 @@ Usage example:
| `res` | in | `raft::resources const&` | raft::resources is an object managing resources |
| `params` | in | [`index_params const&`](/api-reference/cpp-api-neighbors-nn-descent#neighbors-nn-descent-index-params) | an instance of nn_descent::index_params that are parameters to run the nn-descent algorithm |
| `dataset` | in | `raft::device_matrix_view` | raft::device_matrix_view input dataset expected to be located in device memory |
-| `graph` | in | `std::optional>` | optional raft::host_matrix_view<uint32_t, int64_t, raft::row_major> for owning the output graph Default: `std::nullopt`. |
+| `graph` | in | `std::optional>` | optional raft::host_matrix_view<uint32_t, int64_t, raft::row_major> for owning the output graph
Default: `std::nullopt`. |
**Returns**
@@ -365,7 +365,7 @@ Usage example:
| `res` | | `raft::resources const&` | raft::resources is an object managing resources |
| `params` | in | [`index_params const&`](/api-reference/cpp-api-neighbors-nn-descent#neighbors-nn-descent-index-params) | an instance of nn_descent::index_params that are parameters to run the nn-descent algorithm |
| `dataset` | in | `raft::host_matrix_view` | raft::host_matrix_view input dataset expected to be located in host memory |
-| `graph` | in | `std::optional>` | optional raft::host_matrix_view<uint32_t, int64_t, raft::row_major> for owning the output graph Default: `std::nullopt`. |
+| `graph` | in | `std::optional>` | optional raft::host_matrix_view<uint32_t, int64_t, raft::row_major> for owning the output graph
Default: `std::nullopt`. |
**Returns**
@@ -401,7 +401,7 @@ Usage example:
| `res` | in | `raft::resources const&` | raft::resources is an object managing resources |
| `params` | in | [`index_params const&`](/api-reference/cpp-api-neighbors-nn-descent#neighbors-nn-descent-index-params) | an instance of nn_descent::index_params that are parameters to run the nn-descent algorithm |
| `dataset` | in | `raft::device_matrix_view` | raft::device_matrix_view input dataset expected to be located in device memory |
-| `graph` | in | `std::optional>` | optional raft::host_matrix_view<uint32_t, int64_t, raft::row_major> for owning the output graph Default: `std::nullopt`. |
+| `graph` | in | `std::optional>` | optional raft::host_matrix_view<uint32_t, int64_t, raft::row_major> for owning the output graph
Default: `std::nullopt`. |
**Returns**
@@ -444,7 +444,7 @@ Usage example:
| `res` | | `raft::resources const&` | raft::resources is an object managing resources |
| `params` | in | [`index_params const&`](/api-reference/cpp-api-neighbors-nn-descent#neighbors-nn-descent-index-params) | an instance of nn_descent::index_params that are parameters to run the nn-descent algorithm |
| `dataset` | in | `raft::host_matrix_view` | raft::host_matrix_view input dataset expected to be located in host memory |
-| `graph` | in | `std::optional>` | optional raft::host_matrix_view<uint32_t, int64_t, raft::row_major> for owning the output graph Default: `std::nullopt`. |
+| `graph` | in | `std::optional>` | optional raft::host_matrix_view<uint32_t, int64_t, raft::row_major> for owning the output graph
Default: `std::nullopt`. |
**Returns**
@@ -480,7 +480,7 @@ Usage example:
| `res` | in | `raft::resources const&` | raft::resources is an object managing resources |
| `params` | in | [`index_params const&`](/api-reference/cpp-api-neighbors-nn-descent#neighbors-nn-descent-index-params) | an instance of nn_descent::index_params that are parameters to run the nn-descent algorithm |
| `dataset` | in | `raft::device_matrix_view` | raft::device_matrix_view input dataset expected to be located in device memory |
-| `graph` | in | `std::optional>` | optional raft::host_matrix_view<uint32_t, int64_t, raft::row_major> for owning the output graph Default: `std::nullopt`. |
+| `graph` | in | `std::optional>` | optional raft::host_matrix_view<uint32_t, int64_t, raft::row_major> for owning the output graph
Default: `std::nullopt`. |
**Returns**
@@ -523,7 +523,7 @@ Usage example:
| `res` | | `raft::resources const&` | raft::resources is an object managing resources |
| `params` | in | [`index_params const&`](/api-reference/cpp-api-neighbors-nn-descent#neighbors-nn-descent-index-params) | an instance of nn_descent::index_params that are parameters to run the nn-descent algorithm |
| `dataset` | in | `raft::host_matrix_view` | raft::host_matrix_view input dataset expected to be located in host memory |
-| `graph` | in | `std::optional>` | optional raft::host_matrix_view<uint32_t, int64_t, raft::row_major> for owning the output graph Default: `std::nullopt`. |
+| `graph` | in | `std::optional>` | optional raft::host_matrix_view<uint32_t, int64_t, raft::row_major> for owning the output graph
Default: `std::nullopt`. |
**Returns**
diff --git a/fern/pages/cpp_api/cpp-api-neighbors-refine.md b/fern/pages/cpp_api/cpp-api-neighbors-refine.md
index f005e51f1c..763042edb2 100644
--- a/fern/pages/cpp_api/cpp-api-neighbors-refine.md
+++ b/fern/pages/cpp_api/cpp-api-neighbors-refine.md
@@ -39,7 +39,7 @@ Example usage
| `neighbor_candidates` | in | `raft::device_matrix_view` | indices of candidate vectors [n_queries, n_candidates], where n_candidates >= k |
| `indices` | out | `raft::device_matrix_view` | device matrix that stores the refined indices [n_queries, k] |
| `distances` | out | `raft::device_matrix_view` | device matrix that stores the refined distances [n_queries, k] |
-| `metric` | in | [`cuvs::distance::DistanceType`](/api-reference/cpp-api-distance-distance#distance-distancetype) | distance metric to use. Euclidean (L2) is used by default Default: `cuvs::distance::DistanceType::L2Unexpanded`. |
+| `metric` | in | [`cuvs::distance::DistanceType`](/api-reference/cpp-api-distance-distance#distance-distancetype) | distance metric to use. Euclidean (L2) is used by default
Default: `cuvs::distance::DistanceType::L2Unexpanded`. |
**Returns**
@@ -75,7 +75,7 @@ Example usage
| `neighbor_candidates` | in | `raft::device_matrix_view` | indices of candidate vectors [n_queries, n_candidates], where n_candidates >= k |
| `indices` | out | `raft::device_matrix_view` | device matrix that stores the refined indices [n_queries, k] |
| `distances` | out | `raft::device_matrix_view` | device matrix that stores the refined distances [n_queries, k] |
-| `metric` | in | [`cuvs::distance::DistanceType`](/api-reference/cpp-api-distance-distance#distance-distancetype) | distance metric to use. Euclidean (L2) is used by default Default: `cuvs::distance::DistanceType::L2Unexpanded`. |
+| `metric` | in | [`cuvs::distance::DistanceType`](/api-reference/cpp-api-distance-distance#distance-distancetype) | distance metric to use. Euclidean (L2) is used by default
Default: `cuvs::distance::DistanceType::L2Unexpanded`. |
**Returns**
@@ -111,7 +111,7 @@ Example usage
| `neighbor_candidates` | in | `raft::device_matrix_view` | indices of candidate vectors [n_queries, n_candidates], where n_candidates >= k |
| `indices` | out | `raft::device_matrix_view` | device matrix that stores the refined indices [n_queries, k] |
| `distances` | out | `raft::device_matrix_view` | device matrix that stores the refined distances [n_queries, k] |
-| `metric` | in | [`cuvs::distance::DistanceType`](/api-reference/cpp-api-distance-distance#distance-distancetype) | distance metric to use. Euclidean (L2) is used by default Default: `cuvs::distance::DistanceType::L2Unexpanded`. |
+| `metric` | in | [`cuvs::distance::DistanceType`](/api-reference/cpp-api-distance-distance#distance-distancetype) | distance metric to use. Euclidean (L2) is used by default
Default: `cuvs::distance::DistanceType::L2Unexpanded`. |
**Returns**
@@ -147,7 +147,7 @@ Example usage
| `neighbor_candidates` | in | `raft::device_matrix_view` | indices of candidate vectors [n_queries, n_candidates], where n_candidates >= k |
| `indices` | out | `raft::device_matrix_view` | device matrix that stores the refined indices [n_queries, k] |
| `distances` | out | `raft::device_matrix_view` | device matrix that stores the refined distances [n_queries, k] |
-| `metric` | in | [`cuvs::distance::DistanceType`](/api-reference/cpp-api-distance-distance#distance-distancetype) | distance metric to use. Euclidean (L2) is used by default Default: `cuvs::distance::DistanceType::L2Unexpanded`. |
+| `metric` | in | [`cuvs::distance::DistanceType`](/api-reference/cpp-api-distance-distance#distance-distancetype) | distance metric to use. Euclidean (L2) is used by default
Default: `cuvs::distance::DistanceType::L2Unexpanded`. |
**Returns**
@@ -183,7 +183,7 @@ Example usage
| `neighbor_candidates` | in | `raft::device_matrix_view` | indices of candidate vectors [n_queries, n_candidates], where n_candidates >= k |
| `indices` | out | `raft::device_matrix_view` | device matrix that stores the refined indices [n_queries, k] |
| `distances` | out | `raft::device_matrix_view` | device matrix that stores the refined distances [n_queries, k] |
-| `metric` | in | [`cuvs::distance::DistanceType`](/api-reference/cpp-api-distance-distance#distance-distancetype) | distance metric to use. Euclidean (L2) is used by default Default: `cuvs::distance::DistanceType::L2Unexpanded`. |
+| `metric` | in | [`cuvs::distance::DistanceType`](/api-reference/cpp-api-distance-distance#distance-distancetype) | distance metric to use. Euclidean (L2) is used by default