diff --git a/ebwt.h b/ebwt.h index c6bef5b..0f8877f 100644 --- a/ebwt.h +++ b/ebwt.h @@ -454,6 +454,7 @@ class Ebwt { int32_t offRate, int32_t isaRate, int32_t ftabChars, + int nthreads, const string& file, // base filename for EBWT files bool __fw, bool useBlockwise, @@ -513,6 +514,8 @@ class Ebwt { refparams, fout1, fout2, + file, + nthreads, useBlockwise, bmax, bmaxSqrtMult, @@ -617,6 +620,8 @@ class Ebwt { const RefReadInParams& refparams, ofstream& out1, ofstream& out2, + const string& outfile, + int nthreads, bool useBlockwise, TIndexOffU bmax, TIndexOffU bmaxSqrtMult, @@ -740,6 +745,7 @@ class Ebwt { // constructing the DifferenceCoverSample dcv <<= 1; TIndexOffU sz = (TIndexOffU)DifferenceCoverSample::simulateAllocs(s, dcv >> 1); + if(nthreads > 1) sz *= (nthreads + 1); AutoArray tmp(sz); dcv >>= 1; // Likewise with the KarkkainenBlockwiseSA @@ -760,7 +766,7 @@ class Ebwt { VMSG_NL(""); } VMSG_NL("Constructing suffix-array element generator"); - KarkkainenBlockwiseSA bsa(s, bmax, dcv, seed, _sanity, _passMemExc, _verbose); + KarkkainenBlockwiseSA bsa(s, bmax, nthreads, dcv, seed, _sanity, _passMemExc, _verbose, outfile); assert(bsa.suffixItrIsReset()); assert_eq(bsa.size(), length(s)+1); VMSG_NL("Converting suffix-array elements to index image");