khmer multiprocessing

Outstanding PR for experimenting and eventually finalizing multithreading/processing in khmer.
My understanding was that the GIL doesn't come into play here because there
aren't any python threads or references to python objects, and thus no
python bytecode running through the interpreter; some preliminary
performance profiling seems to indicate that's the case. I could be wrong
though.

On Fri, Oct 24, 2014 at 10:44 AM, Luiz Irber <notifications@github.com>
wrote:

> In lib/hashtable.cc:
>
> >          n_consumed++;
> >      }
> > -
> > +
> > +    for (unsigned int i=0; i<s.length()-_ksize; ++i) {
> > +
> > +    }
> > +    */
> > +    std::vector<HashIntoType> hashes;
> > +    while(!kmers.done()) {
> > +        hashes.push_back(kmers.next());
> > +    }
> > +    #pragma omp parallel
>
> Does OpenMP work without releasing the GIL?
>
> Should the Py_BEGIN_ALLOW_THREADS / Py_END_ALLOW_THREADS be put here or at
> the Python extension? I guess at the Python extension, since the lib is
> Python-independent.
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/ged-lab/khmer/pull/638/files#r19342467>.
>



-- 
Camille Scott

Department of Computer Science and Engineering
Lab for Genomics, Evolution, and Development
Michigan State University

camille.scott.w@gmail.com