graspologic
graspologic copied to clipboard
Parallelize Seedless Procrustes 2^d restarts
Expected Behavior
To the best of my knowledge, nothing in the Seedless Procrustes is parallelized, even under the POT hood (this might need to be double-checked.) This loop: https://github.com/microsoft/graspologic/blob/bbbc68a24ca9e2097575e7f92f809916ea3eeb46/graspologic/align/seedless_procrustes.py#L331-L337 offers a very clear opportunity to sneak in parallelization, which will make it even faster. This is especially key in the context of LDT, where currently it is one of the unparallelized bottlenecks.
Ideally, the PR addressing it would also go into LatentDistributionTest and do the following:
- if workers was provided as an aligner kwarg - pass it down.
- if workers was not provided as an aligner kwarg - take the LDT workers and pass it to Seedless instead.
Actual Behavior
Seedless Procrustes does not use any parallelizing whatsoever.