[WIP] Introduce DistanceReturnType
Created by: masterleinad
This is taken from https://github.com/ORNL-CEES/DataTransferKit/pull/394.
Currently, I see (averaging 10 runs):
Benchmark | old mean | old stddev | new mean | new stddev |
---|---|---|---|---|
Serial | ||||
BM_construction | 21076407 us (1) | 2664624 us | 20103764 us (1) | 2525733 us |
BM_knn_search | 32912082 us (1) | 941523 us | 34858289 us (1) | 279593 us |
BM_radius_search | 23637181 us (1) | 600557 us | 25678812 us (1) | 1603964 us |
OpenMP | ||||
BM_construction | 3039773 us (1) | 92358 us | 2945699 us (1) | 43125 us |
BM_knn_search | 4748715 us (1) | 65100 us | 4725199 us (1) | 11450 us |
BM_radius_search | 3407838 us (1) | 47874 us | 3473879 us (1) | 14737 us |
Cuda | ||||
BM_construction | 65105 us (10) | 2286 us | 47515 us (15) | 362 us |
BM_knn_search | 280529 us (4) | 113970 us | 124167 us (6) | 13079 us |
BM_radius_search | 80107 us (10) | 14712 us | 101948 us (16) | 23370 us |
CudaUVM | ||||
BM_construction | 207800 us (3) | 3815 us | 235075 us (3) | 24216 us |
BM_knn_search | 234587 us (3) | 1728 us | 386437 us (3) | 123214 us |
BM_radius_search | 106868 us (10) | 15303 us | 112937 us (10) | 21000 us |
with --values=10000000 --queries=1000000
. I also made sure that there are no implicit conversion via aborting in the conversion operator.