This library element computes the Euclidean Distance (ED) between two sets of points, P and Q. The Euclidean Distance is the straight-line (L2-norm) distance between a pair of points; for two points of dimension D it is ED = sqrt( (q0-p0)^2 + (q1-p1)^2 + ... + (q(D-1)-p(D-1))^2 ).
One distance value is produced per point pair, so for TP_LEN point pairs the output vector has TP_LEN samples. The Euclidean Distance IP has configurable data type (float or bfloat16), vector length (TP_LEN), point dimension (TP_DIM, 1D to 4D), output mode (distance or squared, via TP_IS_OUTPUT_SQUARED), rounding, and saturation. It is supported on AIE, AIE-ML, and AIE-MLv2 devices and uses the IO-buffer interface.
Template parameters are used to configure the top-level graph of the euclidean_distance_graph class.