Query encoders get --fp16 during init1, While document encoders get it passed to their encode function2.
On its own this is not an issue, but it makes it more likely for --fp16 to silently get dropped if the developer expects/assumes identical behavior, e.g, UniIR encoders3.
It would be safest to pass it in both places to both encoders and double check the current encoder implementations. It would also require an audit of 2crs were fp16 has been used with encoders that are impacted.
Related issue: #2406