cython numpy openmp