Skip to content

Complete FP16 (float16) vector support across Lucene #16725

Description

@Pulkitg64

Description

We have been adding FP16 support at various places in Lucene. Listing them below:

I think there are few more places where the Fp16 support is still missing from the main branch. This is an overview issue which tracks all the task where we need to add the support. Listing few tasks below which I am able to identify but there might be more:

  • DiversifyingChildrenFloat16KnnVectorQuery (lucene/join). Parent-block-join diversifying KNN. Float and Byte siblings exist; no fp16 variant.
  • Float16VectorSimilarityQuery (lucene/core). Threshold based vector search. FloatVectorSimilarityQuery and ByteVectorSimilarityQuery exist over AbstractVectorSimilarityQuery but no fp16 subclass.
  • Implement scalar quantization support for FP16 vectors in newly added de-duplicating vector format (Also being tracked as part of Improvements to the sandboxed de-duplicating vector format #16595)
  • PanamaVectorUtilSupport. short[] dotProduct/cosine/squareDistance currently delegate to the scalar implementation (FLOAT16_DELEGATE). SIMD vectorization is not possible today; it depends on a future JDK release adding Float16Vector support.
  • In Faiss codec.

There could be more, so please feel free to add more tasks here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions