sklearn Performance Results

Ratios compare Python timings to native implementations using DAAL. (Ratio = DAAL time / Python time.) Benchmark sources are available here.

Variant 1: Xeon, Parallel

Arch = Xeon

Mode = Parallel



Ratio
Prefix intelpython3 stockpython3
Function
Correlation 0.999336 0.020413
Cosine 0.899877 0.033171
Kmeans.fit 0.719729 0.023353
Kmeans.predict 0.975053 0.019425
Linear.fit 0.959801 0.005379
Ridge.fit 0.996001 0.019824
SVM.fit 0.741014 0.002354
SVM.predict 1.045275 0.001674

Environment info

CPUIntel(R) Xeon(R) Platinum 8280 CPU @ 2.70GHz
RAM256 GB DDR4 @ 2666 MHz
OSCentOS Linux release 7.3.1611 (Core)
Kernel3.10.0-514.el7.x86_64

Intel Python and Native

NameVersionBuildChannel
cython0.29.6py36h7b7c402_0intel
daal2019.4intel_243intel
daal4py2019.4py36h7b7c402_6intel
icc_rt2019.4intel_243intel
impi_rt2019.4intel_243intel
intel-openmp2019.4intel_243intel
llvmlite0.27.1py36_0intel
mkl2019.4intel_243intel
mkl_fft1.0.13py36h7b7c402_1intel
mkl_random1.0.4py36h7b7c402_1intel
numba0.42.1np116py36_2intel
numexpr2.6.8py36_2intel
numpy1.16.2py36h7b7c402_0intel
numpy-base1.16.2py36_0intel
python3.6.87intel
rdtsc0.2.1<pip>
scikit-learn0.20.3py36h7b7c402_5intel
scipy1.2.1py36h7b7c402_3intel
tbb2019.6intel_243intel
tbb4py2019.6py36_intel_0intel

Stock Python

NameVersionBuildChannel
Cython0.29.10<pip>
joblib0.13.2<pip>
llvmlite0.29.0<pip>
numba0.44.0<pip>
numexpr2.6.9<pip>
numpy1.16.4<pip>
python3.6.8h0371630_0
rdtsc0.2.1<pip>
scikit-learn0.21.2<pip>
scipy1.3.0<pip>