title: How to easily implement parallel for in python?
body: <p>I'm a C++ guy, I love parallelism, HPC applications and I know OpenMP pretty well. Now I'm learning python and I know the basics.</p>
  
  <p>As a personal project to improve my python skills, I would like to implement a parallel version of the <a href="http://www.cse.iitd.ac.in/~rjaiswal/2015/col870/Project/Nipun.pdf" rel="nofollow noreferrer">Elkan algorithm for k-means</a>. A parallel version implemented with C and OpenMP of this algorithm is <a href="http://www.vlfeat.org/overview/ikm.html#tut.ikm.elkan" rel="nofollow noreferrer">present in VLFeat</a>. </p>
  
  <p>Now, I know how I could easily implement the Elkan algorithm in python...But what about parallelism? The cool thing about OpenMP is that you take serial code, you add <code>#pragma omp parallel for</code> and SBAM, it's parallel!</p>
  
  <p>How can I achieve something similar in python? Or do I have to design the parallel algorithm from the beginning, i.e., not writing the serial version first and then make it parallel, but managing threads explicitly etc (which is an huge pain)?</p>