Pairwise Distance

Pairwise Distance#

2025-10-17

1 min read time

Applies to Linux

#include <cuvs/distance/pairwise_distance.h>

Pairwise Distance#

cuvsError_t cuvsPairwiseDistance(
cuvsResources_t res,
DLManagedTensor *x,
DLManagedTensor *y,
DLManagedTensor *dist,
cuvsDistanceType metric,
float metric_arg
)#

Compute pairwise distances for two matrices.

Usage example:

#include <cuvs/core/c_api.h>
#include <cuvs/distance/pairwise_distance.h>

// Create cuvsResources_t
cuvsResources_t res;
cuvsError_t res_create_status = cuvsResourcesCreate(&res);

// Assume a populated `DLManagedTensor` type here
DLManagedTensor x;
DLManagedTensor y;
DLManagedTensor dist;

cuvsPairwiseDistance(res, &x, &y, &dist, L2SqrtUnexpanded, 2.0);

Parameters:
  • res[in] cuvs resources object for managing expensive resources

  • x[in] first set of points (size n*k)

  • y[in] second set of points (size m*k)

  • dist[out] output distance matrix (size n*m)

  • metric[in] distance to evaluate

  • metric_arg[in] metric argument (used for Minkowski distance)