FLANN has OpenMP parallelization across the query points. So we could just stack all the query points into a matrix and move along columns of the div matrix, searching all the points against each index one-by-one.
This has probably less memory overhead, doesn't depend on fork() inheritance (so could work on windows), and could simplify a lot of the logic to progressbar callbacks and so on. (Though progressbars across pools will have to stay around for SVM parameter tuning.)
FLANN has OpenMP parallelization across the query points. So we could just stack all the query points into a matrix and move along columns of the div matrix, searching all the points against each index one-by-one.
This has probably less memory overhead, doesn't depend on fork() inheritance (so could work on windows), and could simplify a lot of the logic to progressbar callbacks and so on. (Though progressbars across pools will have to stay around for SVM parameter tuning.)