Skip to content

Add tiled_reduce function with Kernel and ConvertTo abstraction (f16 and f32 impls with hardcoded reduce) #988

@suri-kumkaran

Description

@suri-kumkaran

Add tiled_reduce function with Kernel and ConvertTo abstraction

Description

This issue establishes the core computational pipeline for multi-vector distances (Chamfer/MaxSim). It introduces the tiled_reduce function alongside the Kernel and ConvertTo abstractions to handle chunked processing and type conversion. To establish a working baseline quickly, the final reduction step will be hardcoded directly within the initial f32 and f16 implementations.

Tasks

  • Implement the tiled_reduce function to manage the chunking and routing of vector dimensions, ensuring compatibility with the DistanceFunctionMut trait.
  • Define the Kernel abstraction to serve as the interface for hardware-specific distance calculations.
  • Define the ConvertTo abstraction to manage type conversions seamlessly within the pipeline.
  • Implement the f32 and f16 variants using these abstractions, temporarily hardcoding the reduction logic directly inside these implementations to validate the pipeline.
  • Ensure the resulting implementation functions correctly within the standalone API.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

Status

No status

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions