While installing and looking through the mkl-dnn conda package I noticed a dependency on intelpython. Is this strictly necessary? Could this be removed?
We're advising to install mkl-dnn via conda as part of a PyTorch development setup and users might prefer to stick with conda's python distribution.
Intelpython also pulls in various other packages it appears.
+ conda install -y -c intel mkl-dnn
Solving environment: done
## Package Plan ##
environment location: /opt/conda
added / updated specs:
- mkl-dnn
The following packages will be downloaded:
package | build
---------------------------|-----------------
yaml-0.1.6 | intel_10 100 KB intel
sqlite-3.23.1 | intel_0 1.3 MB intel
enum34-1.1.6 | py27_intel_5 56 KB intel
requests-2.18.4 | py27_intel_0 90 KB intel
wheel-0.31.0 | py27_intel_0 61 KB intel
futures-3.2.0 | py27_intel_0 24 KB intel
six-1.10.0 | py27_intel_8 20 KB intel
bzip2-1.0.6 | intel_14 96 KB intel
mkl-dnn-0.14 | intel_1 31.9 MB intel
urllib3-1.22 | py27_intel_0 152 KB intel
pycparser-2.18 | py27_intel_0 167 KB intel
ruamel_yaml-0.11.14 | py27_intel_1 403 KB intel
tk-8.6.4 | intel_26 1.1 MB intel
pyopenssl-17.5.0 | py27_intel_0 76 KB intel
tcl-8.6.4 | intel_19 1.3 MB intel
openmp-2018.0.3 | intel_0 701 KB intel
mkl_fft-1.0.2 |np114py27_intel_0 210 KB intel
zlib-1.2.11 | intel_3 95 KB intel
libffi-3.2.1 | intel_8 38 KB intel
xz-5.2.3 | intel_0 173 KB intel
python-2.7.14 | intel_6 18.4 MB intel
cryptography-2.2.2 | py27_intel_1 1018 KB intel
pip-9.0.1 | py27_intel_0 1.7 MB intel
chardet-3.0.4 | py27_intel_0 173 KB intel
certifi-2018.1.18 | py27_intel_0 143 KB intel
asn1crypto-0.24.0 | py27_intel_1 174 KB intel
numpy-1.14.3 | py27_intel_0 5.8 MB intel
mkl_random-1.0.1 |np114py27_intel_0 368 KB intel
pysocks-1.6.7 | py27_intel_0 21 KB intel
ipaddress-1.0.22 | py27_intel_0 31 KB intel
idna-2.6 | py27_intel_0 122 KB intel
intelpython-2018.0.3 | 0 4 KB intel
cffi-1.11.5 | py27_intel_1 394 KB intel
pyyaml-3.12 | py27_intel_2 369 KB intel
openssl-1.0.2o | intel_0 2.2 MB intel
icc_rt-2018.0.3 | intel_0 9.9 MB intel
------------------------------------------------------------
Total: 78.7 MB
The following NEW packages will be INSTALLED:
icc_rt: 2018.0.3-intel_0 intel [intel]
intelpython: 2018.0.3-0 intel
mkl-dnn: 0.14-intel_1 intel [intel]
openmp: 2018.0.3-intel_0 intel
tcl: 8.6.4-intel_19 intel [intel]
The following packages will be UPDATED:
asn1crypto: 0.24.0-py27_0 --> 0.24.0-py27_intel_1 intel [intel]
bzip2: 1.0.6-h14c3975_5 --> 1.0.6-intel_14 intel [intel]
cffi: 1.11.5-py27h9745a5d_0 --> 1.11.5-py27_intel_1 intel [intel]
cryptography: 2.2.2-py27h14c3975_0 --> 2.2.2-py27_intel_1 intel [intel]
enum34: 1.1.6-py27h99a27e9_1 --> 1.1.6-py27_intel_5 intel [intel]
futures: 3.2.0-py27h7b459c0_0 --> 3.2.0-py27_intel_0 intel [intel]
ipaddress: 1.0.22-py27_0 --> 1.0.22-py27_intel_0 intel [intel]
libffi: 3.2.1-hd88cf55_4 --> 3.2.1-intel_8 intel [intel]
mkl_fft: 1.0.1-py27h3010b51_0 --> 1.0.2-np114py27_intel_0 intel [intel]
mkl_random: 1.0.1-py27h629b387_0 --> 1.0.1-np114py27_intel_0 intel [intel]
openssl: 1.0.2o-h20670df_0 --> 1.0.2o-intel_0 intel [intel]
pyopenssl: 17.5.0-py27hcee3be0_0 --> 17.5.0-py27_intel_0 intel [intel]
pyyaml: 3.12-py27h2d70dd7_1 --> 3.12-py27_intel_2 intel [intel]
sqlite: 3.23.1-he433501_0 --> 3.23.1-intel_0 intel [intel]
urllib3: 1.22-py27ha55213b_0 --> 1.22-py27_intel_0 intel [intel]
wheel: 0.31.0-py27_0 --> 0.31.0-py27_intel_0 intel [intel]
zlib: 1.2.11-ha838bed_2 --> 1.2.11-intel_3 intel [intel]
The following packages will be DOWNGRADED:
certifi: 2018.4.16-py27_0 --> 2018.1.18-py27_intel_0 intel [intel]
chardet: 3.0.4-py27hfa10054_1 --> 3.0.4-py27_intel_0 intel [intel]
idna: 2.6-py27h5722d68_1 --> 2.6-py27_intel_0 intel [intel]
numpy: 1.14.3-py27hcd700cb_1 --> 1.14.3-py27_intel_0 intel [intel]
pip: 9.0.3-py27_0 --> 9.0.1-py27_intel_0 intel [intel]
pycparser: 2.18-py27hefa08c5_1 --> 2.18-py27_intel_0 intel [intel]
pysocks: 1.6.8-py27_0 --> 1.6.7-py27_intel_0 intel [intel]
python: 2.7.14-h1571d57_31 --> 2.7.14-intel_6 intel [intel]
requests: 2.18.4-py27hc5b0589_1 --> 2.18.4-py27_intel_0 intel [intel]
ruamel_yaml: 0.15.35-py27h14c3975_1 --> 0.11.14-py27_intel_1 intel [intel]
six: 1.11.0-py27h5f960f1_1 --> 1.10.0-py27_intel_8 intel [intel]
tk: 8.6.7-hc745277_3 --> 8.6.4-intel_26 intel [intel]
xz: 5.2.4-h14c3975_4 --> 5.2.3-intel_0 intel [intel]
yaml: 0.1.7-had09818_2 --> 0.1.6-intel_10 intel [intel]
@cpuhrsch No, intel-python is not a must dependency. I also would like to install mkl-dnn without such unnecessary dependencies.
the mkl-dnn conda package is prepared by intel-python team. i have been talking to them to remove unnecessary dependencies.
I create a personal channel link before, this one is clean to use. won't install intel-python by default.
@mingfeima - Thank you!
Just as an aside after taking a quick look, does your conda package distribute 0.13? It'd be nice if you could update it to 0.14 if that's the case.
It'd still be nice to have the official package without dependencies on intelpython.
@cpuhrsch will do.
Anyway, current pytorch CPU performance wont be affected by diff of mkldnn 0.13 or 0.14. Since the 0.14 new features have not been integrated to pytorch yet (mostly LSTM/RNN optimization). I am working on this part now.
@cpuhrsch, @mingfeima, the 'intelpython' package, unlike it's name suggest, does not install Intel Python distribution. This is about 4 kilobyte package with a license file. You are right though that it should not be a dependency for Intel MKL-DNN.
Thank you @vpirogov!
The package was recently updated and all the dependencies are now cleaned up.
Most helpful comment
@cpuhrsch will do.
Anyway, current pytorch CPU performance wont be affected by diff of mkldnn 0.13 or 0.14. Since the 0.14 new features have not been integrated to pytorch yet (mostly LSTM/RNN optimization). I am working on this part now.