Module gpu

Module gpu 

Source
Expand description

GPU-accelerated vector operations using CUDA.

This module provides GPU-accelerated distance calculations for large batch queries. It automatically falls back to CPU when GPU is not available or for small batches.

§Features

  • CUDA-accelerated distance metrics (cosine, euclidean, dot product, manhattan)
  • Automatic CPU/GPU dispatch based on batch size
  • Memory management for GPU transfers
  • Batch processing for multiple queries

§Example

use oxify_vector::gpu::{GpuConfig, GpuBatchProcessor};
use oxify_vector::DistanceMetric;

let config = GpuConfig::default();
let processor = GpuBatchProcessor::new(config)?;

let vectors = vec![vec![1.0, 2.0, 3.0], vec![4.0, 5.0, 6.0]];
let queries = vec![vec![1.5, 2.5, 3.5]];

let distances = processor.batch_distance(
    &queries,
    &vectors,
    DistanceMetric::Cosine
)?;

Structs§

GpuBatchProcessor
GPU batch processor for distance calculations.
GpuConfig
Configuration for GPU-accelerated operations.
GpuStats
Statistics for GPU operations.