Open huanglangwen opened 4 years ago
I’m going to create a new subclass of LocalAligner
to parallelize the computation by splitting the reference sequence:
class ParallelLocalAligner: public LocalAligner {
ParallelLocalAligner(std::function lafactory, int nthreads, std::stringview a, std::stringview b);
//lafactory(a,b_piece) -> LocalAligner object
};
Things to do:
-flto
, Og
etc...
There are several parallelization libraries out there. We need to agree on one to avoid conflict.
OpenMP does parallelizations through compiler annotations like:
While TBB does parallelizations by passing function objects (often lambda):
*: the newest GCC on Euler cluster is 6.3.0, need to compile by ourselves if newer than that.
References: