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§
- GpuBatch
Processor - GPU batch processor for distance calculations.
- GpuConfig
- Configuration for GPU-accelerated operations.
- GpuStats
- Statistics for GPU operations.