3 ms·
Numpy can be compiled against a multi-threaded BLAS, for example MKL.
by auxym 9y ago
Numpy can be compiled against a multi-threaded BLAS, for example MKL.
- pletnes 9y agoAnaconda python is a great option for exactly that. MKL gives great multicore performance. Many packages, e.g scikit-learn, dask and others, lean on numpy for performance, and are thus much faster.
- milancurcic 9y agoYes it can, in which case you embed OpenMP parallelism in low-level library calls, and is another way to accomplish what the article suggests. But it's still a fine-grained parallelism so numpy can match plain Fortran performance in special cases (and not the other way around).
- santaclaus 9y agoI've seen OpenMP-based, non-BLAS implementations beat out MKL, on Intel hardware nonetheless. We emailed the MKL folks and they just shrugged. :) Don't presume that MKL is the lower limit on performance.