pyalign icon indicating copy to clipboard operation
pyalign copied to clipboard

efficient parallel list-list solver

Open bertsky opened this issue 1 year ago • 3 comments

In rapidfuzz there's a cdist function that computes a matrix of alignment scores between each pair of two collections in parallel.

Is there something similar in pyalign, too?

bertsky avatar Oct 25 '22 13:10 bertsky

There's a so-called batch mode, though I need to remind myself how it works. It makes use of SIMD calls to speed up computing multiple alignments at the same time. This is the code at the end of the example notebook - it does not seem to work right now. I need to check.

poke1024 avatar Oct 27 '22 07:10 poke1024

Ok, so in order to utilise multiple cores, I therefore have to wrap the solver (batched or not) in some Pythonic multiprocessing paradigm, right? Since builtin multithreading suffers from GIL and multiprocessing restricts sharing data to pickle-able objects, is there any one you can recommend in particular? (Like builtin concurrent.futures, or Joblib, Ray, MPIRE?)

bertsky avatar Oct 28 '22 19:10 bertsky